对于Linux操作系统,在控制台扩容后,需要将扩容部分的容量划分至原有分区内,或者为扩容部分的云硬盘分配新的分区。
对于扩容前系统盘只有一个分区(例如/dev/vda1)的情况,扩容后,如果重启了云主机实例,则扩容的容量会自动加入到当前分区(/dev/vda1)中,您可以直接使用扩容后的容量。
对于扩容前系统盘存在多个分区(例如/dev/vda1、/dev/vdb2)或者只有一个分区(例如/dev/vda1)但扩容后不重启实例的情况下,您可以参考如下步骤进行操作。
本文以CentOS 7.5 64位操作系统和CentOS 6.5 64位操作系统为例进行介绍。
包括如下任务:
本示例以数据盘“/dev/vda”原有容量40GB,有1个分区“/dev/vda1”为例,将数据盘容量扩大至50GB,将新增的10GB划分至已有的MBR分区“/dev/vda1”内。
登录Linux实例。
运行如下命令,安装growpart扩容工具。
yum install cloud-utils-growpart
如果执行后回显为工具使用介绍,则表示已经安装,无需重复安装。
运行如下命令,查看Linux操作系统内核版本。
uname -a
内核版本不同,需要进行的操作也不同。
当内核版本高于3.6.0时(例如Linux CentOS 7.5 64位系统),不需要重启实例即可完成扩容,具体操作请参见“扩容容量划分至原有分区(高内核版本)”。
高内核版本以Linux CentOS 7.5 64位操作系统为例,回显信息如下:
版本号为3.1.10,高于3.6.0。
当内核版本低于3.6.0时(例如Linux CentOS 6.5 64位系统),需要执行reboot命令重启实例才能完成扩容,具体操作请参见“扩容容量划分至原有分区(低内核版本)。
低内核版本以CentOS 6.5 64位操作系统为例,回显信息如下:
版本号为2.6.32,低于3.6.0。
运行如下命令,查看系统盘“/dev/vda”的总容量。
fdisk -l
回显信息如下,表示“/dev/vda”的总容量已变为扩容后的容量。
运行如下命令,查看系统盘分区“/dev/vda1”的容量和文件系统格式。
df -TH
回显信息如下,表示“/dev/vda1”的容量仍为扩容前的容量,文件系统格式为xfs。
运行如下命令,调用growpart为需要扩容的云硬盘和对应的第几个分区扩容。
growpart [磁盘名称] [分区编号]
本例中,指定系统盘分区“/dev/vda1”。磁盘名称为“/dev/vda”,分区编号为1:
growpart /dev/vda 1
回显信息如下:
对磁盘分区进行扩容。
当文件系统为ext*类型时,运行如下命令:
resize2fs [分区名称]
例如,对/dev/vda1进行扩容:
resize2fs /dev/vda1
当文件系统为xfs类型时,运行如下命令:
xfs_growfs [分区名称]
例如,对/dev/vda1进行扩容:
xfs_growfs /dev/vda1
本示例中,“/dev/vda1”分区的文件系统类型为xfs,回显信息如下,表示扩容完成。
运行“df -TH”命令,查看是否扩容成功。
回显信息如下,“/dev/vda1”分区的容量已变为扩容后的容量,扩容成功。
运行如下命令,重新生成initramfs文件。
dracut -f
运行如下命令,查看系统盘“/dev/vda”的总容量。
fdisk -l
回显信息如下,表示“/dev/vda”的总容量已变为扩容后的容量。
运行如下命令,查看系统盘分区“/dev/vda1”的容量和文件系统格式。
df -TH
回显信息如下,表示“/dev/vda1”的容量仍为扩容前的容量,文件系统格式为ext4。
运行如下命令,调用growpart为需要扩容的云硬盘和对应的第几个分区扩容。
growpart [磁盘名称] [分区编号]
本例中,指定系统盘分区“/dev/vda1”。磁盘名称为“/dev/vda”,分区编号为1:
growpart /dev/vda 1
回显信息如下:
运行reboot命令,重启云主机实例。
重启完成后,重新登录云主机实例,并执行以下操作。
对磁盘分区进行扩容。
当文件系统为ext*类型时,运行如下命令:
resize2fs [分区名称]
例如,对/dev/vda1进行扩容:
resize2fs /dev/vda1
当文件系统为xfs类型时,运行如下命令:
xfs_growfs [分区名称]
例如,对/dev/vda1进行扩容:
xfs_growfs /dev/vda1
本示例中,“/dev/vda1”分区的文件系统类型为ext4,回显信息如下,表示扩容完成。
运行“df -TH”命令,查看是否扩容成功。
回显信息如下,“/dev/vda1”分区的容量已变为扩容后的容量,扩容成功。
将扩容部分的容量格式化为新的MBR分区,相当于在原有磁盘中新建一个MBR分区。
本示例以数据盘“/dev/vda”原有容量40GB,有1个分区“/dev/vda1”为例,将数据盘容量扩大至50GB,将新增的10GB划分至新的MBR分区“/dev/vda2”内。
登录Linux实例。
运行如下命令,查看当前磁盘分区情况。
lsblk
回显信息如下,表示“/dev/vda”的总容量已变为扩容后的容量。
运行如下命令,对新增数据盘执行分区操作。
fdisk [新增数据盘]
以新挂载的数据盘“/dev/vda”为例:
fdisk /dev/vda
回显信息如下:
输入“n”,按“Enter”,创建新的分区。
磁盘有两种分区类型:
"p”表示主分区。
"e”表示扩展分区。
以创建一个主分区为例,输入“p”,按“Enter”,开始创建一个主分区。
输入分区编号。
以分区编号选择“2”为例,输入主分区编号“2”,按“Enter”。
输入新建分区的初始磁柱值,按“Enter”。
系统会自动提示新分区可用空间的起始磁柱值和截止磁柱值,可以输入此区间内的值,或者使用默认值。
以选择默认初始磁柱编号为例,输出如下回显信息:
输入截止磁柱值,按“Enter”。
系统会自动提示新分区可用空间的起始磁柱值和截止磁柱值,可以输入此区间内的值,或者使用默认值。
以选择默认截止磁柱编号为例。输出如下回显信息,表示分区完成,即为10G的扩容容量新建了1个分区。
输入“p”,按“Enter”,查看新建分区的详细信息。
输出如下回显信息,表示新建分区“/dev/vda2”的详细信息。
输入“w”,按“Enter”,将分区结果写入分区表中。
输出如下回显信息。
运行如下命令,将新的分区表同步至操作系统。
partprobe
运行如下命令,格式化文件系统为所需格式。
mkfs -t [文件系统格式] [新建分区]
以文件格式为EXT4为例:
mkfs -t ext4 /dev/vda2
回显信息如下:
如果需要设置为xfs文件系统的,请执行命令:mkfs -t xfs /dev/vda2。