全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 智能硬件 ET大脑
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 更多
云服务器 ECS

使用迁云工具

更新时间:2018-08-02 15:53:33

使用迁云工具前,您需要注意:

  • 确保系统本地时间与实际时间一致,否则会报错 IllegalTimestamp 异常。

  • 待迁云的源服务器必须能够访问公网,且防火墙入方向必须放行下列通信端口以访问相关公网服务:

    • 通过 HTTP 80 端口访问 ECS 和 VPC:http://ecs-cn-hangzhou.aliyuncs.comhttp://vpc.aliyuncs.com

    • 通过 HTTPS 443 端口访问 STS:https://sts.aliyuncs.com

    • 通过 8080 和 8703 代理端口访问中转实例的公网 IP 地址

  • 迁云工具暂不支持迁移增量数据。对于源服务器上需要保持数据完整的业务,您可以选择一个业务空闲时段,暂时停止这些业务,再迁移数据。

  • 为避免迁云失败,请勿停止、重启或者释放中转实例。迁云完成后,该中转实例会自动释放。

  • 每成功迁云一次,配置文件 client_data 会自动记录迁云成功后在 ECS 控制台创建的 ECS 实例的相关数据。再次迁云时,您需要使用初始下载的客户端配置文件。

    说明:为避免迁云失败,若您没有 VPC 内网迁云需求,请勿自行修改配置文件 client_data。

  • 迁云工具需要使用 AccessKeyID 以及 AccessKeySecret,AccessKey 是您的重要凭证,请妥善保管,防止泄露。

  • 如果您使用的是 RAM 子账号,请确保您已被授权云服务器 ECS AliyunECSFullAccess 权限和专有网络 VPC AliyunVPCFullAccess 权限。更多详情,参阅 RAM 文档 授权策略管理

Linux 服务器注意事项

当您的源服务器为 Linux 系统时,会有以下额外要求:

  • 源服务器必须已经安装了 Rsync 库:

    • CentOS:运行 yum install rsync –y

    • Ubuntu:运行 apt-get install rsync –y

    • Debian:运行 apt-get install rsync –y

    • 其他发行版:参考发行版官网安装相关的文档。

  • 确保源服务器已关闭 SELinux。您可以运行 setenforce 0 临时关闭 SELinux。同时,建议您在 /etc/selinux/config 中,设置 SELINUX=disabled,禁用 SELinux。

  • 确保源服务器已 安装 Virtio(KVM)驱动

  • (可选)对于 CentOS 5、Red Hat 5 和 Debian 7 等系统,需要 更新 GRUB 程序至 1.99 及以上版本

步骤 1. 下载迁云工具

下载 迁云工具压缩包。解压后包含的文件列表如下:

  • Windows 服务器

    文件(夹)名 描述
    Excludes 文件夹 过滤筛选文件夹,设置不迁云的路径,默认包含 rsync_excludes_win.txt
    client_data 迁云过程中的数据文件,包含ECS 中转实例信息、迁移进度等。
    user_config.json 源服务器信息配置文件
    go2aliyun_gui.exe 迁云工具 Windows GUI 版本主程序,详情请参阅 迁云工具 Windows GUI 版本介绍
    go2aliyun_client.exe 迁云工具命令行版本主程序
  • Linux 服务器

    文件(夹)名 描述
    Check 检测工具文件夹,默认包含辅助程序 client_check
    client_data 迁云过程中的数据文件
    user_config.json 源服务器信息配置文件
    Excludes文件夹 过滤筛选文件夹,设置不迁云的路径,默认包含rsync_excludes_linux.txt
    go2aliyun_client 迁云工具主程序

步骤 2. 使用迁云工具

  1. 登录待迁云的服务器、虚拟机或者云主机。

  2. 将下载的迁云工具压缩包解压到您指定的目录。

  3. 在控制台 创建 Access Key用于输出到配置文件 user_config.json 里。

  4. 根据您的实际情况,编辑配置文件 user_config.json过滤无需迁云的目录

  5. 以管理员或 root 用户身份运行迁云工具

    • Windows 服务器:右击 go2aliyun_client.exe,选择 以管理员身份运行。GUI 版本程序操作指南请参阅 迁云工具 Windows GUI 版本介绍

    • Linux 服务器:

      1. 运行 chmod +x ./go2aliyun_client

      2. 运行 ./go2aliyun_client

  6. 等待运行结果:

    • 当出现 Goto Aliyun Finished! 提示时,前往 ECS 控制台 镜像详情页查看结果。

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

      您需要注意的是,迁云中断后再次执行工具时或者工具会提示迁云已完成时都是从 client_data 文件拉取信息。迁云工作完成后再次运行想重新迁云工具时,您需要使用初始的 client_data 文件或者清空现有的 client_data 文件数据。

      说明:初始化 client_data 文件后,任务进度信息丢失并且迁云工作会从头开始。在诸如中转实例被意外释放释放或者 VPC、VSwitch 和安全组信息错误等原因导致的迁云中断事件中,您可以在排查故障后使用初始化的 client_data 文件。

编辑 user_config.json

user_config.json 是一个以 JSON 语言编写的配置文件,主要包含源服务器的一些必要配置信息,其中包括您的 AccessKey 信息、生成的目标自定义镜像的配置信息等。您需要手动配置部分参数,修改后,仔细检查 JSON 语言格式的规范性,关于 JSON 的语法标准请参阅 RFC 7159

如果您使用的 Windows GUI 版本主程序,您可以在 GUI 界面完成 user_config 配置。相关参数,更多详情,请参阅 迁云工具 Windows GUI 版本介绍

user_config.json 模板

以下是配置文件 user_config.json 的模板:

  1. {
  2. "access_id": "",
  3. "secret_key": "",
  4. "region_id": "",
  5. "image_name": "",
  6. "system_disk_size": 40,
  7. "platform": "",
  8. "architecture": "",
  9. "bandwidth_limit":0,
  10. "data_disks": []
  11. }

模板参数说明

表一. 服务器配置参数说明

参数名 类型 是否必填 说明
access_id String 您的阿里云账号的 API 访问密钥 AccessKeyID。更多详情,参阅 创建 Access Key
secret_key String 您的阿里云账号的 API 访问密钥 AccessKeySecret。更多详情,参阅 创建 Access Key
region_id String 您的服务器迁移入阿里云的地域 ID,如 cn-hangzhou(华东1),取值参阅 地域与可用区
image_name String 为您的服务器镜像设定一个镜像名称,该名称不能与同一地域下现有镜像名重复。
  • 长度为 [2, 128] 个英文或中文字符,必须以大小字母或中文开头,可包含数字、点号(.)、下划线(_)、半角冒号(:)或短横线(-)。
  • 不能以 http:// 和 https:// 开头。
system_disk_size int 为系统盘指定大小,单位为 GiB。取值范围:
  • [40, 500]
  • 该参数取值需要大于源服务器系统盘实际占用大小,例如,源系统盘大小为 500 GiB,实际占用 100 GiB,那该参数取值只要大于 100 GiB 即可。
platform String 源服务器的操作系统。取值范围:
  • CentOS
  • Ubuntu
  • SUSE
  • OpenSUSE
  • Debian
  • RedHat
  • Others Linux
  • Windows Server 2003
  • Windows Server 2008
  • Windows Server 2012
  • Windows Server 2016
参数 platform 的取值需要与以上列表保持一致,必须区分大小写,并保持空格一致。
architecture String 系统架构。取值范围:
  • i386:32 位系统架构
  • x86_64:64 位系统架构
bandwidth_limit int 数据传输的带宽上限限制,单位为 KB/s。
默认值:0,0 表示不限制带宽速度。
data_disks Array 数据盘列表,最多支持 16 块数据盘。具体参数参阅 数据盘配置参数说明
该参数可以置为缩容数据盘的预期数值,单位为 GiB,该值不能小于数据盘实际使用空间大小。

表二. 数据盘配置参数说明

参数名 类型 是否需要手动配置 说明
data_disk_index int 数据盘序号。取值范围:[1, 16]
初始值:1
data_disk_size int 数据盘大小。单位为 GiB。取值范围:
  • [20, 32768]
  • 该参数取值需要大于源服务器数据盘实际占用大小,例如,源数据盘大小为 500 GiB,实际占用 100 GiB,那该参数取值只要大于 100 GiB 即可。
src_path String 数据盘源目录。取值范围:
  • Windows 指定盘符,例如,D、E 或者 F。
  • Linux 指定目录,例如,/mnt/disk1、/mnt/disk2 或者 /mnt/disk3。
    注意:不能配置为根目录或者系统目录,例如,/bin、/boot、/dev、/etc、/lib、/lib64、/sbin、/usr 和 /var。
迁移带数据盘的 Linux 服务器后,启动实例时默认不挂载数据盘。您可以在启动 ECS 实例后运行 ls /dev/vd* 命令查看数据盘设备,根据实际需要手动挂载,并编辑 /etc/fstab 配置开机自动挂载。更多详情,参阅 Linux 格式化和挂载数据盘.

user_config.json 配置示例

此处以四种场景为例,为您示范如何根据场景编辑 user_config.json 文件:

场景一. 迁移一台无数据盘的 Windows 服务器

  • 假设您的服务器配置信息为:
    • 操作系统:Windows Server 2008
    • 系统盘:30 GiB
    • 系统架构:64 位
  • 您的迁云目标为:
    • 目标地域:阿里云华东 1 地域(cn-hangzhou
    • 镜像名称:CLIENT_IMAGE_WIN08_01
    • 系统盘设置:50 GiB

那么您可以根据如下信息配置 user_config.json 文件:

  1. {
  2. "access_id": "YourAccessKeyID",
  3. "secret_key": "YourAccessKeySecret",
  4. "region_id": "cn-hangzhou",
  5. "image_name": "CLIENT_IMAGE_WIN08_01",
  6. "system_disk_size": 50,
  7. "platform": "Windows Server 2008",
  8. "architecture": "x86_64",
  9. "data_disks": [],
  10. "bandwidth_limit": 0
  11. }

场景二. 迁移一台带数据盘的 Windows 服务器

如果您的 Windows 服务器在场景一的基础上加入了 3 块数据盘,源目录和数据盘大小分别为:

  • D:100 GiB
  • E:150 GiB
  • F:200 GiB

那么您可以根据如下信息配置 user_config.json 文件:

  1. {
  2. "access_id": "YourAccessKeyID",
  3. "secret_key": "YourAccessKeySecret",
  4. "region_id": "cn-hangzhou",
  5. "image_name": "CLIENT_IMAGE_WIN08_01",
  6. "system_disk_size": 50,
  7. "platform": "Windows Server 2008",
  8. "architecture": "x86_64",
  9. "data_disks": [ {
  10. "data_disk_index": 1,
  11. "data_disk_size": 100,
  12. "src_path": "D:"
  13. }, {
  14. "data_disk_index": 2,
  15. "data_disk_size": 150,
  16. "src_path": "E:"
  17. }, {
  18. "data_disk_index": 3,
  19. "data_disk_size": 200,
  20. "src_path": "F:"
  21. }
  22. ],
  23. "bandwidth_limit": 0
  24. }

场景三. 迁移一台无数据盘的 Linux 服务器

  • 假设您的服务器配置信息为:
    • 发行版本:CentOS 7.2
    • 系统盘:30 GiB
    • 系统架构:64 位
  • 您的迁云目标为:
    • 目标地域:阿里云华东 1 地域(cn-hangzhou
    • 镜像名称:CLIENT_IMAGE_CENTOS72_01
    • 系统盘设置:50 GiB

那么您可以根据如下信息配置 user_config.json 文件:

  1. {
  2. "access_id": "YourAccessKeyID",
  3. "secret_key": "YourAccessKeySecret",
  4. "region_id": "cn-hangzhou",
  5. "image_name": "CLIENT_IMAGE_CENTOS72_01",
  6. "system_disk_size": 50,
  7. "platform": "CentOS",
  8. "architecture": "x86_64",
  9. "data_disks": [],
  10. "bandwidth_limit": 0
  11. }

场景四. 迁移一台有数据盘的 Linux 服务器

如果您的 Linux 服务器在场景三的基础上加入了 3 块数据盘,源目录和数据盘大小分别为:

  • /mnt/disk1:100 GiB
  • /mnt/disk2:150 GiB
  • /mnt/disk3:200 GiB

那么您可以根据如下信息配置 user_config.json 文件:

  1. {
  2. "access_id": "YourAccessKeyID",
  3. "secret_key": "YourAccessKeySecret",
  4. "region_id": "cn-hangzhou",
  5. "image_name": "CLIENT_IMAGE_CENTOS72_01",
  6. "system_disk_size": 50,
  7. "platform": "CentOS",
  8. "architecture": "x86_64",
  9. "data_disks": [ {
  10. "data_disk_index": 1,
  11. "data_disk_size": 100,
  12. "src_path": "/mnt/disk1"
  13. }, {
  14. "data_disk_index": 2,
  15. "data_disk_size": 150,
  16. "src_path": "/mnt/disk2"
  17. }, {
  18. "data_disk_index": 3,
  19. "data_disk_size": 200,
  20. "src_path": "/mnt/disk3"
  21. }
  22. ],
  23. "bandwidth_limit": 0
  24. }

过滤无需迁云的目录

迁云工具能过滤文件或者目录,过滤的文件不会被迁移到云端。具体通过配置 rsync 实现过滤,过滤配置放在Excludes目录下。

说明:建议您排除无需迁云的数据盘或者目录,以减少迁云传输时间以及云端磁盘使用空间。

过滤Windows系统的文件

默认过滤的文件(夹)包括pagefile.sys、$RECYCLE.BIN和System Volume Information。

  • 系统盘:配置Excludes目录下的rsync_excludes_win.txt。

  • 数据盘:在Excludes目录下新建并配置

    • rsync_excludes_win_disk1.txt
    • rsync_excludes_win_disk2.txt
    • rsync_excludes_win_disk3.txt
      ……

Windows系统示例

  • 假设您需要过滤C盘文件夹 C:\MyDirs\Docs\Words 和文件 C:\MyDirs\Docs\Excels\Report1.xlsx,可在rsync_excludes_win.txt中添加过滤配置:

    1. /MyDirs/Docs/Words/
    2. /MyDirs/Docs/Excels/Report1.xlsx
  • 假设您需要过滤D盘文件夹 D:\MyDirs\Docs\Words 和文件 D:\MyDirs\Docs\Excels\Report1.xlsx,可在rsync_excludes_win_disk1.txt中添加过滤配置:

    1. /MyDirs/Docs/Words/
    2. /MyDirs/Docs/Excels/Report1.xlsx

过滤Linux系统的文件

默认过滤的文件或目录包括/dev/*、/sys/*、/proc/*、/media/*、lost+found/*、/mnt/*和/var/lib/lxcfs/*。

注意:/var/lib/lxcfs/*目录仅针对部分系统版本,例如,无权访问Ubuntu的Linux容器服务缓存目录时,需要排除Ubuntu的/var/lib/lxcfs/*才能顺利迁云。

  • 系统盘:配置Excludes目录下的rsync_excludes_linux.txt。

  • 数据盘:在Excludes目录下新建并配置

    • rsync_excludes_linux_disk1.txt
    • rsync_excludes_linux_disk2.txt
    • rsync_excludes_linux_disk3.txt
      ……

Linux系统示例

  • 假设您需要过滤系统盘(根目录/)文件夹/var/mydirs/docs/words和文件/var/mydirs/docs/excels/report1.sh,可在rsync_excludes_linux.txt中添加过滤配置:

    1. /var/mydirs/docs/words/
    2. /var/mydirs/docs/excels/report1.sh
  • 假设您需要过滤数据盘目录/mnt/disk1中的文件夹/mnt/disk1/mydirs/docs/words 和文件 /mnt/disk1/mydirs/docs/excels/report1.sh,可在rsync_excludes_linux_disk1.txt中添加过滤配置:

    1. /mydirs/docs/words/
    2. /mydirs/docs/excels/report1.sh

    注意:Linux数据盘需要去掉数据盘src_path前缀路径,例如去掉上述示例中的/mnt/disk1。

下一步

迁云完成后,您的源服务器中的操作系统、应用程序以及应用数据等以自定义镜像的形式出现在相应地域的 ECS 控制台上。您可以 使用该自定义镜像创建按量付费 ECS 实例 或者 使用自定义镜像更换系统盘,测试自定义镜像能否正常运行。

如果您对迁云工具使用方法还有疑问,可以 添加迁云工具客户反馈钉钉群 或者 提交工单 联系阿里云技术支持。

技术支持群二维码

本文导读目录