由于目前云服务器ECS不支持系统盘或者数据盘缩容,如果您有云盘缩容的需求,可用通过阿里云迁云工具达成目的。

前提条件

在开始本教程前,请确认您已完成以下操作:
  • 当云盘挂载的是Linux实例时,您需要预先在实例内安装远程数据同步工具rsync。
    • CentOS实例:运行yum install rsync –y
    • Ubuntu实例:运行apt-get install rsync –y
    • Debian实例:运行apt-get install rsync –y
    • 其他发行版:参考发行版官网安装相关的文档
  • 您需要预先在控制台创建AccessKey,用于输出到配置文件user_config.json里。具体步骤,请参见创建 AccessKey
    说明 由于AccessKey权限过大,为防止数据泄露,建议您创建RAM用户子账号,并使用RAM用户子账号创建AccessKey。具体操作,请参见创建RAM用户创建 AccessKey
  • 已注册阿里云账号。如还未注册,请先完成账号注册
  • 其他更多前提条件和限制条件,请参见使用迁云工具迁移服务器至阿里云

背景信息

迁云工具的研发初衷是为了平衡阿里云用户的云上及线下业务负载,但是您也可以利用其工作原理,实现云服务器ECS的云盘缩容。

迁云工具可以根据您的ECS实例重新创建一份自定义镜像,在创建过程中通过重新指定云盘大小,以达到缩容的目的。除了将目标对象换成了ECS实例之外,云盘缩容和迁云这两种场景的工具的使用方法和使用限制完全一致。由于使用对象为虚拟化的ECS实例,还可以降低报错机率,更加高效。

然而,这种缩容方式,会引起原有ECS实例的部分属性发生变化,例如,实例ID(InstanceId)和公网IP。如果您的实例为专有网络(VPC)实例,可以将公网IP转换为弹性公网IP以保留该公网IP。因此,建议使用弹性公网IP(EIP)或者对公网IP依赖程度较轻的用户使用该方式缩容。

说明

迁云工具已升级为服务器迁移中心SMC(Server Migration Center),现有迁云工具不再提供版本更新和技术支持。为了更好的迁云体验,建议您使用SMC。SMC支持全量迁移、增量迁移、批量迁移、VPC内网迁移等多种功能,详情请参见SMC产品文档

操作步骤

  1. 使用管理员/root账号远程连接到目标ECS实例。具体步骤,请参见远程连接
  2. 下载阿里云迁云工具ZIP压缩包
  3. 解压迁云工具ZIP压缩包,并进入对应操作系统及版本的客户端文件目录找到配置文件user_config.json
  4. 完成配置。详情请参见步骤二:配置迁移源和迁移目标
    该配置文件Linux Shell显示效果如下图所示。
    在云盘缩容的场景中,您需要重点关注以下参数:
    • system_disk_size:该参数可以置为缩容系统盘的预期数值,单位为GB,该值不能小于系统盘实际使用空间大小。
    • data_disks:该参数可以置为缩容数据盘的预期数值,单位为GB,该值不能小于数据盘实际使用空间大小。
    说明
    • 当Linux实例自带数据盘时,即使您不考虑缩容数据盘,也需要配置参数data_disks
    • 当Windows实例自带数据盘时,如果没有缩容数据盘的需求,可以不配置参数data_disks
  5. 执行客户端主程序go2aliyun_client.exe
    • Windows实例:右击go2aliyun_client.exe,选择以管理员身份运行
    • Linux实例:
      1. 运行chmod +x go2aliyun_client赋予客户端可执行权限。
      2. 运行./ go2aliyun_client运行客户端。
  6. 等待运行结果。
    • 当出现Goto Aliyun Finished!提示时,前往ECS控制台镜像详情页查看经过缩容后的自定义镜像。如果自定义镜像已生成,您可以释放原实例,然后使用生成的自定义镜像创建ECS实例,创建完成后,云盘缩容工作已完成。如何创建,请参见创建ECS实例
    • 当出现Goto Aliyun Not Finished!提示时,检查同一目录下Logs文件夹下的日志文件排查故障,详情请参见排查故障

      修复问题后,重新运行迁云工具即可恢复缩容工作,迁云工具会从上一次执行的进度中继续迁云,无需重头开始。