本文主要介绍如何通过批量作业功能,在不登录、不重启实例情况下,批量进行云盘分区与文件系统扩容操作。
操作场景
随着业务发展和应用数据增长,当前现有的云盘容量已不足以存储庞大的业务数据,您可以通过云盘扩容功能,在不失去已有数据的基础上扩展云盘容量。通过批量作业功能,可以帮助您无需进入实例内部,批量、快速完成文件系统与分区扩容操作。
注意事项
本实践提供的扩容脚本,仅支持扩容MBR
类型的磁盘分区与其中的ext4
文件系统,您可以根据查看分区和文件系统情况指引,确认实例挂载的磁盘分区类型与文件系统信息。
前提条件
操作步骤
步骤一:扩容云盘
- 登录云服务器控制台。
- 在顶部导航栏,选择目标实例所属的项目和地域。
- 在实例列表页面中,单击目标实例的名称,进入实例详情页面。
- 选择“云盘”页签。
- 单击目标云盘右侧“操作”列“...>扩容”按钮。
- 在“扩容云盘”页面,确认当前配置信息,在“新容量”输入框输入扩容后云盘容量信息,本例扩容至60 GiB。
- 单击“提交订单”按钮,提交扩容申请。
- 在控制台扩容完成后,您还需根据下文指引,完成分区与文件系统扩容操作。
步骤二:创建扩容命令
登录云服务器控制台。
在左侧导航树选择“运维与监控 > 批量作业”,进入作业管理页面。
在顶部导航栏中选择您业务所在的地域。
选择“自定义命令”页签,进入自定义命令列表页面。
单击“创建自定义命令”按钮,进入创建自定义命令页面。
根据指引填写如下任务信息。
本例仅说明必要参数,其余参数均保持默认值即可,完整参数说明可查看创建自定义命令。
参数名 | 说明 | 取值样例 |
---|
命令名称 | 设置命令名称。 | 扩容分区与文件系统 |
命令类型 | 请选择“Shell”。 | Shell |
命令内容 | 请完整复制并填入如下脚本内容。 #!/bin/bash
set -x
# 检查是否已经安装了growpart命令
CHECK_STATUS=$(yum versionlock status)
if [[ -z CHECK_STATUS ]];then
INSTALL_GROW_PART=$(yum install -y cloud-utils-growpart)
if [[ $? -ne 0 ]]; then
echo 'install cloud-utils-growpart failed'
exit 0
fi
fi
# 扩容指定分区
LC_ALL=en_US.UTF-8 growpart {{volume}} {{partitionNumber}}
if [[ $? -ne 0 ]]; then
echo 'growpart failed'
exit 0
fi
# 根据文件系统类型,同步文件系统到内核
resize2fs {{volume}}{{partitionNumber}}
if [[ $? -ne 0 ]]; then
echo 'resize2fs failed'
exit 0
fi
# 查看结果
df -Th
| - |
使用参数 | 请勾选“开启”,使用自定义参数。 | - |
单击“确定”按钮,保存自定义命令。
步骤三:扩容分区与文件系统
登录云服务器控制台。
在左侧导航树选择“运维与监控 > 批量作业”,进入作业管理页面。
在顶部导航栏中选择您业务所在的地域。
选择“作业管理”页签,单击“创建作业”按钮,进入创建任务页面。
根据指引填写如下任务信息。
本例仅说明必要参数,其余参数均保持默认值即可,完整参数说明可查看创建作业。
参数 | 说明 | 取值样例 |
---|
作业名称 | 设置任务名称。 | 扩容云盘分区与文件系统 |
命令类型 | 选择自定义命令。 | - |
命令 | 请选择步骤二中创建的扩容命令。 | 扩容分区与文件系统 |
参数 | 请填写待扩容分区与文件系统的信息。 volume :请填写磁盘分区,例如/dev/vdb 。partitionNumber :请填写磁盘分区编号,例如1 。
| - |
执行对象 | 选择挂载了目标云盘的实例。 | - |
单击“确认”按钮完成任务创建。
任务创建成功后将自动跳转至任务管理页面,并立即开始执行。
查看扩容结果
- 登录云服务器控制台。
- 在左侧导航树选择“运维与监控 > 批量作业”,进入作业管理页面。
- 在顶部导航栏中选择您业务所在的地域。
- 选择“作业管理”页签,在作业列表查找目标作业。
- 单击目标作业名称或“执行对象”列的数字打开作业详情页。
- 选择“执行对象”页签,查看各实例执行命令结果。
- 当作业状态为执行成功时,请单击目标实例名称左侧按钮,查看目标分区信息。
回显信息如下,表示/dev/vdb1
成功扩容至60GiB。