本文为您介绍如何使用迁云工具,通过准备阿里云账号和源服务器、下载客户端、配置迁移信息和运行迁云工具,完成服务器迁移至阿里云的 P2V/V2V 目的。
如果您只需要迁移数据库,请访问 数据迁移。
准备工作(迁移前必读)
使用迁云工具前,请确保您已经满足或者完成了下列所述步骤里的要求:
准备账号和权限
- 在阿里云官网注册账号。如果您需要迁移源服务器到中国大陆地域,请完成账号实名认证。
- 准备 100 元及以上账号余额或者优惠券余额。
注意 迁云工具本身为免费工具,
并不会一次性消耗 100 元,但会在迁移过程中创建 按量付费 资源并产生少量费用。
而 100 元的支付方式余额为使用阿里云按量付费资源的限制条件。 - 如果您使用的是 RAM 账号,请联系主账号授权读写云服务器 ECS 和专有网络 VPC 资源的权限,推荐授权 AliyunECSFullAccess 策略和 AliyunVPCFullAccess 策略。更多详情,请参见 《RAM 文档》 授权策略管理。
- 在 ECS 控制台 开通快照服务。
- 如果您使用的是服务商账号,请确保能调用下单和购买的 ECS API。例如七牛云和联通沃云等可能不具备该权限。
准备源服务器环境
- 确认源服务器本地时间与实际时间一致,避免迁移时报错 IllegalTimestamp。
- 确认源服务器能访问以下服务地址IP端口:
- 云服务器 ECS:
https://ecs.aliyuncs.com
443 端口。有关其他地域 ECS 服务地址,请参见接入地址。 - 专有网络 VPC:
https://vpc.aliyuncs.com
443 端口。 - 安全凭证 STS:
https://sts.aliyuncs.com
443 端口。 - ECS 中转实例:公网 IP 地址 8080 和 8703 端口。使用 VPC 内网迁移 方案时,访问私有 IP 地址。
- 云服务器 ECS:
- 当您的源服务器为 Linux 系统时:
- 确认您已安装 Rsync 库:
- CentOS:运行
yum install rsync –y
。 - Ubuntu:运行
apt-get install rsync –y
。 - Debian:运行
apt-get install rsync –y
。 - 其他发行平台系统:参见发行版官网安装相关文档。
说明 一般主流服务器系统已默认安装 Rsync 库,您无需手动安装。 - CentOS:运行
- 确认您已关闭源服务器中的 SELinux 功能。建议您运行
setenforce 0
临时关闭 SELinux。也可以通过编辑 /etc/selinux/config 文件设置SELINUX=disabled
。说明 多数情况下,仅 CentOS 和 Red Hat 内核系列系统开启 SELinux 服务。 - 确认您已 安装 Virtio(KVM)驱动。
说明 多数情况下,主流服务器系统默认安装 KVM 驱动,无需您手动安装。
- 确认您已安装高版本系统引导程序 GRUB。对于 CentOS 5、Red Hat 5 和 Debian 7 等低版本操作系统,需要更新至 1.9 及以上版本。更多详情,请参见安装 1.9 以上版本的系统引导程序 GRUB。
说明 部分系统如 Amazon Linux 需要更新至 2.02 及以上版本。
- 确认您已安装 Rsync 库:
注意事项
为提高迁移成功率,请牢记:
-
请勿干涉中转实例:每次迁移会在您的云账号下创建一台名为
INSTANCE_FOR_GOTOALIYUN
的临时中转实例,用以辅助迁移。为避免迁移失败,请勿停止、重启或者释放中转实例。迁移完成后,该中转实例会自动释放。
-
不支持迁移增量数据:建议在迁移前先暂停如数据库或容器服务之类的应用,或者先根据下文排除相关数据目录,迁移完成后再同步数据。
-
迁移数据目录范围默认如下:
- Windows 服务器:默认只迁移系统盘分区 C 盘,包括挂载在 C 盘下的共享目录,生成一个系统盘分区。如果需要迁移其他分区如 D 盘,请参见 数据盘配置。
- Linux 服务器:默认会迁移系统根目录(/)下的所有目录,包括挂载在根目录下的共享目录,生成一个系统盘分区。如果需要迁移其他分区目录如 /disk1,请参见 数据盘配置。
迁移流程
- 下载和安装迁云工具
- 配置迁移源和迁移目标
- (可选)排除不迁移的文件或目录
- 运行迁云工具
步骤1:下载和安装迁云工具
下载 迁云工具压缩包,解压到源服务器。迁云工具为 Windows 和 Linux 操作系统均提供 32 位和 64 位版本,i386 表示 32 位,x86_64 表示 64 位。请根据源服务器平台类型选择合适的客户端版本。

文件(夹)名 | 描述 |
---|---|
go2aliyun_client.exe | Windows 命令行版本主程序。 |
go2aliyun_gui.exe | Windows GUI 版本主程序,详情请参见 迁云工具 Windows GUI 版本介绍。 |
go2aliyun_client | Linux 命令行主程序。 |
user_config.json | 迁移源和迁移目标的主要配置文件。 |
Excludes | 排除不迁移文件目录的配置文件夹。 |
client_data | 迁移数据文件,包含 ECS 中转实例信息和迁移进度等。 |
步骤2:配置迁移源和迁移目标
打开并根据参数说明表(服务器配置参数说明 和 数据盘配置参数说明)编辑目录中的 user_config.json 文件,以下为文件初始状态:
{
"access_id": "",
"secret_key": "",
"region_id": "",
"image_name": "",
"system_disk_size": 40,
"platform": "",
"architecture": "",
"bandwidth_limit":0,
"data_disks": []
}
参数名 | 类型 | 是否必填 | 描述 |
---|---|---|---|
access_id | String | 是 | 您的阿里云账号的 API 访问密钥 AccessKeyID。更多详情,请参见 创建 AccessKey。
说明 迁云工具需要使用 AccessKeyID 以及 AccessKeySecret。AccessKey 是重要凭证,请妥善保管,防止泄露。
|
secret_key | String | 是 | 您的阿里云账号的 API 访问密钥 AccessKeySecret。更多详情,请参见 创建 AccessKey。 |
region_id | String | 是 | 源服务器预计迁入的阿里云地域 ID,如 cn-hangzhou(华东1),取值参见 地域与可用区。 |
image_name | String | 是 | 为源服务器镜像设定一个镜像名称,该名称不能与同一地域下现有镜像名重复。长度为 [2, 128] 个英文或中文字符。必须以大小字母或中文开头,不能以 http:// 和 https:// 开头。可以包含数字、半角冒号(:)、下划线(_)或者连字符(-)。 |
system_disk_size | Integer | 是 | 为系统盘指定大小,单位为 GiB。取值范围:[40, 500]
说明 该参数取值需要大于源服务器系统盘实际占用大小,例如,源系统盘大小为 500 GiB,实际占用 100 GiB,那该参数取值只要大于 100 GiB 即可。
|
platform | String | 否 | 源服务器的操作系统。取值范围:Windows Server 2003 | Windows Server 2008 | Windows Server 2012 | Windows Server 2016 | CentOS | Ubuntu | SUSE | OpenSUSE | Debian | RedHat | Others Linux
说明 参数
platform 的取值需要与以上列表保持一致,必须区分大小写,并保持空格一致。
|
architecture | String | 否 | 系统架构。取值范围:i386 | x86_64 |
bandwidth_limit | Integer | 否 | 数据传输的带宽上限限制,单位为 KB/s。
默认值:0,表示不限制带宽速度。 |
data_disks | Array | 否 | 数据盘列表,最多支持 16 块数据盘。具体参数参见下表数据盘配置参数说明。该参数可以置为缩容数据盘的预期数值,单位为 GiB,取值不能小于数据盘实际使用空间大小。 |
参数名 | 类型 | 是否必填 | 描述 |
---|---|---|---|
data_disk_index | Integer | 是 | 数据盘序号。取值范围:[1, 16]
初始值:1 |
data_disk_size | Integer | 是 | 数据盘大小。单位为 GiB。取值范围:[20, 32768]
说明 该参数取值需要大于源服务器数据盘实际占用大小。例如,源数据盘大小为 500 GiB,实际占用 100 GiB,那该参数取值需要大于 100 GiB。
|
src_path | String | 是 | 数据盘源目录。取值举例:
|
此处以四种场景为例,为您示范如何根据场景编辑 user_config.json 文件:
场景1:迁移一台无数据盘的 Windows 服务器到阿里云华东一(杭州)地域
- 假设源服务器配置信息为:
- 操作系统:Windows Server 2008
- 系统架构:64 位
- 系统盘:30 GiB
- 迁移目标为:
- 目标地域:阿里云华东 1 地域(
cn-hangzhou
) - 镜像名称:CLIENT_IMAGE_WIN08_01
- 系统盘设置:50 GiB
- 目标地域:阿里云华东 1 地域(
{
"access_id": "YourAccessKeyID",
"secret_key": "YourAccessKeySecret",
"region_id": "cn-hangzhou",
"image_name": "CLIENT_IMAGE_WIN08_01",
"system_disk_size": 50,
"platform": "Windows Server 2008",
"architecture": "x86_64",
"data_disks": [],
"bandwidth_limit": 0
}
场景2:迁移一台带数据盘的 Windows 服务器到阿里云华东一(杭州)地域
在场景 1 的基础上加入了 2 块数据盘,数据盘目录和大小分别为:
- 源数据盘分区信息:
- D:50 GiB
- E:100 GiB
- 目标数据盘分区信息:
- D:100 GiB
- E:150 GiB
{
"access_id": "YourAccessKeyID",
"secret_key": "YourAccessKeySecret",
"region_id": "cn-hangzhou",
"image_name": "CLIENT_IMAGE_WIN08_01",
"system_disk_size": 50,
"platform": "Windows Server 2008",
"architecture": "x86_64",
"data_disks": [ {
"data_disk_index": 1,
"data_disk_size": 100,
"src_path": "D:"
}, {
"data_disk_index": 2,
"data_disk_size": 150,
"src_path": "E:"
}
],
"bandwidth_limit": 0
}
场景3:迁移一台无数据盘的 Linux 服务器到阿里云华东一(杭州)地域
- 假设源服务器配置信息为:
- 发行版本:CentOS 7.2
- 系统架构:64 位
- 系统盘:30 GiB
- 迁移目标为:
- 目标地域:阿里云华东 1 地域(
cn-hangzhou
) - 镜像名称:CLIENT_IMAGE_CENTOS72_01
- 系统盘设置:50 GiB
- 目标地域:阿里云华东 1 地域(
{
"access_id": "YourAccessKeyID",
"secret_key": "YourAccessKeySecret",
"region_id": "cn-hangzhou",
"image_name": "CLIENT_IMAGE_CENTOS72_01",
"system_disk_size": 50,
"platform": "CentOS",
"architecture": "x86_64",
"data_disks": [],
"bandwidth_limit": 0
}
场景4:迁移一台有数据盘的 Linux 服务器到阿里云华东一(杭州)地域
在场景 3 的基础上加入了 2 块数据盘,数据盘目录和大小分别为:
- 源数据盘分区信息:
- /mnt/disk1:50 GiB
- /mnt/disk2:100 GiB
- 目标数据盘分区信息:
- /mnt/disk1:100 GiB
- /mnt/disk2:150 GiB
{
"access_id": "YourAccessKeyID",
"secret_key": "YourAccessKeySecret",
"region_id": "cn-hangzhou",
"image_name": "CLIENT_IMAGE_CENTOS72_01",
"system_disk_size": 50,
"platform": "CentOS",
"architecture": "x86_64",
"data_disks": [ {
"data_disk_index": 1,
"data_disk_size": 100,
"src_path": "/mnt/disk1"
}, {
"data_disk_index": 2,
"data_disk_size": 150,
"src_path": "/mnt/disk2"
}
],
"bandwidth_limit": 0
}
步骤3:(可选)排除不迁移的文件或目录
配置文件放在 Excludes 目录下,包括以下文件:
-
系统盘配置文件:rsync_excludes_win.txt 或 rsync_excludes_linux.txt
-
数据盘配置文件:在系统盘的基础上以 disk[磁盘索引编号] 后缀命名,如 rsync_excludes_win_disk1.txt 或 rsync_excludes_linux_disk1.txt
示例1:为 Windows 服务器排除不迁移的文件或目录
-
系统盘:
- 待排除的文件或目录:
C:/MyDirs/Docs/Words C:/MyDirs/Docs/Excels/Report1.xlsx
- 在 rsync_excludes_win.txt 中添加内容:
/MyDirs/Docs/Words/ /MyDirs/Docs/Excels/Report1.xlsx
- 待排除的文件或目录:
-
数据盘:
- 待排除的文件或目录:
D:/MyDirs2/Docs2/Words2 D:/MyDirs2/Docs2/Excels/Report2.xlsxx
- 在 rsync_excludes_win_disk1.txt 中添加内容:
/MyDirs2/Docs2/Words2/ /MyDirs2/Docs2/Excels2/Report2.xlsx
说明 排除 Windows 路径时需要去掉路径前缀(
scr_path),例如去掉上述示例中的
D:/。 - 待排除的文件或目录:
示例2:为 Linux 服务器排除不迁移的文件或目录
-
系统盘(根目录 /):
- 待排除的文件或目录为:
/var/mydirs/docs/words /var/mydirs/docs/excels/report1.shx
- 在 rsync_excludes_linux.txt 中添加内容:
/var/mydirs/docs/words/ /var/mydirs/docs/excels/report1.sh
- 待排除的文件或目录为:
-
数据盘:
- 待排除的文件或目录为:
/mnt/disk1/mydirs2/docs2/words2 /mnt/disk1/mydirs2/docs2/excels2/report2.shx
- 在 rsync_excludes_linux_disk1.txt 中添加内容:
/mydirs2/docs2/words2/ /mydirs2/docs2/excels2/report2.sh
说明 排除 Linux 路径时需要去掉路径前缀(
scr_path),例如去掉上述示例中的
/mnt/disk1。 - 待排除的文件或目录为:
步骤4:运行迁云工具
Windows 服务器
-
在工具目录路径下运行 迁云工具 Windows GUI 版本介绍 的主程序 go2aliyun_gui.exe。
-
或者运行命令行版本主程序 go2aliyun_client.exe。
确定 即可。
Linux 服务器
-
在工具目录路径下以 root 用户身份执行:
chmod +x ./go2aliyun_client ./go2aliyun_client
-
普通用户可以使用
sudo
权限执行:sudo chmod +x ./go2aliyun_client sudo ./go2aliyun_client
迁移成功的下一步
当提示 Goto Aliyun Finished!
时,如下图所示,表示迁移完成:

此时您需要:
- 前往 ECS 管理控制台镜像详情页,选择您预设的目标地域,查看生成的自定义镜像。
- 使用该自定义镜像创建按量付费 ECS 实例 或者 使用自定义镜像更换系统盘,测试自定义镜像能否正常运行。
说明 使用自定义镜像更换实例系统盘时,只支持不带数据盘的自定义镜像。
- 初次启动目标实例,请参见 迁移 Windows 服务器后怎么检查系统 或 迁移 Linux 服务器后怎么检查系统 检查修复系统。
迁移报错的下一步
Goto Aliyun Not Finished!
时,如下图所示,表示因异常问题迁移未完成:

此时您需要:
- 检查同一目录下 Logs 文件夹里的日志文件报错提示,参见 问题排查 和 迁云工具 FAQ 修复问题。
- 重新运行迁云工具,迁云工具会从上一次执行的进度中继续迁移。
说明 如果中转实例已被释放,则需要重新迁移,请参见 释放了中转实例怎么办 和 什么时候需要清理 client_data 文件。
联系我们
如果您对迁云工具有任何疑问、建议或需求,欢迎 通过反馈渠道 联系我们。
指导视频
发布者:佚, 佚名,转转请注明出处:https://www.cms2.cn/aliyun/2254.html