如何将源服务器数据在线迁移到腾讯云CVM

背景说明

在上云/迁云过程中,会面临客户的各种需求,如何将源服务器上的系统、应用程序等从自建机房(IDC)或云平台等源环境迁移至腾讯云,是目前常遇到的问题。腾讯云推出了在线迁移服务,可以完美解决各类服务器数据迁移的问题。

在线迁移是指在系统不停机的情况下,将服务器或虚拟机上的系统、服务程序等从自建机房(IDC)或云平台等源环境迁移同步至腾讯云CVM。通过 go2tencentcloud 迁移工具,在待迁移的源端主机上执行迁移工具后,源端主机即可整机迁移至腾讯云的目标云服务器,免去了复杂的镜像制作环节,简化了用户操作。

在线迁移流程

迁移场景描述

一般的迁移场景主要包括以下三类:

  1. 从其他平台迁移到腾讯云CVM:是针对本地或者其他云平台的机器迁移的场景,例如本地服务器、AWS EC2云服务器、阿里云ECS云服务器等环境的数据迁移至腾讯云CVM;
  2. 腾讯云CVM跨区域迁移:例如有广州三区CVM的数据跨区域迁移到广州四区的CVM;
  3. 腾讯云CVM跨账号迁移:例如需要将账号A某台CVM的数据迁移到账户B的CVM上。

针对源/目的端机器是否具有外网访问的能力,将迁移模式分为以下两类:

1. 默认模式:需要源端主机和目标云服务器都具有公网访问能力。在目前的默认模式中,源端主机通过互联网访问腾讯云 API 发起迁移请求,并向目标云服务器传输数据,将源端主机迁移至腾讯云的目标云服务器。

2.内网迁移模式: 如果您的源端主机或目标云服务器处于某个内网或 VPC 中,源端主机不能通过互联网直接与目标云服务器建立连接,则可以使用工具的内网迁移模式进行迁移。内网迁移模式需要通过使用如 VPC 对等连接、VPN 连接、云联网 或者 专线接入 等方式建立源端主机与目标云服务器的连接通道。不同场景细分可参考文档。

迁移教程

场景1:其他云平台迁移到腾讯云CVM

说明

其他云平台支持AWS的EC2、阿里云的ECS、华为云的ECS、Ucloud的云主机等等。开始操作前,需要先在腾讯云上先创建一台CVM作为目标服务器。迁移时,在需要迁移的源机器上下载并运行迁移工具,开始迁移之后,数据将持续同步到CVM机器上直到迁移完成。

迁移步骤(五步)

  1. 第一步:获取下载在线迁移工具:点击下载go2tencentcloud迁移工具。
  2. 第二步:根据网络环境确定迁移模式请根据您的源端主机和目标云服务器的网络环境,确定适合的迁移模式。 目前迁移工具支持默认模式和内网迁移模式。其中,内网迁移模式细分为3种场景。不同迁移模式/场景,对源端主机和目标云服务器的网络要求不一致。如果源端主机和目标云服务器均可以访问公网,则可以直接进行默认模式迁移。如果源端主机和目标云服务器任何一方不能直接访问公网,则可以选择先通过 VPC 对等连接、VPN 连接、云联网 或者 专线接入 等方式建立连接通道,再进行内网模式迁移。
  3. 第三步:备份数据。源端和目的端的机器可以选择快照功能等方式备份数据。
  4. 第四步:迁移前需要分别检查源端主机和目标云服务器。 源端主机和目标云服务器需要检查的内容如下:
  • 4.1 检查目标CVM云服务器:
    • 存储空间:目标云服务器的云硬盘(包括系统盘和数据盘)必须具备足够的存储空间用来装载源端的数据。
    • 安全组:安全组中不能限制443端口和80端口。
    • 带宽设置:建议尽可能调大两端的带宽,以便更快迁移。迁移过程中,会产生约等于数据量的流量消耗,如有必要请提前调整网络计费模式。
    • 注意:需要检查目标CVM云服务器和源端EC2主机的操作系统类型是否一致。操作系统不一致会造成后续制作的镜像的信息与实际操作系统不符,建议两台机器的操作系统类型尽量一致。例如,CentOS 7 系统的对源端主机迁移时,选择一台 CentOS 7 系统的云服务器作为迁移目标。
  • 4.2 检查Linux 源端主机:
    • 检查和安装 Virtio,操作详情可参考 Linux 系统检查 Virtio 驱动。
    • 检查是否安装了 rsync 和 grub2-install(或 grub-install)。
    • 检查 SELinux 是否已打开。如果 SELinux 已打开,请关闭 SELinux。
    • 向腾讯云 API 发起迁移请求后,云 API 会使用当前 UNIX 时间检查生成的 Token,请确保当前系统时间无误。
    • 补充步骤:
      • 如果源端是AWS EC2的云主机,需要检查源端主机的登录方式。如果您的 AWS 源端主机使用 SSH 密钥对方式登录,建议更换为密码方式登录,具体操作请参考 AWS 开启密码登录 EC2。
      • 如果源端是华为云的云主机,需要执行cloud-init --version命令,检查源端主机中安装的 cloud-init 版本信息。如果安装 cloud-init 的版本低于17.1,建议卸载或移除该版本的 cloud-init。如果源端主机未安装 cloud-init,请跳过此操作。

说明:源端主机检查可以使用工具命令自动检查,如 sudo ./go2tencentcloud_x64 --check。>- go2tencentcloud 迁移工具在开始运行时,默认自动检查。如果需要略过检查强制迁移,请将 client.json 文件中的Client.Extra.IgnoreCheck字段配置为true。

  • 5. 第五步:开始启动迁移:
    • 5.1 建立源端主机和目标云服务器的连接通道。(可选)
      • 如果您选择内网迁移模式,则需要通过使用 VPC 对等连接、VPN 连接、云联网 或者 专线接入 等方式建立源端主机与目标云服务器的连接通道。
      • 如果您选择默认模式,则请跳过此步骤。
    • 5.2 配置 user.json 文件。 user.json 是配置源端主机和目标云服务器的文件。该文件的配置项如下:
      • 您的账户 API 访问密钥 SecretId 和 SecretKey,详细信息请参考 访问密钥。
      • 目标云服务器所在地域。
      • 目标云服务器的实例 ID。
      • 源端主机的数据盘配置。(可选)
    • 5.3 配置 client.json 文件。 client.json 是配置迁移模式和其他迁移配置项的文件。无论选择哪种迁移模式/场景,均需在 client.json 里的Client.Net.Mode项中设置相应的参数值。
    • 5.4 排除源端主机上不需迁移的文件和目录。(可选)在 Linux 源端主机编辑 rsync__excludes__linux.txt 文件,排除不需要迁移的文件和目录。
    • 5.5 运行工具。 例如,在64位 Linux 源端主机下,以 root 权限执行以下命令运行工具。
代码语言:javascript
复制
    sudo ./go2tencentcloud_x64

工具运行后,请耐心等待迁移流程的完成。 一般迁移成功的控制台输出如下:

迁移完成

场景2:腾讯云上的迁移教程

  • 腾讯云 CVM 跨区域迁移数据

跨区域迁移数据,指在腾讯云某个地域下某个可用区的云服务器数据迁移至另一个地域下某个可用区的目标云服务器,也可以指在腾讯云同一个地域下不同可用区的云服务器之间的数据迁移。

  • 腾讯云 CVM 跨账号迁移数据

在线迁移工具支持腾讯云云服务器跨账号迁移数据。跨账号迁移数据是指两个不同账号下的主机之间的数据迁移。

迁移步骤与场景1的类似,具体可以参考官方文档。