由于目前云服务器 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 依赖程度较轻的用户使用该方式缩容。

操作步骤

  1. 使用管理员/root 账号远程连接到目标 ECS 实例。具体步骤,请参见远程连接
  2. 单击此处下载阿里云迁云工具 ZIP 压缩包。
  3. 解压迁云工具ZIP压缩包,并进入对应操作系统及版本的客户端文件目录找到配置文件 user_config.json
  4. 完成配置。详情请参见步骤2:配置迁移源和迁移目标
    该配置文件 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文件夹下的日志文件排查故障,详情请参见排查故障

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