使用迁云工具迁移服务器至阿里云
本文介绍如何使用迁云工具将源服务器迁移至阿里云。源服务器概指您的IDC服务器、虚拟机、其他云平台的云主机或其他类型的服务器。
前提条件
使用迁云工具前,请确保您已经满足或者完成了下列所述步骤里的要求:
- 准备账号和权限
- 在阿里云官网注册账号。如果您需要迁移源服务器到中国大陆地域,请完成账号实名认证。
- 准备100元及以上账号余额或者优惠券余额。
注意 迁云工具本身为免费工具,并不会一次性消耗100元,但会在迁移过程中创建按量付费资源并产生少量费用。而100元的支付余额为使用阿里云按量付费资源的限制条件。
- 如果您使用的是RAM账号,请联系主账号授权读写云服务器ECS和专有网络VPC资源的权限,推荐授权 AliyunECSFullAccess策略和AliyunVPCFullAccess策略。更多详情,请参见账号访问控制。
- 在ECS控制台开通快照服务。
- 如果您使用的是服务商账号,请确保能调用下单和购买的ECS API。
- 准备源服务器环境
- 确认源服务器本地时间与实际时间一致,避免迁移时报错IllegalTimestamp。
- 确认源服务器能访问以下服务地址IP端口:
- 当您的源服务器为Linux系统时:
- 确认您已安装Rsync库。若尚未安装,根据源服务器系统平台,选择下列相应命令安装:
- CentOS:运行
yum –y install rsync
。 - Ubuntu:运行
apt-get -y install rsync
。 - Debian:运行
apt-get -y install rsync
。 - SUSE:运行
zypper install rsync
。 - 其他发行平台系统:参见发行版官网安装相关文档。
说明 一般主流服务器系统已默认安装Rsync库,您无需手动安装。 - CentOS:运行
- 确认您已关闭源服务器中的SELinux功能。建议您运行
setenforce 0
临时关闭SELinux。也可以通过编辑/etc/selinux/config文件设置SELINUX=disabled
。说明 多数情况下,仅CentOS和Red Hat内核系列系统开启SELinux服务。 - 确认您已安装Virtio(KVM)驱动。具体操作,请参见安装virtio驱动。
说明 多数情况下,主流服务器系统默认安装KVM驱动,无需您手动安装。
- 确认您已安装高版本系统引导程序GRUB。对于CentOS 5、Red Hat 5和Debian 7等低版本操作系统,需要更新至1.9及以上版本。更多详情,请参见如何为Linux服务器安装GRUB?。
说明 部分系统如Amazon Linux需要更新至2.02及以上版本。
- 确认您已安装Rsync库。若尚未安装,根据源服务器系统平台,选择下列相应命令安装:
背景信息
说明 迁云工具已升级为服务器迁移中心SMC(Server Migration Center),现有迁云工具不再提供版本更新和技术支持。为了更好的迁云体验,建议您使用SMC。SMC支持全量迁移、增量迁移、批量迁移、VPC内网迁移等多种功能,详情请参见SMC产品文档。
如果只需迁移数据库,建议您使用阿里云数据传输服务DTS(Data Transmission Service)。更多详情,请参见数据迁移。
为提高迁移成功率,请阅读以下注意事项:
- 请勿干涉中转实例
每次迁移会在您的云账号下创建一台名为INSTANCE_FOR_GOTOALIYUN或No_Delete_GotoAliyun_Transition_Instance的临时中转实例,用以辅助迁移。为避免迁移失败,请勿停止、重启或者释放中转实例。迁移完成后,该中转实例会自动释放。说明 使用迁云工具1.5.0及以上版本时,临时中转实例名为No_Delete_GotoAliyun_Transition_Instance。
- 迁移数据目录范围默认如下:
迁移流程
使用迁云工具迁移服务器至阿里云的流程如下:
步骤一:下载和安装迁云工具
下载迁云工具压缩包,解压到源服务器。迁云工具为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中转实例信息和迁移进度等。 |
步骤二:配置迁移源和迁移目标
打开并根据参数说明表(服务器配置参数说明和数据盘配置参数说明)编辑目录中的user_config.json文件,以下为文件初始状态:
{
"access_id": "",
"secret_key": "",
"region_id": "",
"image_name": "",
"system_disk_size": 40,
"platform": "",
"architecture": "",
"bandwidth_limit":0,
"data_disks": []
}
说明 如果您使用的是Windows GUI版本主程序,可以在GUI界面完成user_config配置。更多详情,请参见迁云工具Windows GUI版本介绍。
参数名 | 类型 | 是否必填 | 描述 |
---|---|---|---|
access_id | String | 是 | 您的阿里云账号的API访问密钥AccessKeyID。更多详情,请参见创建AccessKey。
说明 AccessKey是重要凭证,请您妥善保管。为防止AccessKey泄漏或被滥用,建议您使用RAM账号创建临时的AccessKey,在迁移完成之后再禁用该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
说明 该参数取值需要大于源服务器系统盘实际占用大小,例如,源系统盘大小为500GiB,实际占用100GiB,那该参数取值只要大于100GiB即可。
|
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
说明 1.5.0及以上版本的迁云工具不再提供architecture参数。
|
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
说明 该参数取值需要大于源服务器数据盘实际占用大小。例如,源数据盘大小为500GiB,实际占用100GiB,那该参数取值需要大于100GiB。
|
src_path | String | 是 | 数据盘源目录。取值举例:
|
此处以四种场景为例,为您示范如何根据场景编辑user_config.json文件:
- 场景1:迁移一台无数据盘的Windows服务器到阿里云华东1(杭州)地域
- 假设源服务器配置信息为:
- 操作系统:Windows Server 2008
- 系统架构:64位
- 系统盘:30GiB
- 迁移目标为:
- 目标地域:阿里云华东1地域(
cn-hangzhou
) - 镜像名称:CLIENT_IMAGE_WIN08_01
- 系统盘设置:50GiB
- 目标地域:阿里云华东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(杭州)地域
在场景1的基础上加入了2块数据盘,数据盘目录和大小分别为:
- 源数据盘分区信息:
- D:50GiB
- E:100GiB
- 目标数据盘分区信息:
- D:100GiB
- E:150GiB
{ "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服务器到阿里云华东1(杭州)地域
- 假设源服务器配置信息为:
- 发行版本:CentOS 7.2
- 系统架构:64位
- 系统盘:30GiB
- 迁移目标为:
- 目标地域:阿里云华东1地域(cn-hangzhou)
- 镜像名称:CLIENT_IMAGE_CENTOS72_01
- 系统盘设置:50GiB
{ "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服务器到阿里云华东1(杭州)地域
在场景3的基础上加入了2块数据盘,数据盘目录和大小分别为:
- 源数据盘分区信息:
- /mnt/d
- isk1:50GiB
- /mnt/disk2:100GiB
- 目标数据盘分区信息:
- /mnt/disk1:100GiB
- /mnt/disk2:150GiB
{ "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 }
- 源数据盘分区信息:
步骤三:(可选)排除不迁移的文件或目录
配置文件放在Excludes目录下,包括以下文件:
- 系统盘配置文件:rsync_excludes_win.txt或rsync_excludes_linux.txt
- 数据盘配置文件:在系统盘的基础上以disk[磁盘索引编号]后缀命名,如rsync_excludes_win_disk1.txt或rsync_excludes_linux_disk1.txt。
说明 当您发现对应配置文件缺失或被误删时,可以自行创建。
- 示例一:为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:\。 - 待排除的文件或目录:
- 系统盘:
- 示例二:为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。 - 待排除的文件或目录为:
- 系统盘(根目录 /)
步骤四:运行迁云工具
完成以下操作,分别在Windows服务器和Linux服务器上运行迁云工具:
- 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
说明 运行迁云工具后,您无需要做其他操作,请耐心等待迁移完成。 - 在工具目录路径下以root用户身份执行:
运行迁云工具后,迁云工具会获取源服务器的CPU核数、内存大小、磁盘大小、以及三者各自的使用率信息并打印在操作界面上。同时迁移状态会以流式日志的形式打印在操作界面上。
迁移成功的下一步
当提示
Goto Aliyun Finished!
时,如下图所示,表示迁移完成:
此时您需要执行如下后续操作:
迁移报错的下一步
当提示
Goto Aliyun Not Finished!
时,如下图所示,表示因异常问题迁移未完成:
此时您需要执行如下后续操作:
联系我们
如果您对迁云工具有任何疑问、建议或需求,欢迎通过反馈渠道联系我们。
指导视频
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论