如何自动调整逻辑卷大小以适应文件系统?
答案1
要增加文件系统的大小,必须首先增加逻辑卷容器,然后增加其中的文件系统的大小。当减小文件系统的大小时,会缩小周围的逻辑卷最后的。
lvextend
可以使用该选项来实现扩展逻辑卷和包含的文件系统的快捷方式--resizefs
。例如,假设您有一个包含 1000 个盘区的逻辑卷,您希望将其增长到 1600 个盘区,然后扩展其中的文件系统;做:
lvextend -l 1600 --resizefs /dev/vg01/lvol1
这会将逻辑卷大小增加到总共 1600 个扩展,然后增加与其关联的文件系统。无需卸载文件系统即可执行此操作。
为了缩小文件系统的大小,您必须首先卸载它并fsck
卸载它。然后,减小尺寸文件系统首先,缩小周围逻辑卷容器的大小。用于tune2fs
确定文件系统的“块大小”。将块大小值乘以您希望最终逻辑卷包含的物理盘区数,并将该乘积用作 的参数resize2fs
。例如,如果块大小为 4096,而逻辑卷中所需的最终物理盘区数为 1200,则乘积为 4915200(块)。因此:
umount /myfs
e2fsck -f /dev/vg01/lvol1
resize2fs /dev/vg001/lvol1 4915200
lvreduce -l 1200 /dev/vg01/lvol1
[ respond "y" when asked if you really want to reduce it ]
答案2
JR弗格森提供了一个很好的答案。我认为OP正在寻找这样的东西:
lvextend -l+100%FREE /dev/path/to/your/logical/volume
能够以相对方式引用可用空间比手动计算块数更方便。欲了解更多信息,您可以查看lvextend 的手册页或任何其他lvm2命令。
答案3
另一种较慢的减少选项:
- 将文件系统大小调整为小于预期(但仍然足够大以包含现有数据)
sudo resize2fs /dev/mapper/LVM--vg-root 19G
- 将 lv 减小到预期大小
sudo lvreduce -L 20G /dev/mapper/LVM--vg-root
- 然后扩展文件系统以填充可用空间
sudo resize2fs /dev/mapper/LVM--vg-root
编辑 我自己就这样做了,最终调整大小花了不到一秒的时间,所以可能不会更慢