0 原盘扩容
适用于磁盘未分区或者标准分区后直接挂载到系统目录, 后续通过云平台等方式扩容磁盘后需要在系统内更新容量的场景
yum install -y cloud-utils-growpart
# 1 代表分区号, 如果是整个盘格式化进行挂载则可以直接尝试 resize2fs 或者 xfs_growfs
growpart /dev/vdb 1
resize2fs /dev/vdb
xfs_growfs /dev/vdb
1 lvm 原盘扩容
与原盘扩容类似, 需要在 lvm 中对 pv 进行容量更新
yum install -y cloud-utils-growpart
# 1 代表分区号, 如果整盘作为 pv, 直接跳过此步骤即可
growpart /dev/vdb 1
pvresize /dev/vdb1
vgdisplay
lvextend -l +100%FREE /dev/mapper/vg_home-lv_home
lvextend -L +100G /dev/mapper/vg_home-lv_home
# ext4
resize2fs /dev/mapper/vg_home-lv_home
# xfs
xfs_growfs /dev/mapper/vg_home-lv_home
2 lvm 新加盘扩容
最常见也是最合理的扩容方式
pvcreate /dev/vdc1
vgextend vg_home /dev/vdc1
lvextend -l +100%FREE /dev/mapper/vg_home-lv_home
lvextend -L +100G /dev/mapper/vg_home-lv_home
# ext4
resize2fs /dev/mapper/vg_home-lv_home
# xfs
xfs_growfs /dev/mapper/vg_home-lv_home
3 常见问题
partprobe
如果遇到报错 Error: The backup GPT table is not at the end of the disk 参考
umount 无法卸载
umount /data
lsof +D /data
ps -elf | grep -v grep | grep " /data"
# 如果无进程占用仍 busy 状态则查看是否有 nfs 进程
umount /data
lvm 命令卡死, 有如下输出, 删除 /run/lock/lvm/
下的文件即可, 参考
Giving up waiting for lock.
Can't get lock for vg_home
Cannot process volume group vg_home
以上.