使用-r
参数可以自动在线扩容分区,不需要卸载磁盘分区(中断业务):
lvextend -r -L 10G /mnt/abc
注意: 这种方式在
ArchLinux
上就报错了,错误信息如下:
$ sudo lvextend -L+200G -r /dev/mapper/vgdata-lvmedia01
Size of logical volume vgdata/lvmedia01 changed from 400.00 GiB (102400 extents) to 600.00 GiB (153600 extents).
File system xfs found on vgdata/lvmedia01 mounted at /docs/ebooks.
Extending file system xfs to 600.00 GiB (644245094400 bytes) on vgdata/lvmedia01...
/usr/libexec/lvresize_fs_helper: execvp failed: 没有那个文件或目录
Failed to extend file system with lvresize_fs_helper.
File system extend error.
Logical volume vgdata/lvmedia01 successfully resized.
首先是找不到/usr/libexec/lvresize_fs_helper
这个命令工具,不知道为什么没有这个命令,对于这种情况就只好看手工扩容操作了。
通常情况下LMV可以自动生效扩容,但像ArchLinux系统在执行自动扩容时会报错,只能手动生效在线扩容操作。
对于不同文件系统类型的在线扩容命令不一样,具体需要的安装报可以看这里 Types-of-file-systems进行了解。
下面列举了几个常见的文件系统类型的工具命令:
File System | Utility Tool | Grow | Shrink |
---|---|---|---|
*XFS* | xfs_growfs | Online | Not supported |
*Btrfs* | btrfs filesystem resize | Online | Online |
*Ext2* | resize2fs | Online/Offline | Offline only |
*Ext3* | resize2fs | Online/Offline | Offline only |
*Ext4* | resize2fs | Online/Offline | Offline only |
提示:
online
含义是支持在线扩容(不需要卸载文件系统就可以实时扩容)。
下面是几个命令示例:
# ext2/3/4 文件系统
sudo resize2fs /docs/ebooks
# xfs 文件系统
sudo xfs_growfs -d /docs/ebooks
# btrfs 文件系统
sudo btrfs filesystem resize max /docs/ebooks
扩容其实很简单,但要记住合理分配空间,否则想要缩减存储空间就要面临数据丢失的风险了。