当我使用 LVM 对一个或多个存储进行分区时,我注意到它默认使用 4 MiB' 块(物理范围),而存储本身通常每个扇区使用 512 字节。
我相信如果我将 LVM 分区对齐到 4 MiB,这应该不是问题,但是无论它们是什么大小,它在运行时总是会显示一些“不可用”的大小pvdisplay
:
--- Physical volume ---
PV Name /dev/sda2
VG Name xpto
PV Size 17.00 GiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 4351
Free PE 0
Allocated PE 4351
PV UUID xxxxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxxxx
但即使我重新分配 PV 以匹配大小减去不可用的大小,它也会减少总 PE 并且仍然有剩余的不可用大小。甚至使用pvdisplay --unit B
来查看确切的数字。
我想知道 LVM 标头的确切大小是多少,我读了一些文本,认为它将是 4 个 512 字节的扇区,其他人说它是 180 KiB,但我尝试了所有组合,但无法发现它是如何计算出来的。
有没有办法对齐 PV 分区以将不可用的大小归零,或者至少减少到最小?
对于那些扇区大小为 4K 的设备,您的设备可能永远不会不对齐,但对于那些有 512 字节的设备,您应该对齐分区的第一个扇区以匹配一个可被 4096 字节整除的扇区,在这种情况下,可被 8 整除(4096/512),但请记住,它从零开始。