云盘(系统盘或数据盘)使用空间不足时,您可以扩容云盘的存储容量。本文介绍如何在不需要停止实例运行的情况下为Linux系统进行扩容云盘。
前提条件
在Linux实例使用在线扩容云盘前,需要满足以下条件。
资源
限制条件
实例
实例为I/O优化实例。
1. 实例使用的公共镜像需要支持在线扩容功能. 。
2. 不支持以下实例规格:ecs.ebmc4.8xlarge、ecs.ebmhfg5.2xlarge、ecs.ebmg5.24xlarge。
3. 实例状态为运行中(Running)。
4. 实例的Linux内核不低于3.6.0版本。您可以使用uname -a命令查看内核版本。
4. 如果Linux内核低于3.6.0版本,扩容分区操作请参见扩展低内核版本实例的系统盘分区和文件系统和扩展分区和文件系统_Linux数据盘。
说明:如果您的QVM实例不符合在线扩容条件,您可以使用离线扩容云盘功能.
云盘
云盘状态为使用中(In Use)。
云盘类型为ESSD云盘、SSD云盘或高效云盘。
注意 一个已有分区采用了MBR分区格式,则不支持扩容到2 TiB及以上。如果您的MBR分区容量需要扩容到2 TiB以上,建议您先创建一块大于2 TiB的云盘并格式化为GPT分区,再将MBR分区中的数据拷贝到GPT分区中。格式化GPT分区操作,请参见分区格式化大于2 TiB数据盘。
支持在线扩容的操作系统
支持在线扩容的Linux公共镜像(或基于公共镜像制作的自定义镜像)包括:
CentOS:CentOS 6.8 、CentOS 7.2 、CentOS 8及以上版本
Red Hat Enterprise Linux:RHEL 6.9 、RHEL 7.4 、RHEL 8及以上版本
Ubuntu:Ubuntu 16及以上版本
Debian:Debian 8及以上版本
SUSE:SUSE 12 SP2及以上版本
OpenSUSE:OpenSUSE42.3及以上版本
扩容后操作
查看云盘分区情况
进入QVM实例内部,查看系统盘和数据盘的分区类型(MBR和GPT)和文件系统类型(ext4、xfs等)。不同的分区和文件系统,后续扩容分区和文件系统操作中存在差异。
运行以下命令查看实例的云盘情况fdisk -lu
示例以系统盘(/dev/vda1)和数据盘(/dev/vdb1、/vde/vdc1)的三个分区为例,执行结果如下所示。
序号
分区
说明
①
/dev/vda1
系统盘,System取值Linux表示为MBR分区。
②
/dev/vdb1
数据盘,System取值Linux表示为MBR分区。
③
/dev/vdc1
数据盘,System取值GPT表示为GPT分区。
运行以下命令确认已有分区的文件系统类型。df -Th
扩容分区
通过查看云盘分区情况,在QVM实例内分区和文件系统并未扩容。此步骤介绍如何在QVM实例内部扩容云盘分区。
在QVM实例内部,安装gdisk工具。
如果您的分区为GPT格式,必须执行此步骤;如果您的分区为MBR格式,请跳过此步骤。yum install gdisk -y
安装growpart工具。
CentOS 7及以上版本运行以下命令。yum install -y cloud-utils-growpartDebian 9及以上版本、Ubuntu14及以上版本运行以下命令。apt install -y cloud-guest-utils
运行以下命令扩容分区。growpart /dev/vda 1
扩容文件系统
在QVM实例内部,根据查询的文件系统类型,扩容文件系统。
扩容ext*(例如ext4)文件系统:运行以下命令扩容文件系统。
扩容系统盘/dev/vda1的文件系统。
resize2fs /dev/vda1
扩容数据盘/dev/vdb1的文件系统
resize2fs /dev/vdb1
/dev/vda1和/dev/vdb1都是分区名称,您需要根据实际情况修改。
扩容xfs文件系统:运行以下命令扩容文件系统。/media/vdc为/dev/vdc1的挂载点,您需要根据实际情况修改。
xfs_growfs /media/vdc
运行以下命令检查扩容后结果。df -Th