由于目前云服务器 ECS 不支持系统盘或者数据盘缩容,如果您有磁盘缩容的需求,可用通过 阿里云迁云工具 达成目的。
迁云工具的研发初衷是为了平衡阿里云用户的云上及线下业务负载,但是您可以利用其工作原理,绕道实现云服务器 ECS 磁盘缩容。
迁云工具可以根据您的 ECS 实例重新制作一份自定义镜像,在制作过程中通过重新指定磁盘大小,以达到缩容的目的。除了将目标对象换成了 ECS 实例之外,磁盘缩容和迁云这两种场景的工具 使用方法和使用限制 完全一致。甚至因为使用对象为已经虚拟化的 ECS 实例,会更加方便,报错机率更低。
然而,这种缩容方式,会引起原有 ECS 实例的部分属性发生变化,例如,实例 ID(InstanceId
)和 公网 IP。如果您的实例为 专有网络(VPC) 实例,可以将 公网IP转换为弹性公网IP 以保留该公网 IP。因此,建议使用 弹性公网 IP(EIP) 或者对公网 IP 依赖程度较轻的用户使用该方式缩容。
前提条件
- 当磁盘挂载的是 Linux 实例时,您需要预先在实例内安装远程数据同步工具 rsync。
- CentOS 实例:运行
yum install rsync –y
- Ubuntu 实例:运行
apt-get install rsync –y
- Debian 实例:运行
apt-get install rsync –y
- 其他发行版:参考发行版官网安装相关的文档
- CentOS 实例:运行
- 您需要预先在控制台 创建 AccessKey, 用于输出到配置文件 user_config.json 里。
说明 由于 AccessKey 权限过大,为防止数据泄露,建议您 创建 RAM 用户子账号,并使用 RAM 用户子账号 创建 AccessKey。
- 其他更多前提条件和限制条件,请参阅 使用迁云工具迁移服务器至阿里云。
操作步骤
- 使用管理员/root 账号 远程连接 到目标 ECS 实例。
- 下载 阿里云迁云工具 ZIP 压缩包。
- 解压迁云工具,并进入对应操作系统及版本的客户端文件目录找到配置文件 user_config.json。
- 参阅段落 步骤 2:编辑 user_config.json 文件 完成配置。
该配置文件 Linux Shell 显示效果如下图所示。
在磁盘缩容的场景中,您需要重点关注的参数有:
- system_disk_size:该参数可以置为缩容系统盘的预期数值,单位为 GB,该值不能小于系统盘实际使用空间大小。
- data_disks:该参数可以置为缩容数据盘的预期数值,单位为 GB,该值不能小于数据盘实际使用空间大小。
说明- 当 Linux 实例自带数据盘时,即使您不考虑缩容数据盘,也需要配置参数
data_disks
,否则迁云工具默认将数据盘的数据拷贝到系统盘中。 - 当 Windows 实例自带数据盘时,如果没有缩容数据盘的需求,可以不配置参数
data_disks
。
- 执行客户端主程序 go2aliyun_client.exe:
- Windows 实例:右击 go2aliyun_client.exe,选择 以管理员身份运行。
- Linux 实例:
- 运行
chmod +x go2aliyun_client
赋予客户端可执行权限。 - 运行
./ go2aliyun_client
运行客户端。
- 运行
- 等待运行结果:
- 当出现
Goto Aliyun Finished!
提示时,前往 ECS 控制台镜像详情页 查看经过缩容后的自定义镜像。如果自定义镜像已生成,您可以释放原实例,然后使用生成的自定义镜像 创建 ECS 实例,创建完成后,磁盘缩容工作已完成。 - 当出现
Goto Aliyun Not Finished!
提示时,检查同一目录下 Logs 文件夹下的日志文件 排查故障 。修复问题后,重新运行迁云工具即可恢复缩容工作,迁云工具会从上一次执行的进度中继续迁云,无需重头开始。
- 当出现
参考链接
- 关于迁云工具的具体介绍,请参阅 什么是阿里云迁云工具。
- 关于迁云工具的操作说明,请参阅 使用迁云工具迁移服务器至阿里云。