工具包下载地址:https://go2tencentcloud-1251783334.cos.ap-guangzhou.myzijiebao.com/latest/go2tencentcloud.zip
官方文档地址:https://cloud.tencent.com/document/product/213/38783#.E5.BC.80.E5.A7.8B.E8.BF.81.E7.A7.BB
一、概要说明
【场景说明】
在线迁移需要源端服务器能够访问腾讯云,通过腾讯云的API对目标服务器进行状态变更等操作。
但是在使用CDC的情况下,存在完全在客户企业内网进行在线迁移的情况,这时需要额外一台能上网的电脑或服务器来执行调用API、变更目标服务器状态等操作。
【名词说明】
此场景设计三台服务器,为了避免在后续描述中混淆,在此说明名词对应的含义。
源端服务器:指客户准备要迁移到腾讯云的服务器,可能是物理机,也可能是vmware、openstack、hyper-v等虚拟化环境中的虚拟机。
目标服务器:指腾讯云里,客户源端服务器的迁移目标。在腾讯云中可能会使用的属于有云服务器、CVM、实例。
配置机:在内网迁移场景,负责调用API、修改目标服务器状态的服务器、电脑、虚拟机。需要有外网权限能访问腾讯云网站,使用windows、linux操作系统,x86处理器,PC、物理服务器、虚拟机都可以。
【迁移步骤概述】
- 步骤1(迁移准备):先确认好目标服务器信息(IP 和 ID),同时下载迁移工具包到配置机,修改迁移工具的配置文件,执行工具修改目标机状态。
- 步骤2(发起迁移):将迁移工具包下载到源端服务器,修改迁移工具的配置文件,执行工具进行迁移。
- 步骤3(结束迁移):源端服务器中显示迁移成功后,在配置机修改迁移工具的配置文件,执行工具修改目标机状态完成迁移任务。
(PS:Linux与Windows环境内网服务迁移步骤几乎完全一致,差别请查看本文Windows指南部分)
二、Linux操作系统迁移步骤
步骤1:迁移准备
1、记录目标服务器的 IP 和 ID
登录腾讯云控制台,创建一台云服务器作为目标服务器(也可以选择已经存在的云服务器)。目标服务器的操作系统最好与源端服务器的操作系统版本一致或接近。记录目标服务器的 IP 和 ID。
2、源端服务器准备工作
- 源端服务器到目标服务器确认开通了22、80、443端口
- 确认源端服务器有安装rsync
- 确认源端服务器有安装公有云需要的virtio(可以参考虚拟机导入的帖子:ubuntu、centos、redhat)
3、配置机下载工具包
在配置机下载 工具包 ,解压缩后,进入工具包的“go2tencentcloud-linux”文件夹。
注:解压缩命令为 unzip go2tencentcloud-linux.zip
4、修改Client.json文件
文件内属性较多,仅需关注以下3个字段
- Net.Mode:从0改为1,表示内网迁移模式
- ToolMode:从false改为true
- Migrate.Stage:默认为空,如果非空请修改为空
5、修改User.json文件
云APi的ID和Key,在控制台的API秘钥管理页面(https://console.cloud.tencent.com/cam/capi)可以查询。
代码语言:javascript复制{
"SecretId": "", //云API密钥ID
"SecretKey": "", //云API密钥Key
"Region": "", //地域,比如ap-shanghai
"InstanceId": "" //目标服务器ID,比如ins-xxxxxxxx
}
6、执行工具,创建任务,确认结果
执行命令:./go2tencentcloud_x64,各个步骤结果为成功,并提示 “Stage 1 is finished and please run next stage at source machine.”,这表示创建任务成功。
进入CVM控制台,发现实例处于「在线迁移中」状态。
步骤2:登录源端服务器,发起迁移
2-1、将工具包解压到源端服务器
内网场景可能无法直接下载,请通过您所在企业的内网管理方案来上传文件。
2-2、修改Client.json文件
文件内属性较多,步骤2仅需关注以下4个字段,
- Client.Rsync.RemoteIp:改为目标端服务器内网IP,比如示例为10.0.x.x
- Net.Mode:从0改为1,表示内网迁移模式
- ToolMode:从false改为true
- Migrate.Stage:改为“stage1”
2-3、修改User.json文件
同步骤1的第5步,云APi的ID和Key在控制台的API秘钥管理页面(https://console.cloud.tencent.com/cam/capi)可以查询。
代码语言:javascript复制{
"SecretId": "", //云API密钥ID
"SecretKey": "", //云API密钥Key
"Region": "", //地域,比如ap-shanghai
"InstanceId": "" //目标服务器ID,比如ins-xxxxxxxx
}
2-4、执行工具,等待迁移,确认结果
执行命令:./sudo go2tencentcloud_x64,等待迁移完成。
等进度到100%且提示Stage2完成则表示成功。
注:如果要支持lvm,需要增加保持lvm的参数,则执行的命令:./sudo go2tencentcloud_x64 -keep-lvm。源端服务器需要已经安装了这些软件 lvs pvs vgs parted blkid dmsetup。目前暂时仅支持mbr格式系统分区。
步骤3:结束任务
步骤2完成后目标服务器还处于迁移状态,无法在控制台进行操作,需要再次执行工具调用云API结束本次迁移任务,
3-1、回到配置机
无需重新下载,直接基于步骤1的文件修改。
3-2、修改Client.json文件
基于步骤1的文件,步骤3仅需关注以下1个字段,
- Migrate.Stage:改为“stage2”
- Migrate.Result:改为"succ"
- Migrate.Progress:改为100
3-3、执行工具,结束任务,确认结果
至此在线迁移完成,控制台目的端实例状态也恢复正常,可以登录使用。
三、Windows 操作系统迁移步骤
Windows 迁移准备工作
1、卸载 vmware-tools
如果卸载 vmware-tools 失败,也可以尝试使用第三方程序管理、卸载工具进行卸载,例如 geek uninstaller,revo uninstaller 等。
2、安装 Cloudbase-init
参考文档中心的操作指南,https://cloud.tencent.com/document/product/213/30000
3、安装 Virtio 驱动
下载腾讯云定制 Virtio,下载地址为 http://mirrors.tencent.com/install/windows/virtio_64_1.0.9.exe
4、安装硬盘、网络驱动
硬盘、网络驱动容易有问题,58007 版本驱动比较稳定,下载进行安装
「硬盘驱动」
硬盘驱动在 VioStor 文件夹下面
根据系统打开对应的文件夹下,以windows server 2008 R2为例,在Win7_2008R2文件夹下
amd64文件夹对应64位操作系统,x86文件夹对应32位操作系统。viostor.inf就是安装文件
使用【管理员权限】运行 CMD ,执行 pnputil -i -a viostor.inf 。如果安装过程中有弹窗提示,请勾选信任腾讯签名。
「网卡驱动」
网卡驱动在 NetKVM 文件夹下面
根据系统打开对应的文件夹下,以windows server 2008 R2为例,在Win7_2008R2文件夹下
amd64文件夹对应64位操作系统,x86文件夹对应32位操作系统。netkvm.inf就是安装文件
使用【管理员权限】运行 CMD ,执行 pnputil -i -a netkvm.inf 。如果安装过程中有弹窗提示,请勾选信任腾讯签名。
Windows迁移操作步骤
Windows环境下迁移的步骤与Linux下几乎完全一致,仅有以下2个区别。
另外迁移完成后需要比较长的时间进行初始化,此时在虚拟机列表中看到虚拟机状态还不可用,请耐心等待。
1、Windows下工具目录
Windows在线迁移工具位于go2tencentcloud-windows文件夹中,解压后使用。
2、Windows下执行工具应用程序
配置完client.json和user.json文件后,需要执行go2tencentcloud_x64.exe文件
步骤2中执行go2tencentcloud_x64.exe文件后将启动迁移,界面如上图。
四、常见问题
4.1、源端和目标端服务器需要放开哪些端口?
windows迁移:80、443、3389
linux迁移:22、80、443
4.2、过程中是否无需在目标服务器操作?
是的,仅需在一台可访问公网的主机,以及源端服务器上进行操作
4.3、步骤2迁移过程中失败了怎么办?
重新拷贝一份干净的client.json文件,再次按照步骤逐步执行
4.4、在线服务迁移支持哪些操作系统?
目前在线迁移工具支持的源端主机操作系统包括但不限于以下操作系统:
Linux 操作操作 | Windows 操作系统 |
---|---|
CentOS 5/6/7/8 | Window Server 2008 |
Ubuntu 10/12/14/16/18/20 | Window Server 2012 |
Debian 7/8/9/10 | Window Server 2016 |
SUSE 11/12/15 | Window Server 2019 |
openSUSE 42 | Window Server 2022 |
Amazon Linux AMI | |
Red Hat 5/6/7/8 | |
Oracle Linux 5/6/7/8 |
4.5、如何保留源端服务器的lvm?
- 如果要支持lvm,在源端服务器上执行迁移时,需要增加保持lvm的参数,执行的命令:./sudo go2tencentcloud_x64 -keep-lvm。
- 源端服务器需要已经安装了这些软件 lvs pvs vgs parted blkid dmsetup。
- 目前暂时仅支持mbr格式系统分区。