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

那么接下来就是要将系统盘(/dev/sda)的剩余空间全部扩容到根分区中。
操作步骤
安装cloud-utils-growpart
1 | yum install cloud-utils-growpart -y |
扩容根分区
- 使用
growpart命令扩容/dev/sda3分区
1 | # growpart <device> <partition number> |
说明
设备名与分区编号之间要用空格分隔
- 执行以下命令检查分区扩容情况,可以看到
/dev/sda3的大小已扩容至61G
1 | lsblk |

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

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