开发者社区> 问答> 正文

磁盘缩容

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

实现原理

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

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

然而,这种缩容方式,会引起原有 ECS 实例的部分属性发生变化,例如,实例 IDInstanceId)和 公网 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
    • 其他发行版:参考发行版官网安装相关的文档
  • 您需要预先在控制台 创建 Access Key,用于输出到配置文件 user_config.json 里。

    注意:由于 AccessKey 权限过大,为防止数据泄露,建议您 创建 RAM 用户子账号,并使用 RAM 用户子账号 创建 AccessKey

  • 其他更多前提条件和限制条件,请参阅 使用迁云工具迁移服务器至阿里云

操作步骤

  1. 使用管理员/root 账号 远程连接 到目标 ECS 实例。

  2. 下载 阿里云迁云工具 ZIP 压缩包。

  3. 解压迁云工具,并进入对应操作系统及版本的客户端文件目录找到配置文件 user_config.json。

  4. 参阅段落 自定义 user_config.json 完成配置。

    该配置文件 Linux Shell 显示效果如下图所示。

    Conf

    在磁盘缩容的场景中,您需要重点关注的参数有:

    • 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 实例,创建完成后,磁盘缩容工作已完成。

    • 当出现 Goto Aliyun Not Finished! 提示时,检查同一目录下 Logs 文件夹下的日志文件 排查故障。修复问题后,重新 运行迁云工具 即可恢复缩容工作,迁云工具会从上一次执行的进度中继续迁云,无需重头开始。

参考链接

展开
收起
chenchuan 2018-08-31 22:08:24 2247 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
如何让k8s集群30s扩容3000个Pod 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载