在上一篇文章《记一次Linux虚拟机进行磁盘扩展后的扩容操作过程》
后面有网友给出了一个更好的解决方法:使用growpart工具进行热扩容
growpart - extend a partition in a partition table to fill available space
下面介绍一下具体的操作步骤
1、配置yum源,然后yum安装growpart工具
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo yum search growpart yum install cloud-utils-growpart.x86_64
2、使用growpart命令进行分区热扩展
fdisk -l growpart -h growpart /dev/sda 5 lsblk
3、LVM分区与文件系统扩容操作
growpart扩容后只是增加了物理容量,分区和文件系统还不能使用 这时进行LVM分区与文件系统扩容操作
pvdisplay pvresize /dev/sda5 vgdisplay lvextend -l +100%FREE /dev/vg_centos/lv_data lvdisplay lsblk df -PTh xfs_growfs /dev/mapper/vg_centos-lv_data
补充说明:本次在CentOS7中扩容的分区是这块磁盘上的最后一个分区,也就是磁盘扩展后增加的空间是加在磁盘的最后一个分区
所以可以通过growpart工具修改硬盘的分区表,将这部分空间直接append到最后一个分区
所以如果你要扩容的分区在你的系统上并非是磁盘上的最后一个分区的话,可能无法直接无损扩充分区
请谨慎使用此方法进行操作,建议做好数据备份再进行操作