Aliyun ubuntu_16在线迁移到腾讯云

以前有部分业务在阿里云上,后来公司要求迁移到腾讯云,想着手动部署再切流量?太麻烦了!无意看到腾讯云有工具可迁移,我就做了下测试,这里是测试记录。大约是2020.8/9月份测试,距离这篇分享隔了四五个月。

1. 前言

本测试根据腾讯云官网的指引,使用腾讯云go2tencentcloud 迁移工具通过公网迁移服务器数据(如何将源服务器数据在线迁移到腾讯云CVM:https://cloud.tencent.com/developer/article/1625454)

2. 创建腾测试环境

2.1 创建腾讯云CVM实例

2.1.1 创建CVM实例

根据腾讯云CVM购买指南购买cvm实例:https://cloud.tencent.com/document/product/213/506

CVM配置名称 规格 备注
可用区 上海4区
实例规格 标准型S5 | S5.LARGE8
镜像ID Ubuntu Server 16.04.1 LTS 64位
CPU 4核
内存 8G
公网带宽 20Mbps
系统盘 50G
数据盘 30G

2.1.2 格式化云硬盘

挂载云硬盘 : https://cloud.tencent.com/document/product/362/5745

初始化数据盘(Linux 云服务器):https://cloud.tencent.com/document/product/213/17487

2.2 创建阿里云实例

2.2.1 创建ecs实例

根据阿里云创建实例步骤创建实例:https://ecs-buy.aliyun.com/wizard/#/prepay/cn-shanghai

ECS配置名称 规格 备注
可用区 华东2(上海)可用区 G
实例规格 ecs.g6e.large
镜像ID ubuntu_16_04_x64_20G_alibase_20200717.vhd
CPU 2核
内存 8G
公网带宽 20Mbps
系统盘 40G
数据盘 20G

image.png

2.2.2 挂载数据盘,格式化格式化,创建业务数据test.txt

ECS挂载数据盘详情见:https://help.aliyun.com/document_detail/25446.html?spm=5176.11065259.1996646101.searchclickresult.61b82b88X0voz0
ECS格式化数据盘详情见:https://help.aliyun.com/document_detail/116650.html?spm=5176.2020520101.0.dexternal.572c4df5IhCG9M

image.png

在数据盘上创建测试数据test.txt : echo "Migrate from ECS to CVM" test.txt
image.png

2.2.3下载go2tencentcloud迁移工具 并解压

  1. wget https://go2tencentcloud-1251783334.cos.ap-guangzhou.myqcloud.com/latest/go2tencentcloud.zip?_ga=1.259394893.65840289.1595928713

  2. mv go2tencentcloud.zip?_ga=1.259394893.65840289.1595928713 go2tencentcloud.zip

  3. apt-get install unzip

  4. unzip go2tencentcloud.zip


    image.png

2.3 在ECS服务器安装模拟业务

2.3.1. 进入root用户,安装apache2

apt-get install apache2


image.png

apt-get install apache2-dev


image.png

2.3.2 启动apache2

systemctl start apache2

systemctl status apache2
image.png

在浏览器输入ECS 公网ip ,查看apache正常启动
image.png

3. 检查源端主机和目标云服务器

3.1 目标端迁移环境检查

  1. 存储空间:目标云服务器的云硬盘(包括系统盘和数据盘)必须具备足够的存储空间用来装载源端的数据
    (系统盘50G>40G,数据盘30G>20G)
  2. 安全组:安全组中不能限制443端口和80端口
    (安全组放通443和80端口)


    image.png
  3. 带宽设置:建议尽可能调大两端的带宽,以便更快迁移。迁移过程中,会产生约等于数据量的流量消耗,如有必要请提前调整网络计费模式。
  4. 需要检查目标CVM云服务器和源端EC2主机的操作系统类型是否一致。操作系统不一致会造成后续制作的镜像的信息与实际操作系统不符,建议两台机器的操作系统类型尽量一致。例如,CentOS 7 系统的对源端主机迁移时,选择一台 CentOS 7 系统的云服务器作为迁移目标。

3.2 检查源端主机:

本次使用自动检查(第5点)

  1. 检查和安装 Virtio,操作详情可参考 Linux 系统检查 Virtio 驱动。
  2. 检查是否安装了 rsync 和 grub2-install(或 grub-install)。
  3. 检查 SELinux 是否已打开。如果 SELinux 已打开,请关闭 SELinux。
    向腾讯云 API 发起迁移请求后,云 API 会使用当前 UNIX 时间检查生成的 Token,请确保当前系统时间无误。
  4. 补充步骤:
    如果源端是AWS EC2的云主机,需要检查源端主机的登录方式。如果您的 AWS 源端主机使用 SSH 密钥对方式登录,建议更换为密码方式登录,具体操作请参考 AWS 开启密码登录 EC2。
    如果源端是华为云的云主机,需要执行cloud-init --version命令,检查源端主机中安装的 cloud-init 版本信息。如果安装 cloud-init 的版本低于17.1,建议卸载或移除该版本的 cloud-init。如果源端主机未安装 cloud-init,请跳过此操作。
  5. 自动检查:源端主机检查可以使用工具命令自动检查,如 sudo ./go2tencentcloud_x64 --check。>- go2tencentcloud 迁移工具在开始运行时,默认自动检查。如果需要略过检查强制迁移,请将 client.json 文件中的Client.Extra.IgnoreCheck字段配置为true。


    image.png

4. 开始迁移

4.1 配置 user.json 文件

user.json 是配置源端主机和目标云服务器的文件。该文件的配置项如下:
您的账户 API 访问密钥 SecretId 和 SecretKey (https://cloud.tencent.com/document/product/598/40488)

image.png

目标云服务器所在地域。(https://cloud.tencent.com/document/product/213/6091)
image.png

目标云服务器的实例 ID。https://console.cloud.tencent.com/cvm/instance/index?rid=4
image.png

源端主机的数据盘配置。(可选)

如果不添加源端数据盘信息,目标端不会挂载数据盘,而是生成一个与源端数据盘路径同名的目录迁移源端数据盘数据,可能导致目标端系统盘容量不足的情况。。。添加错误MountPoint 目录 ,也是会自动创建目标端与源端相同的文件系统,挂载点目录名称也相同,这个应该是人性化的设计(担心用户填写错误)

user.json文件如下


image.png

4.2 配置 client.json 文件

client.json 是配置迁移模式和其他迁移配置项的文件。无论选择哪种迁移模式/场景,均需在 client.json 里的Client.Net.Mode项中设置相应的参数值。


image.png

4.3 排除源端主机上不需迁移的文件和目

(可选)在 Linux 源端主机编辑 rsync__excludes__linux.txt 文件,排除不需要迁移的文件和目录。

查看文件发现有默认如下文件不迁移

image.png

4.4 运行工具发起迁移

./go2tencentcloud_x64


image.png

4.5 验证迁移是否成功

4.5.1 查看系统盘和磁盘

这个自行查看即可

4.5.2 查看数据盘文件

4.5.3 浏览器输入cvm公网ip验证服务是否正常

服务正常迁移测试完成


image.png

你可能感兴趣的:(Aliyun ubuntu_16在线迁移到腾讯云)