现有一台Linux云服务器ECS-1,其系统盘为40 GiB,数据盘为70 GiB,已完成格式化分区和挂载文件系统操作。
扩容系统盘和数据盘的操作相似,本文档以扩容数据盘为例,指导您如何扩容云盘。
若在云服务器实例“已停止”状态下扩容云盘,请在重启云服务器实例后执行mount
命令将分区重新挂载到文件系统。
在实例列表扩容
登录云服务器控制台。
在顶部导航栏,选择目标实例所属的项目和地域。
在左侧导航树中单击“实例”。
在“实例”页面,单击目标实例的名称。
单击“云盘”页签。
在目标云盘右侧“操作”列下单击“...>扩容”。
在“扩容云盘”页面,确认当前配置信息,在“新容量”输入框输入70 GiB。
单击“提交订单”。
扩容完成后,单击“去控制台”,在“扩容云盘”页面,单击“下一步”,单击“返回云盘列表”,在云盘列表页面单击目标云盘的名称,即可在“概览”页签下,查看扩容后的云盘容量。
在云盘列表扩容
登录云服务器控制台。
在顶部导航栏,选择目标云盘所属的项目和地域。
在左侧导航树中单击“云盘”。
在云盘列表页面,在目标云盘“操作”列单击“... > 扩容”。
在“扩容”页面,确认当前配置信息,在新容量输入框输入70 GiB。
单击“提交订单”。
扩容完成后,单击“去控制台”,在“扩容云盘”页面,单击“下一步”,单击“返回云盘列表”,在云盘列表页面单击目标云盘的名称,即可在“概览”面板,查看扩容后的云盘容量。
批量扩容云盘时,您可以在云盘列表页面跨实例、跨可用区、跨计费类型、跨系统盘和数据盘、跨云盘规格选择多个云盘进行扩容。
注意
一次最多只能选择50个云盘进行批量扩容。
登录云服务器控制台。
在顶部导航栏,选择目标云盘所属的项目和地域。
在左侧导航树中单击“云盘”。
在“云盘”页面,选择多个云盘,然后在列表底部单击“扩容”。
说明
您也可以在“实例”页面,单击目标实例的名称,单击“云盘”页签,在该页面选中多个云盘,单击“扩容”,批量扩容云盘。在实例页面批量扩容云盘时,只能扩容挂载在该实例下的云盘。
在“批量扩容云盘”页面,您可以在列表的“目标容量”处单独为每一块云盘设置扩容后的容量,也可以在“批量设置扩容后容量”处为所有云盘设置统一容量。
完成设置后,单击“提交订单”。
在“批量扩容云盘”页面,单击“下一步”,单击“返回云盘列表”,在云盘列表页面单击目标云盘的名称,即可在“概览”面板,查看扩容后的云盘容量。
说明
如果批量扩容的云盘中包含包年包月的云盘,单击“提交订单”后,您还需要根据页面指引完成包年包月云盘的支付。
以root用户执行以下命令,查看系统盘和数据盘情况。
fdisk -l
回显类似如下信息。表示当前云服务器有两块磁盘:“/dev/vda” 和“/dev/vdb”。
/dev/vda
是系统盘,存在两个分区/dev/vda1
和/dev/vda2
。其中,/dev/vda1
用于安装操作系统驱动程序等内容,无法扩容。/dev/vdb
是数据盘,存在两个分区/dev/vdb1
和/dev/vdb2
。Disklabel type
取值为dos
,表示为MBR分区。若Disklabel type
取值为gpt
,则表示为GPT分区。执行以下命令,查看已有分区的文件系统类型。
df -Th
回显类似如下信息。其中,Mounted on
表示文件系统的挂载点。
在步骤二的回显信息中,若您的分区类型为GPT,请首先执行yum install gdisk -y
命令,再执行以下步骤。若您的分区类型为MBR,请忽略本步骤,直接执行以下步骤。
说明
MBR格式分区支持的最大云盘容量为2 TiB,如果您已将云盘分区设置为MBR格式,且需要将其扩容超过2 TiB,此时建议您重新创建并挂载一块数据盘,并设置分区形式为GPT,然后将原有数据拷贝至新云盘中。关于分区格式化的详细介绍,请参见分区格式化云盘(大于2TiB)。
根据操作系统的不同,执行以下命令安装growpart工具。
CentOS 7及以上版本:
yum install -y cloud-utils-growpart
Debian 9及以上版本、Ubuntu14及以上版本:
更新apt软件源。
apt-get update
安装cloud-guest-utils工具。
apt-get install -y cloud-guest-utils
执行以下命令扩容vdb2。
说明
vdb1 和 vdb2 之间没有预留磁柱,本次只能扩容最后一个分区,即vdb2。
LC_ALL=en_US.UTF-8 growpart /dev/vdb 2
LC_ALL=en_US.UTF-8
:设置字符编码为UTF-8。/dev/vdb
表示云盘名称。2
表示分区号。/dev/vdb
和2
之间需要有空格。回显信息如下,表示扩容分区成功。
根据文件系统的不同,执行以下命令扩容文件系统。本例为ext4文件系统。
扩容ext*(例如ext4)文件系统,/dev/vdb2
表示需要扩容的分区:
resize2fs /dev/vdb2
扩容xfs文件系统,/media/vdc
表示文件系统的挂载点:
xfs_growfs /media/vdc
回显信息如下,表示扩容文件系统成功。
执行以下命令,查看扩容结果。
df -Th
回显信息如下,表示vdb2扩容成功。
执行 growpart
命令扩容分区报错 failed [pt_update:1]pt_update /dev/vdb 5
怎么办?
针对以上报错,您需要执行 partprobe
命令,重读系统中全部设备的分区表信息,然后再执行 growpart
命令扩容分区。
分区扩容后,执行 df -Th
命令无法看到云盘扩容后的新容量?
如果操作系统内核版本小于 3.6.0,例如 CentOS 6、Debian 7 和 SUSE Linux Enterprise Server 11 SP4 等发行版,则分区扩容的操作需要重启系统后才会生效。
您需要执行 uname -a
命令检查系统内核版本是否小于 3.6.0,如果内核版本小于 3.6.0,执行 reboot
命令重启系统。
在 CentOS 7.X 系统中扩容系统后,使用 fdisk -l
命令查看磁盘分区,发现磁盘分区由原来的 2 个变成 1 个?
扩容系统盘默认使用 GTP 进行分区,由于 fdisk 对 GPT 存在兼容性问题,导致显示异常。
您需要执行 parted <系统盘名称> print
命令,例如 parted /dev/vda print
,然后根据提示两次输入 Fix
命令,即可修复该问题。