使用工具迁移操作指引

最后更新时间:2022-01-20 16:17:47

    本文介绍如何使用 go2tencentcloud 迁移工具,进行服务器在线迁移。

    迁移流程

    使用工具迁移流程如下图所示:

    准备事项

    • 已具备腾讯云账号,及目标云服务器。
    • 建议暂停源端服务器上的应用程序,以避免迁移时对现有应用程序可能产生的影响。
    • 下载 迁移工具压缩包。
    • API密钥管理 页面中创建并获取 SecretIdSecretKey
    • 检查源端主机和目标云服务器是否满足迁移条件。例如,目标云服务器的云硬盘必须具备足够的存储空间用来装载源端的数据。
    • 建议您在迁移前,通过下方式进行数据备份:
      • 源端主机:可以选择源服务器快照功能等方式备份数据。
      • 目标云服务器:可以选择 创建快照 等方式备份目标云服务器数据。

    迁移步骤

    修改配置文件

    1. 将迁移工具 go2tencentcloud.zip 下载或上传至源端主机,并执行以下命令进入对应目录。
      1. 依次执行以下命令,解压 go2tencentcloud.zip 并进入目录。
        unzip go2tencentcloud.zip
        
    cd go2tencentcloud
    
    2. 依次执行以下命令,解压 go2tencentcloud_tool.zip 并进入目录。
    unzip go2tencentcloud_tool.zip
    
    cd go2tencentcloud_tool
    
    说明

    go2tencentcloud 目录下的文件将不会被迁移,请勿将需迁移的文件放置在该目录下。

    2. 在 `user.json` 文件中配置目标云服务器。 请按照 [user.json 文件参数说明](https://intl.cloud.tencent.com/document/product/213/44340) 配置必填项和所需项的值。请将对应参数值替换为您实际的配置参数,参考示例如下: - 示例1:将一台 Linux 源端主机迁移至腾讯云广州地域的一台云服务器中,`user.json` 文件配置为以下内容:
    {  
    "SecretId": "your secretId",
    "SecretKey": "your secretKey",  
    "Region": "ap-guangzhou",  
    "InstanceId": "your instance id"
    } 
    
    • 示例2:将一台 Linux 源端主机(包含一块数据盘,挂载点为 /mnt/disk1,大小为10GB)迁移至腾讯云广州地域的一台目标云服务器(至少挂载一块数据盘),user.json 文件配置为以下内容:

      {  
      "SecretId": "your secretId",
      "SecretKey": "your secretKey",  
      "Region": "ap-guangzhou",  
      "InstanceId": "your instance id",
      "DataDisks": [
       {
           "Index": 1,
           "Size": 10,
           "MountPoint": "/mnt/disk1"
       }
      ]
      }
      
    • 示例3:将一台 Linux 源端主机(包含两块数据盘,盘1挂载点为 /mnt/disk1,大小为10GB,欲迁移至目标云服务器的第一块数据盘,盘2挂载点为 /mnt/disk2,大小为20GB,欲迁移至目标云服务器的第二块数据盘)迁移至腾讯云广州地域的一台目标云服务器(至少挂载两块数据盘),user.json 文件配置为以下内容:

      {  
      "SecretId": "your secretId",
      "SecretKey": "your secretKey",  
      "Region": "ap-guangzhou",  
      "InstanceId": "your instance id",
      "DataDisks": [
       {
           "Index": 1,
           "Size": 10,
           "MountPoint": "/mnt/disk1"
       },
       {
           "Index": 2,
           "Size": 20,
           "MountPoint": "/mnt/disk2"
       }
      ]
      }  
      
    1. (可选)在 client.json 文件中配置迁移模式和其他项。
      请按照 client.json 文件参数说明 进行配置。如果源端主机和目标云服务器任何一方不能直接访问公网,则可以选择先通过 VPC 对等连接VPN 连接云联网 或者 专线接入 等方式建立连接通道,再进行内网模式迁移,详情请参见 内网迁移教程
    2. (可选)排除源端主机上不需迁移的文件或目录。
      若 Linux 源端主机中存在不需要迁移的文件或目录,可将文件或目录添加至 rsync_excludes_linux.txt 文件

    迁移前的检查

    迁移前,需要分别检查源端主机和目标云服务器。检查内容如下表:

    目标云服务器
    1. 存储空间:目标云服务器的云硬盘(包括系统盘和数据盘)必须具备足够的存储空间用来装载源端的数据。
    2. 安全组:安全组中不能限制443端口和80端口。
    3. 带宽设置:建议尽可能调大两端的带宽,以便更快迁移。迁移过程中,会产生约等于数据量的流量消耗,如有必要请提前调整网络计费模式。
    4. 目标云服务器和源端主机的操作系统类型是否一致:操作系统不一致会造成后续制作的镜像的信息与实际操作系统不符,建议目标云服务器的操作系统尽量和源端主机的操作系统类型一致。例如,CentOS 7 系统的对源端主机迁移时,选择一台 CentOS 7 系统的云服务器作为迁移目标。
    Linux 源端主机
    1. 检查和安装 Virtio,操作详情可参考 Linux 系统检查 Virtio 驱动
    2. 执行 which rsync 命令检查是否安装了 rsync。如未安装,请参考 如何安装 Rsync 进行安装。
    3. 检查 SELinux 是否已打开。如果 SELinux 已打开,请参考 如何关闭 SELinux 进行关闭。
    4. 向腾讯云 API 发起迁移请求后,云 API 会使用当前 UNIX 时间检查生成的 Token,请确保当前系统时间无误。
    说明
    • 源端主机检查可以使用工具命令自动检查,如 sudo ./go2tencentcloud_x64 --check
    • go2tencentcloud 迁移工具在开始运行时,默认自动检查。如果需要略过检查强制迁移,请将 client.json 文件中的 Client.Extra.IgnoreCheck 字段配置为 true

    发起迁移

    执行以下命令,运行工具。
    本文以64位 Linux 源端主机为例,进入 go2tencentcloud_tool 文件目录,并以 root 权限执行以下命令运行工具。

    sudo ./go2tencentcloud_x64
    

    等待迁移结束

    腾讯云提供的 go2tencentcloud 迁移工具支持断点传输,并将整个迁移过程主要划分为以下三个阶段,用户可以在工具运行过程中直观的了解迁移的进度。

    • 阶段1:目标云服务器进入迁移模式,准备迁移
    • 阶段2:目标云服务器处于迁移模式,迁移数据中
    • 阶段3:目标云服务器退出迁移模式,迁移完成

    每个阶段均会产生一些子任务去执行相关操作,部分耗时的子任务还将具有默认的最大超时时间。由于传输数据耗时受源端数据大小,网络带宽等因素影响,请耐心等待迁移流程的完成。

    注意

    开始迁移后目标云服务器将进入迁移模式,请不要对目标云服务器进行重装系统、关机、销毁、重置密码等操作,直至迁移完成退出迁移模式。

    一般公网迁移模式下,迁移成功的控制台输出如下:

    迁移后的检查

    • 若迁移结果失败,则请检查日志文件(默认为迁移工具目录下的 log 文件)的错误信息输出、指引文档或者 服务迁移类常见问题 进行排查和修复问题。
    • 若迁移结果成功,则请检查目标云服务器能否正常启动、目标云服务器数据与源端主机是否一致、网络是否正常或者其他系统服务是否正常等。

    如有任何疑问、迁移异常等问题请查看 服务迁移类常见问题 或者 联系我们 解决。