您可以参见本文档中的步骤,将Google Cloud虚拟机实例迁移至阿里云。

背景信息

在开始迁移服务器之前,您需要针对不同系统的虚拟机进行准备工作。具体操作,请参见:

准备工作完成后,即可开始正式的迁移操作。如果您是第一次进行服务器迁移,建议先使用测试机演练。

Google Cloud Windows系统迁移至阿里云之前的准备工作

  • 创建快照以备份数据。
  • 确保系统时间与所在地域的标准时间一致。
  • 检查授权应用。源服务器迁移到阿里云后,系统底层硬件设备会发生变化,可能会导致一些跟硬件绑定的应用许可证(license)失效,您需要做好检查。
  • 检查网络环境。
    • 如果是跨国际地域,由于网络环境较不稳定,具体操作,请参见跨国际地域迁移的操作步骤
    • 如果您的网络可以打通VPC内网,建议在创建迁移任务时网络模式选择内网传输。使用内网传输能获得比通过公网更快速更稳定的数据传输效果,提高迁移工作效率。
  • 检查并确保Windows系统VSS服务为启动状态。
  • 检查是否安装了QEMU Guest Agent软件。如果安装了此工具软件,您需要先卸载。卸载的具体步骤,请参见Windows服务器卡在Prepare For Rsync Disk 0阶段,怎么办

Google Cloud Linux系统迁移至阿里云之前的准备工作

  • 创建快照以备份数据。
  • 确保系统时间与所在地域的标准时间一致。
  • 检查SELinux。对于CentOS/Red Hat系列内核系统,一般需要检查SELinux服务是否禁用或关闭。如果没有关闭,您可以采用下列方法之一将其关闭。
    • 运行命令setenforce 0临时将其关闭。
    • 修改/etc/selinux/config文件,配置SELINUX=disabled永久禁用SELinux。详情请参见开启或关闭SELinux
  • 检查网络环境。
    • 如果是跨国际地域,由于网络环境较不稳定,具体操作,请参见跨国际地域迁移的操作步骤
    • 如果您的网络可以打通VPC内网,建议在创建迁移任务时网络模式选择内网传输。使用内网传输能获得比通过公网更快速更稳定的数据传输效果,提高迁移工作效率。
  • 检查cloud-init。具体操作步骤,请参见安装cloud-init
  • 检查GRUB引导程序。部分低内核版本如CentOS 5/Red Hat 5、Debian 7需要将GRUB升级至1.99及以上版本。具体操作步骤,请参见如何为Linux服务器安装GRUB

跨国际地域迁移的操作步骤

本操作适用于将Google Cloud迁移至阿里云,并创建对应的ECS实例。

  1. 将Google Cloud虚拟机实例迁移到阿里云对应的国际地域,详情请参见下文中迁移虚拟机至阿里云操作说明,并选择迁移至云服务器镜像。
    例如,Google Cloud虚拟机实例位于美国,您可以将其迁移至阿里云位于美国的地域。具体地域及地域ID,请参见地域和可用区
  2. 完成迁移后,将新建的镜像复制到目标阿里云地域。具体操作步骤,请参见复制镜像
  3. 使用该镜像在目标阿里云地域创建实例。具体操作步骤,请参见使用自定义镜像创建实例

迁移虚拟机至阿里云

请先准备阿里云账号并了解注意事项。更多信息,请参见准备工作(迁移前必读)

  1. 下载并解压SMC客户端。
    1. 下载SMC客户端
      如果您的迁移源可以访问公网,也可以直接在迁移源上下载SMC客户端。
      说明 客户端会不定期更新,建议您登录SMC控制台,在页面右上角单击最新版本迁移客户端下载获取并使用最新版本的SMC客户端。
    2. 将SMC客户端上传至迁移源。
    3. 解压SMC客户端。
      SMC客户端为Windows和Linux系统均提供32位和64位版本(i386表示32位,x86_64表示64位)。请根据迁移源的平台类型,选择相应的客户端版本。以Windows系统为例,解压后的客户端文件夹,如下图所示。
      说明 Linux系统中使用unzip <SMC客户端压缩包名称>命令解压SMC客户端,如果您的源服务器未安装unzip插件,请先安装。例如,CentOS 7的安装命令为yum -y install unzip
      客户端版本
    4. 解压适配您迁移源系统版本的客户端压缩包。
      解压后文件夹中包含的目录和文件,如下图所示。客户端主目录
      表 1. SMC客户端主要文件说明
      文件(夹)名 描述
      go2aliyun_client.exe (Windows版本)命令行主程序。
      go2aliyun_gui.exe (Windows版本) GUI主程序。GUI版本详情,请参见使用SMC客户端Windows GUI版本
      go2aliyun_client (Linux版本)命令行主程序。
      user_config.json 迁移源和迁移目标的配置文件。
      Excludes 排除不迁移文件目录的配置文件夹。
      client_data 迁移数据文件,包含ECS中转实例信息和迁移进度等。
  2. (可选)排除不迁移的文件或目录。
    说明 如果开启块复制功能迁移,则不支持排除不迁移的文件或目录。
    配置文件在SMC客户端的Excludes目录下,包括以下文件。如果配置文件缺失或被误删,您可自行创建相应文件。
    • 系统盘配置文件:rsync_excludes_win.txt(Windows系统)或rsync_excludes_linux.txt(Linux系统)

    • 数据盘配置文件:在系统盘的基础上以disk[磁盘索引编号]后缀命名,如rsync_excludes_win_disk1.txt(Windows系统)或rsync_excludes_linux_disk1.txt(Linux系统)

    不同操作系统的配置示例如下所示:
    • 配置示例一:为Windows服务器排除不迁移的文件或目录
      • 系统盘
        • 待排除的文件或目录:
          C:\MyDirs\Docs\Words
          C:\MyDirs\Docs\Excels\Report1.txt
        • rsync_excludes_win.txt中添加内容:
          /MyDirs/Docs/Words/
          /MyDirs/Docs/Excels/Report1.txt
      • 数据盘
        • 待排除的文件或目录:
          D:\MyDirs2\Docs2\Words2
          D:\MyDirs2\Docs2\Excels\Report2.txt
        • rsync_excludes_win_disk1.txt中添加内容:
          /MyDirs2/Docs2/Words2/
          /MyDirs2/Docs2/Excels2/Report2.txt
        说明
        排除Windows路径时,您需要:
        • 去掉路径前缀(scr_path),例如去掉上述示例中的D:
        • 将原路径中的\替换为/
    • 配置示例二:为Linux服务器排除不迁移的文件或目录
      • 系统盘(根目录 /)
        • 待排除的文件或目录为:
          /var/mydirs/docs/words
          /var/mydirs/docs/excels/report1.txt
        • rsync_excludes_linux.txt中添加内容:
          /var/mydirs/docs/words/
          /var/mydirs/docs/excels/report1.txt
      • 数据盘
        • 待排除的文件或目录为:
          /mnt/disk1/mydirs2/docs2/words2
          /mnt/disk1/mydirs2/docs2/excels2/report2.txt
        • rsync_excludes_linux_disk1.txt中添加内容:
          /mydirs2/docs2/words2/
          /mydirs2/docs2/excels2/report2.txt
        说明 排除Linux路径时需要去掉路径前缀(scr_path),例如去掉上述示例中的/mnt/disk1
  3. 运行SMC客户端以导入迁移源信息。
    1. 进入适配您迁移源系统版本的客户端文件夹,运行SMC客户端。
      • Windows系统:选择以下任一方式运行。
        • GUI版本:双击运行go2aliyun_gui.exe应用程序。
        • 命令行版本:双击运行go2aliyun_client.exe应用程序。
        说明 程序运行时会提示需要管理员权限,单击确定
      • Linux系统:根据迁移源操作系统对root权限和sudo权限的支持情况,选择运行方式。
        • go2aliyun_client所在目录下,使用root权限依次运行以下命令。
          chmod +x go2aliyun_client
          ./go2aliyun_client
        • go2aliyun_client所在目录下,使用sudo权限依次运行以下命令。
          sudo chmod +x ./go2aliyun_client
          sudo ./go2aliyun_client
        您也可以根据迁移源系统对权限的支持情况,不运行上述命令,而选择运行以下命令快速导入迁移源,可跳过下一步(即输入账号的访问密钥)。
        • 使用root权限
          ./go2aliyun_client --accessid=<Your AccessKeyID> --secretkey=<Your AccessKeySecret>
        • 使用sudo权限
          sudo ./go2aliyun_client --accessid=<Your AccessKeyID> --secretkey=<Your AccessKeySecret>
    2. 输入账号的访问密钥(AccessKey)。
      说明 如果您输入的AccessKey不正确,请在user_config.json文件中删除access_idsecret_key的值,并重新运行客户端。
      • Windows系统
        • GUI版本:在账号AK账号SK文本框中,分别输入AccessKeyIdAccessKeySecret后,单击运行。详情请参见Window GUI版本控制台迁移模式
        • 命令行版本: 输入访问密钥的AccessKeyIdAccessKeySecret,并按Enter键。
      • Linux系统
        输入访问密钥的AccessKeyIdAccessKeySecret,并按Enter键。输入AK
        可能会出现以下提示信息:
        • 多数主流迁移源系统已默认安装rsync。若没有安装,则SMC客户端会提示,请输入yes自动安装rsync,如下图所示。安装rsync
        • 若迁移源系统的SELinux处于开启状态,则SMC客户端会提示您关闭。请输入yes自动关闭SELinux,如下图所示。关闭SELinux
    注意 请勿关闭客户端直至迁移完成。否则,迁移源将与SMC控制台失去联系,无法完成迁移。
  4. 登录SMC控制台
  5. 创建迁移任务。
    1. 在左侧导航栏,单击迁移源
    2. 选择要迁移的迁移源。
      您可以从客户端界面获取迁移源ID,如下图所示,并根据迁移源ID找到目标迁移源。查找迁移源,请参见如何查找迁移源获取迁移源ID
    3. 单击创建迁移任务
    4. 创建迁移任务页面,阅读迁移提示并配置迁移任务。

      迁移任务基本配置说明:

      • 目标地域(必填):您的源服务器要迁入的阿里云地域ID。地域详情,请参见地域和可用区
      • 任务名称:迁移任务的名称。
        说明 同一阿里云地域下,任务名称必须唯一。
      • 任务描述:迁移任务的描述。
      • 目标磁盘(GiB):设置目标服务器的磁盘结构。目标磁盘

        配置项说明表如下:

        配置项 是否必选 说明
        是否启用块复制
        • 选中复选框:使用块复制能有效提升迁移传输速度的稳定性,同时能够保证跟源分区结构一致,但分区大小无法修改。此外分区<N>配置项后会生成是否开启块复制开关。
        • 不选中复选框:使用默认的文件级别迁移,分区大小可修改。
        系统盘
        • 系统盘:目标阿里云服务器ECS系统盘的大小,单位为GiB。 取值范围:20~500。目标系统盘取值需要大于迁移源系统盘实际占用大小。例如,源系统盘大小为500GiB,实际占用100GiB,则目标系统盘取值需大于100GiB。
          说明 默认值为迁移源系统盘大小,如无缩小系统盘容量需要,建议不要小于默认值。
        • 分区<N>:SMC能够根据迁移源的磁盘分区结果自动生成目标磁盘分区,单位为GiB。 取值范围:0~98。变量<N>表示第几个分区。如果迁移源的系统盘是单分区结构,则只会生成分区0
        • 是否开启块复制:仅当打开上述的是否启用块复制开关后,才会出现该开关。SMC会根据迁移源磁盘分区状态进行判断是否支持开启块复制。
          • 如果迁移源不支持分区开启块复制,则该开关无法打开。
          • 如果迁移源支持分区开启块复制,您可以打开开关,实现分区级别的磁盘迁移。
        数据盘<N>
        • 数据盘<N>:目标阿里云服务器ECS数据盘的大小,单位为GiB。 取值范围:20~32768。
          • 您可以设置数据盘前复选框的选中情况,自行选择是否生成目标数据盘。
          • 变量<N>表示第几个数据盘。
          • 目标数据盘取值需要大于迁移源数据盘的实际占用大小。例如,源数据盘大小为500GiB,实际占用100GiB,则目标数据盘取值需大于100GiB。
        • 分区<N>:SMC能够根据迁移源的磁盘分区结果自动生成目标磁盘分区,单位为GiB。 取值范围:0~141。变量<N>表示第几个分区。如果迁移源的数据盘是单分区结构,则只会生成分区0
        说明 若您的迁移源没有数据盘,或数据盘未挂载,不会出现数据盘配置项。更多信息,请参见为什么新建迁移任务页面没有出现数据盘配置项?怎么办?
      • 目标镜像类型:设置迁移源迁移至阿里云的目标镜像类型。
        • 选择云服务器镜像。配置项说明如下:
          配置项 是否必选 说明
          镜像名称 SMC为迁移源生成的目标阿里云镜像名称。
          说明 同一阿里云地域下,镜像名称必须唯一。
          自动增量同步 迁移任务是否自动同步源服务器增量数据至阿里云。
          • 开启该开关后,需设置以下配置项:
            • 同步重复频率:增量迁移任务周期性自动执行的时间间隔。
            • 最大镜像保留数:增量迁移任务默认保留的最大镜像数。
            迁移任务将自动周期性执行,并同步增量数据至阿里云。增量迁移的最佳实践,请参见增量迁移源服务器
          • 关闭该开关后,迁移任务仅执行一次。
        • 选择容器镜像。配置项说明如下:
          说明 Windows操作系统的迁移源不支持迁移至容器镜像。迁移至容器镜像最佳实践,请参见源服务器迁移至容器镜像
          配置项 是否必选 说明
          容器镜像命名空间 存放迁移生成的容器镜像仓库的命名空间。
          容器镜像仓库名称 存放迁移生成的容器镜像的仓库地址。
          容器镜像版本 存放迁移生成的容器镜像的版本信息。
          容器镜像的RAM角色 绑定中转实例的实例角色。
      • 执行方式:迁移任务的执行方式。
        • 立即执行:创建迁移任务后立即启动。
        • 预约执行:创建迁移任务后,在设置的时间自动启动迁移任务。
          说明 预约执行时间最早可设置为当前时间后10分钟。
        • 只创建:仅创建迁移任务,需要手动启动迁移任务。

        默认值:立即执行

      标签与网络(可选)说明:

      • 迁移任务标签:为迁移任务绑定标签键值,便于查询与管理迁移任务。
        说明 同一个迁移任务最多可绑定20个标签。
      • 网络模式:传输迁移数据到中转实例使用的网络。中转实例会被创建在所选专有网络(VPC)、交换机(VSwitch)下,因此中转实例会被分配公网IP。网络模式

        配置项说明表如下:

        配置项 说明
        公网传输 迁移数据通过公网传输到中转实例。使用该模式,源服务器需能访问公网。根据实际需要,选择是否指定专有网络(VPC)和交换机(VSwitch)。
        • 指定VPC和VSwitch:迁移任务在您指定的VPC和VSwitch下创建中转实例。

          批量迁移时,为每个迁移任务指定相同的VPC和VSwitch,可提高VPC的复用率,每次批量迁移的最大值可达到100台迁移源。

        • 不指定VPC和VSwitch:迁移任务在系统自动新建的VPC和VSwitch下创建中转实例。

          批量迁移时,若不指定VPC和VSwitch,SMC会为每个中转实例创建一个VPC。

          说明 由于每个账号在一个地域下的VPC限额为10(包括您创建的VPC和SMC自动创建的VPC),因此每次批量迁移的最大值不超过10台迁移源。如需提高VPC限额,请提交工单
        内网传输 迁移数据通过VPC内网传输到中转实例。使用该模式,需要将源服务器与阿里云VPC打通,并且必须指定VPC和VSwitch。
        说明 如果您能直接从自建机房(Integrated Data Center,IDC)、虚拟机环境或者云主机访问某一阿里云地域下的专有网络VPC,建议您使用该方式进行迁移。使用内网传输能获得比通过公网更快速更稳定的数据传输效果,提高迁移工作效率。您可以通过VPN网关、高速通道物理专线、智能接入网关将源服务器和云上VPC打通。更多信息,请参见连接本地IDC
      高级配置(可选)说明:
      • 传输限速(KB/s):迁移过程中,数据传输的带宽上限限制,单位为KB/s。

        默认值:0。表示不限制带宽速度。

      • 压缩率:迁移过程中,数据压缩传输的级别。 请根据您的实际需要,设置压缩率。
        • 在带宽有限的环境下,使用高压缩率,可提升数据的传输速度。
        • 在带宽很高的情况下,建议您不压缩传输数据,可减少对迁移源CPU资源的耗费。

        默认值:0。即不压缩传输数据。

      • Checksum验证:开启后,可增强数据一致性校验,但是可能会降低传输速度。

        默认值:关闭。

    5. 配置完成后,单击确定
  6. 启动迁移任务。
    说明立即执行的迁移任务请跳过本步骤。只创建预约执行的迁移任务可以按照本步骤手动启动迁移任务。
    1. 在左侧导航栏,单击迁移任务
    2. 找到需要启动的迁移任务,在操作列单击开始任务
      • 如需批量启动迁移任务,勾选多个迁移任务,并单击开始/重试。每个迁移任务的状态必须为未开始已暂停出错
      • 如需暂停迁移任务,在迁移任务状态为同步中时,单击操作列的暂停任务
迁移任务完成后,请根据您所选择的目标镜像类型执行以下操作:
  • 当您的目标镜像为云服务器镜像时,可以通过自定义镜像创建实例。创建实例的具体操作,请参见使用自定义镜像创建实例
  • 当您的目标镜像为容器镜像时,可以通过容器镜像部署应用。具体的示例操作,请参见验证容器镜像