![LVM 卷的大小是如何计算的?](https://linux22.com/image/118386/LVM%20%E5%8D%B7%E7%9A%84%E5%A4%A7%E5%B0%8F%E6%98%AF%E5%A6%82%E4%BD%95%E8%AE%A1%E7%AE%97%E7%9A%84%EF%BC%9F.png)
今天我正在配置 kickstart,当我尝试设置 LVM 大小时,Anacond 抗议说没有可用空间来创建具有 VG 大小的 LVM。好吧,我可以发现 --grow 选项可以在没有提示的情况下继续安装来解决这个问题,但我需要知道如何计算正确的 VG 大小来对我的 LVM 进行分组?我只是可以看到 AIX 系统中的相关内容,但我认为这与我的问题无关,而且这不是一个错误。
错误: 存储配置失败:('新 lv 太大,无法容纳可用空间','vg00')
错误的配置:
part /boot --fstype="xfs" --ondisk=vda --size=500
part pv.01 --fstype="lvmpv" --ondisk=vda --size=9500 --grow
volgroup vg00 --pesize=4096 pv.01
logvol / --fstype="xfs" --size=9000 --name=root --vgname=vg00
logvol swap --fstype="swap" --size=250 --name=swap --vgname=vg00
logvol /home --fstype="xfs" --size=250 --name=home --vgname=vg00
正确的配置:
part /boot --fstype="xfs" --ondisk=vda --size=500
part pv.100 --fstype="lvmpv" --ondisk=vda --size=9739
volgroup vg00 --pesize=4096 pv.100
logvol swap --fstype="swap" --size=250 --name=swap --vgname=vg00
logvol /home --fstype="xfs" --size=250 --name=home --vgname=vg00
logvol / --fstype="xfs" --size=9000 --name=root --vgname=vg00
当我在分区中使用 --grow 选项时,kickstart 使用上面的配置创建一个 anaconda-ks.cfg ,我只是无法理解 size=14079 是如何计算的。原始的-ks.cfg 有选项 --grow ;)
有人可以提供有关 LVM 数学的想法吗?
谢谢
答案1
我有一个类似的问题(如何计算 Linux 物理卷和卷组元数据开销?)而答案却出奇地简单。
我尝试在任何地方不使用 --grow 标志的情况下进行手动分区,Anaconda 错误地报告我缺少超过 700 MiB。
使用 pvdisplay,我注意到分区上有 4 MiB 的不可用空间,因此我只是将其中一个逻辑卷的大小减小了 4 MiB。之后就安装成功了。
答案2
part pv.01 --fstype="lvmpv" --ondisk=vda --size=9500 --grow
# Size = 9500
volgroup vg00 --pesize=4096 pv.01
# Using 4096
logvol / --fstype="xfs" --size=9000 --name=root --vgname=vg00
从技术上讲,您定义了 9500,然后保留了 4096,然后预期大小为 9000。
如果您将 9000 减少到 (9500-4096),它就会起作用,或者如果您指定 (9500+4096) 而不是 9500,它就会起作用。
当你让 anaconda 计算出来时,它得出的数字略大于(9500+4096),可能是因为一些舍入(保守方法)或者可能是由于增长选项。