虚拟机系统盘(GPT标准分区)扩容文档
本文主要介绍如何对虚拟机的系统盘(GPT标准分区)进行扩容。假设在虚拟机订购完成后,默认系统盘空间为50G,均挂载在根分区(/)下,然后在控制台上进行系统盘扩容,但是因为操作系统内分区表和文件系统未进行扩容操作,执行df -h会看到根分区仍然只有50G的空间,故需要进行根分区(/)和文件系统的扩容。
说明
此扩容操作涉及到系统盘,若操作有误存在导致操作系统故障的风险,请务必严格按照文档谨慎操作并做好备份操作,建议在虚拟机创建初期,未部署任何应用前进行操作。
前期准备
在待扩容机器上依此执行以下命令检查确认磁盘分区情况
1 | df -h |
例如通过以下结果可知系统盘根分区(/dev/vda4)目前空间只有45.5G(扣除/boot和swap分区),但实际上/dev/vda磁盘有250G的空间,并且根(/)所在分区/dev/vda4为磁盘/dev/vda的最后一个分区(此点必须满足才可以继续下面的步骤)。

那么接下来就是要将系统盘(/dev/vda)的剩余空间全部扩容到根分区中。
操作步骤
扩容根分区
- 通过
parted命令扩容系统盘根分区(/dev/vda4)的大小
1 | # parted <path_to_device> |
说明
help可以查看parted命令帮助
print可以查看当前分区表信息
确认“Partition Table”为gpt再继续后续步骤

通过resizepart命令重置/dev/vda4分区的大小,END参数设置为Disk磁盘大小,将所有剩余空间均分配给/dev/vda4

重置大小后执行quit退出parted
- 执行以下命令重新读取分区表信息
说明
如果机器可以重启建议直接重启机器
1 | partprobe |
- 执行以下命令检查分区扩容情况,可以看到
/dev/vda4的大小已扩容至245.1G
1 | lsblk |

扩容文件系统
- 执行以下命令查看根分区文件系统类型
1 | mount | grep -w / |
- 如果是XFS文件系统执行以下命令扩容
1 | # xfs_growfs <mountpoint> |
- 如果是EXT4文件系统执行以下命令扩容
1 | # resize2fs <path_to_partition> |
- 执行以下命令确认根分区磁盘空间是否扩容成功
1 | df -h |

- (可选)执行以下命令重启虚拟机看是否重启成功,确保扩容没有对操作系统造成影响。
1 | reboot |