虚拟机系统盘(MBR标准分区)扩容文档

本文主要介绍如何对虚拟机的系统盘(MBR标准分区)进行扩容。假设在虚拟机订购完成后,默认系统盘空间为50G,均挂载在根分区(/)下,然后在控制台上进行系统盘扩容,但是因为操作系统内分区表和文件系统未进行扩容操作,执行df -h会看到根分区仍然只有50G的空间,故需要进行根分区(/)和文件系统的扩容。

说明
此扩容操作涉及到系统盘,若操作有误存在导致操作系统故障的风险,请务必严格按照文档谨慎操作并做好备份操作,建议在虚拟机创建初期,未部署任何应用前进行操作。

前期准备


在待扩容机器上依此执行以下命令检查确认磁盘分区情况

1
2
3
df -h
lsblk
fdisk -l

例如通过以下结果可知系统盘根分区(/dev/sda3)目前空间只有41G(扣除/bootswap分区),但实际上/dev/sda磁盘有64G的空间,并且根(/)所在分区/dev/sda3为磁盘/dev/sda的最后一个分区(此点必须满足才可以继续下面的步骤)。

那么接下来就是要将系统盘(/dev/sda)的剩余空间全部扩容到根分区中。

操作步骤


安装cloud-utils-growpart

1
yum install cloud-utils-growpart -y

扩容根分区

  1. 使用growpart命令扩容/dev/sda3分区
1
2
# growpart <device> <partition number>
growpart /dev/sda 3

说明
设备名与分区编号之间要用空格分隔

  1. 执行以下命令检查分区扩容情况,可以看到/dev/sda3的大小已扩容至61G
1
lsblk

扩容文件系统

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

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