在我的Intranet服务器上,我有一个100.00 GiB分区/ dev / sda5,我用它作为lvm2的物理卷。
我想将lv01降低到大约97吉比特,所以我可以创build约lv02。 3 GiB(我需要它采取lvm快照)。
我到目前为止做了什么:
e2fsck -f /dev/mapper/vg01-lv01 resize2fs /dev/mapper/vg01-lv01 97G
这工作得很好。 但现在我必须跑
lvreduce --size ? /dev/mapper/vg01-lv01
而且我不确定,我必须指定哪个确切的值。 lvreduce
手册页明确警告,生成的大小不能小于文件系统。 我也不想把它做得比它大。 但现在我有不同的数字:
97G
。 df -h
说,它是96 G. df
说,这是100115936 1K块。 我需要为lvreduce
指定lvreduce
?
目前接受的答案提供了一个很好的解决方法。 但是,为了将这些东西整合到实体脚本等中,我通常宁愿使用精确的测量。 或者,也许已经有一个可靠的(!)脚本或工具,一步执行整个resize的过程?
根据我的经验,LVM和resize2fs对于“97G”意思是一样的,所以在两个地方指定相同的大小应该没问题。 然而,我是偏执的,只要有可能,总是使用问题评论中的谜语build议的策略,并调整为比我想要的小一GB,完成我想要的大小的lvresize,然后重新运行resize2fs(没有大小),让它扩大回来填补整个LV。
我认为最好使用–redizeuce / lvresize的–resizefs选项来完成:
-r, --resizefs Resize underlying filesystem together with the logical volume using fsadm(8).
无可否认,这对你现在没有帮助,但可能在将来。