云盘扩展容量后,需扩容分区与文件系统才可使用新增容量空间。由于云盘不可缩容,请在操作前充分评估业务容量需求。
扩容流程
云盘扩容主要包含两个步骤:
扩展云盘容量:在ECS控制台购买扩容空间。这类似于买了更大的硬盘,但还没装进电脑。支付成功不代表扩容结束。
扩容分区与文件系统:在服务器操作系统里“激活”新空间。 相当于进入电脑系统,让系统识别并使用这块新硬盘的空间。
步骤一:扩展云盘容量
前提条件
请确保满足以下任一条件:
云盘已挂载到ECS实例,需要确保实例未过期,且实例状态为运行中(Running)或已停止(Stopped)。
云盘状态为待挂载(Available)。
操作步骤
访问ECS控制台-块存储-云盘。在页面左侧顶部,选择目标资源所在的资源组和地域。
单击目标云盘操作列中的扩容。
强烈建议提前为云盘创建快照备份数据,避免扩容时误操作导致数据丢失,在确定目标盘与须知页面核实信息后,单击创建快照,设置快照名称和保留时间后单击确认。
重要使用快照会产生费用。
创建快照期间无法继续扩容,请等待快照创建完成,刷新页面。当是否支持扩容列变为是后,单击已知晓并备份,继续扩容。
快照创建时长受到数据量和带宽等因素影响,可访问ECS控制台-快照,在目标快照的进度列中查看进度。
在配置扩容方式与容量向导页面,设置扩容参数并确认费用后,单击扩容。
重要扩展云盘容量时会收取新增容量的费用。
参数
说明
扩容后的容量
扩容后容量不允许小于当前容量。
扩容方式
在线扩容(推荐):扩展容量后无需重启实例,修改后的容量直接生效。
离线扩容:云盘处于待挂载状态、实例处于已停止状态或部分实例规格仅支持离线扩展容量。
(条件必选)若为包年包月云盘,请在支付弹框中等待5秒倒计时结束后,单击确认,去支付,完成支付后返回扩容流程,单击已完成支付,关闭。
如果未完成支付,但单击了已完成支付,关闭,无法继续进行扩容操作,需要单击操作列的查看关联订单,完成支付后返回扩容流程。
在确认扩展容量结果页面,当扩展容量完成列显示为成功后,还需扩容分区及文件系统,才可正常使用新增容量。
步骤二:扩容分区及文件系统
前提条件
操作步骤
在完成云盘容量扩展后,需要扩容分区和文件系统方可使用新增的容量。阿里云提供了两种方式:
通过控制台扩容(推荐):在控制台利用云助手进行扩容,无需手动输入命令,操作便捷。
通过命令行扩容:登录实例手动输入命令来执行扩容。该方式操作性强,适用范围广泛。
通过控制台扩容(推荐)
通过命令行扩容
扩容分区
请先在实例详情页面中查看操作系统版本,CentOS 6及以下、OpenSUSE 42.3、Debian 8及以下版本,请通过离线扩容分区和文件系统方式操作。
登录ECS实例。
访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。
进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。根据页面提示登录,进入终端页面。
执行分区扩容。
运行
sudo lsblk
,确认待扩容云盘设备名称及分区编号。$ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 50G 0 disk ├─vda1 253:1 0 2M 0 part ├─vda2 253:2 0 200M 0 part /boot/efi └─vda3 253:3 0 39.8G 0 part / vdb 253:16 0 40G 0 disk /data
如果待扩容云盘不存在分区,则无需扩容分区,可直接扩容文件系统。示例中数据盘
vdb
不存在分区,无需扩容分区。如果待扩容云盘容量大于分区总容量,需要扩容分区。示例中系统盘
vda
容量为50GiB,存在三个分区,分区总容量为40GiB,需对最后一个编号为3的分区vda3扩容。重要仅支持对单块云盘的最后一个分区扩容。
常用设备命名及分区格式如下:
设备类型
设备名称
分区编号
非NVMe协议云盘
格式为
vd[a-z]
,如vda
(系统盘),vdb
,vdc
等,适用于大多数云盘和本地盘设备。格式为
vd[a-z]<分区编号>
,如vda3
分区编号为3。NVMe协议云盘
格式为
nvmeXn1
,如nvme0n1
,nvme1n1
,nvme2n1
等。格式为
nvmeXn1p<分区编号>
,如nvme0n1p1
分区编号为1。
执行分区扩容指令。
将命令中的
<设备名称>
与<分区编号>
调整为步骤a中获取到的设备名称与分区编号后执行命令。重要请注意,设备名称和分区编号之间有空格。
sudo LC_ALL=en_US.UTF-8 growpart /dev/<设备名称> <分区编号>
当回执内容中包含关键字
CHANGED
,表示指令执行成功。若执行失败可通过运行growpart命令时的常见问题定位并修复问题。命令中的
LC_ALL=en_US.UTF-8
是用于适配中文系统编码的环境变量。
校验分区扩容结果。
运行
sudo lsblk
命令,若分区总量等于设备容量,示例中设备vda
容量大小与分区总量都为50GiB,表明分区扩容完成。接下来需要扩容文件系统,才能使新增空间可用。$ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 50G 0 disk ├─vda1 253:1 0 2M 0 part ├─vda2 253:2 0 200M 0 part /boot/efi └─vda3 253:3 0 49.8G 0 part / vdb 253:16 0 40G 0 disk /data
扩容文件系统
运行命令
sudo lsblk -f
,记录待扩容云盘的目标设备名称、文件系统类型和挂载目录,后续执行扩容文件系统指令时需要使用。$ sudo lsblk -f NAME FSTYPE LABEL UUID MOUNTPOINT vda ├─vda1 ├─vda2 vfat 7938-FA03 /boot/efi └─vda3 ext4 root 33b46ac5-7482-4aa5-8de0-60ab4c3a4c78 / vdb ext4 3d7a3861-da22-484e-bbf4-b09375894b4f /data
如果设备存在分区,目标设备名称为最后一个分区名称。示例中系统盘
vda
目标设备名称为vda3
,文件系统类型为ext4
,挂载目录为/
。如果设备不存在分区,目标设备名称与设备名称一致。示例中数据盘
vdb
目标设备名称为vdb
,文件系统类型为ext4
,挂载目录为/data
。
执行扩容文件系统。
检查文件系统扩容是否成功。
运行
sudo df -Th
,确认文件系统大小(回执中Size
字段对应的值)是否与云盘容量基本一致。文件系统创建时会占用部分容量用于存储元数据,因此文件系统大小可能小于控制台容量。
计费说明
扩展云盘容量时会收取新增容量的费用,计费方式和原云盘一致。
包年包月云盘:容量扩展成功后,将立即以新容量进行计费。按剩余时长补足新旧容量差额费用。
差额费用=包月价格/30天*剩余时长*新增容量。
剩余时长单位为天,数值精确到秒。
按量付费云盘:容量扩展成功后,将立即按新容量进行计费。计费时长以小时为单位折算,下一小时将生成当前小时的消费明细。
如果已购买存储容量单位包SCU,可自动抵扣按量付费云盘账单。更多信息,请参见块存储计费。