我有以下配置:
PV VG Fmt Attr PSize PFree Used
/dev/sda3 fedora00 lvm2 a-- 222.37g 0 222.37g
/dev/sdb1 vg0 lvm2 a-- <5.46t 0 <5.46t
/dev/sdc1 vg0 lvm2 a-- <3.64t 3.29g <3.64t
/dev/sdd1 vg0 lvm2 a-- <465.76g 0 <465.76g
/dev/sde1 vg0 lvm2 a-- <465.76g 0 <465.76g
/dev/sdf1 vg0 lvm2 a-- <465.76g 0 <465.76g
问题是我想删除/dev/sdf1。当我执行 pvmove 时,它说没有足够的范围。有些事情并没有加起来,因为组中有很多“自由”空间 -
/dev/mapper/vg0-personal 10793808 3037966 7293737 30% /personal
谷歌告诉我方法是 pvmove 然后 vgreduce 但我对这些还不太了解。我如何告诉它移动该驱动器上的任何数据并停用它?
谢谢
答案1
当我执行 pvmove 时,它说没有足够的范围。
好吧,没有,文件系统中的可用空间不算在内。
/dev/mapper/vg0-personal 10793808 3037966 7293737 30% /personal
这是一个10793808
大的文件系统块,3037966
已使用的块、7293737
空闲的块、30%
已使用的块。因此存在可用空间,但那是文件系统可用空间,而不是 LVM 可用空间。
文件系统的块仍然10793808
很大,这将是 LV 有多大/dev/mapper/vg0-personal
以及 LV 在 LVM 中至少占用多少空间(除非您使用精简配置等特殊功能)。
您似乎还有几个这样的 LV,因此您的 VG 几乎已满:
PV VG Fmt Attr PSize PFree Used /dev/sdc1 vg0 lvm2 a-- <3.64t 3.29g <3.64t /dev/sdf1 vg0 lvm2 a-- <465.76g 0 <465.76g
您的/dev/sdf1
容量约为 465G (PSize),唯一具有非 0 可用空间的 PV/dev/sdc1
仅约为 3G (PFree)。因此,该 VG 中几乎没有可用空间。为了删除/dev/sdf1
,您必须以某种方式释放另外约 462G 的空间。
如果文件系统中有可用空间,那就太好了,但 LVM 并不关心这一点。 LVM 关心它管理的逻辑卷/块设备的大小,而不是您决定在这些块设备上存储的任何内容。
因此,为了继续,您必须缩小文件系统,或者完全删除文件系统,或者切换到精简配置(在很多方面都有风险),或者决定保持原样而不删除驱动器。
无论如何,请确保对数据进行良好的备份。
答案2
要扩展frostschutz答案,您在文件系统而不是卷组中有可用空间,要将其移动,您需要执行类似以下操作(我在调整大小时留下了很大的余量,可能不是严格必要的,但最好犯错误由于舍入误差,保留可用空间的一侧比将卷剪得太短,这些步骤还假设您使用的是 ext2/3/4 系列文件系统
umount /personal
resize2fs /dev/mapper/vg0-personal 400G
lvresize /dev/mapper/vg0-personal -l 410g
(lvresize 上的小写 g 很重要,如果您使用大写 G,则 lvresize 将采用十进制千兆字节)
不幸的是,我认为你不能在没有停机的情况下做到这一点,ext 文件系统支持在线增长,但我不认为它们支持在线收缩。
然后,您应该拥有移除驱动器所需的可用空间。