5.0 版

安装 Migrate Connector

在开始迁移虚拟机之前,您必须先配置一个迁移来源,用于指定要在其中迁移虚拟机的本地数据中心。如需配置迁移来源,请在您的 vSphere 数据中心上安装并配置 Migrate Connector

安装完毕后,Migrate Connector 会执行以下操作:

  • 通过端口 443 使用 Google Cloud API 在本地环境和 Google Cloud 之间建立安全的数据路径。迁移流量可以通过公共互联网、VPN、专用 Google 访问通道专用互连进行路由。

  • 使用 vSphere API 对虚拟机磁盘执行存储操作。

  • 查询本地虚拟机清单,以便使用 Google Cloud Console 浏览可迁移的数据中心中的虚拟机。

  • 执行切换时,使用 vSphere API 停止和监控来源虚拟机。

如需详细了解 Migrate Connector,请参阅 Migrate for Compute Engine 架构

准备工作

您必须先在 Google Cloud 上启用 Migrate for Compute Engine,然后才能安装 Migrate Connector。请参阅启用 Migrate for Compute Engine 服务

前提条件

如需安装和注册 Migrate Connector,您必须先满足以下前提条件:

  1. 在 vSphere 上,您必须创建一个 vCenter 用户帐号,使其具有 Migrate Connector 访问您的 vSphere 环境所需的权限。请参阅 1. 为 Migrate Connector 创建 vCenter 用户

  2. 如需将工作站连接到在 vSphere 上运行的 Migrate Connector 虚拟机,您需要创建一个 SSH 公钥/私钥对。请参阅 2. 创建 SSH 公钥/私钥对

  3. 在 Google Cloud 上定义两个帐号:

    • 一个是具有执行注册所需权限的用户帐号。此用户帐号仅需在注册时使用。

    • Migrate Connector 用于将运行时数据转移到 Google Cloud 的服务帐号。

    请参阅 3. 定义 Google Cloud 帐号

  4. 注册 Migrate Connector 时,您必须提供用于托管迁移后虚拟机的 Google Cloud 区域。请参阅 4. 选择 Google Cloud 区域

  5. 确保您已为 Migrate Connector 启用网络访问权限,如“5. 配置网络访问权限”所述。

下面几个部分将详细介绍这些前提条件。

1.为 Migrate Connector 创建 vCenter 用户

创建 vCenter 用户帐号,使其具有 Migrate Connector 访问您的 vSphere 环境所需的必要权限。然后在安装时将用户凭据传递到 Migrate Connector。

下表列出了权限以及在 vSphere 界面中显示的权限:

权限 界面权限
Global.DisableMethods 全局 -> 禁用方法
Global.EnableMethods 全局 -> 启用方法
VirtualMachine.Config.ChangeTracking 虚拟机 -> 更改配置 -> 切换磁盘更改跟踪
VirtualMachine.Interact.PowerOff 虚拟机 -> 交互 -> 关闭电源
VirtualMachine.Provisioning.DiskRandomRead 虚拟机 -> 置备 -> 允许对磁盘进行只读访问
VirtualMachine.Provisioning.GetVmFiles 虚拟机 -> 置备 -> 允许下载虚拟机
VirtualMachine.State.CreateSnapshot 虚拟机 -> 快照管理 -> 创建快照
VirtualMachine.State.RemoveSnapshot 虚拟机 -> 快照管理 -> 移除快照
Cryptographer.Access* 加密操作 -> 直接访问*
*仅当来源虚拟机是加密虚拟机时(vCenter 6.5 及更高版本)。

2.创建 SSH 公钥/私钥对

创建用于将您的工作站连接到在 vSphere 上运行的 Migrate Connector 虚拟机的 SSH 公钥/私钥对。然后在注册过程中将公钥复制到 Migrate Connector 虚拟机。Migrate Connector 会在连接到工作站时使用公钥。

您可以通过多种方式来生成 SSH 公钥/私钥对。以下示例使用的是 Linux ssh-keygen 实用程序,但您可以使用与您的工作站和操作系统兼容的任何实用程序。

  1. 登录工作站,即您用于连接到 vSphere 数据中心的远程机器。

  2. 转到 ~/.ssh 目录。

    如果此目录不存在,请创建一个。

  3. 以下示例使用单个命令生成公钥 (~/.ssh/id_rsa.pub) 和私钥 (~/.ssh/id_rsa):

    ssh-keygen -t rsa

    此命令会创建一个名为 id_rsa.pub 的公钥,您会在注册期间将其传递给 Migrate Connector。您的公钥的实际名称取决于您用于创建密钥的实用程序。

以下示例使用 Windows 上的 PuTTY 客户端生成密钥:

  1. https://www.putty.org/ 下载并安装 PuTTY。

  2. 启动 puttykeygen.exe

  3. 参数下,选择 RSA

  4. 选择生成以创建密钥。

    您会看到 PuTTy 中以 ssh-rsa AAAAB3NzaC1yc2EAAAADAQA... 格式显示的公钥。复制公钥,供稍后在此过程中使用。

  5. 选择保存公钥保存私钥以保存这些密钥。

3.定义 Google Cloud 帐号

在 Google Cloud 上,您需要有两个帐号:

  • 宿主项目中 Migrate Connector 用于将运行时数据转移到 Google Cloud 时所用的服务帐号

    您可以指定现有服务帐号,也可以让 Migrate Connector 为您创建一个新帐号。Migrate Connector 会为服务帐号应用所有必要权限,以便对服务帐号进行配置。

  • 宿主项目中拥有注册 Migrate Connector 所需权限的用户帐号。此用户帐号仅在注册时使用,在运行时不会用到。

    请参阅以下过程以配置此帐号。

如需配置用户帐号,请执行以下操作

您可以在宿主项目中指定任何用户帐号,以注册 Migrate Connector。 指定的用户帐号需要具备以下权限:

  • roles/iam.serviceAccountKeyAdmin
  • roles/iam.serviceAccountCreator
  • roles/vmmigration.admin
  1. 确定您要用来注册的用户帐号的电子邮件地址。在 Google Cloud Console 中,您可以在 IAM 页面上查看项目中的所有用户:

    转到 IAM 页面

  2. iam.serviceAccountKeyAdmin 角色授予用户帐号:

    gcloud projects add-iam-policy-binding PROJECT_ID
      --member=user:USER_EMAIL_ADDRESS --role=roles/iam.serviceAccountKeyAdmin
  3. iam.serviceAccountCreator 角色授予用户帐号:

    gcloud projects add-iam-policy-binding PROJECT_ID
      --member=user:USER_EMAIL_ADDRESS --role=roles/iam.serviceAccountCreator
    
  4. vmmigration.admin 角色授予用户帐号:

    gcloud projects add-iam-policy-binding PROJECT_ID
      --member=user:USER_EMAIL_ADDRESS --role=roles/vmmigration.admin

如需详细了解如何为用户帐号分配角色和权限,请参阅授予、更改和撤消对资源的访问权限

4.选择 Google Cloud 区域

在 Google Cloud 上,区域是指您可以在其中托管资源的特定地理位置。区域有三个或以上的可用区。例如,us-west1 区域表示美国西海岸的一个区域,它有三个可用区:us-west1-aus-west1-bus-west1-c

您可以选择托管资源的区域,从而控制数据的存储和使用位置。您应该将资源分配到多个区域中,以应对服务中断情况。同样,您应该在不同的区域运行备份服务,以免某个区域遇到任何干扰。

在 vSphere 上安装 Migrate Connector 时,您需要选择 Google Cloud 区域。然后,使用此连接器迁移的来源虚拟机就会与所选区域关联。

如需将虚拟机迁移到多个区域,您必须执行以下操作:

  1. 为每个受支持的 Google Cloud 区域创建单独的宿主项目。

  2. 为每个宿主项目安装并配置单独的 Migrate Connector。

  3. 为每个区域使用不同的宿主项目来迁移和部署虚拟机。

这样,即使其中一个区域出现故障,您仍然可以使用与其他区域关联的迁移来源执行迁移。

如需查看支持的区域列表,请参阅 Migrate for Compute Engine 位置

5. 配置网络访问权限

通过打开所需的端口并开放对 Google Cloud API 所需的网域的访问权限,为 Migrate Connector 启用网络访问权限:

  1. 确保您已为 Migrate Connector 启用网络访问权限。 下表列出了连接器的网络连接要求:

    来源 目标位置 防火墙范围 协议 端口
    Migrate Connector vCenter 服务器 企业 LAN HTTPS TCP/443
    Migrate Connector vCenter 服务器 企业 LAN VMW NBD TCP/902
    Migrate Connector vSphere ESXi 企业 LAN VMW NBD TCP/902
    Migrate Connector* Google Cloud API 和 Container Registry(*.googleapis.com、gcr.io) 互联网、Cloud VPNCloud Interconnect HTTPS TCP/443
    Migrate Connector 企业 DNS 服务器 企业 LAN DNS TCP/UDP/53
    * 如果您将 vSphere 上的 Migrate Connector 虚拟机配置为使用代理服务器,则发送到 Google Cloud API 的流量将通过代理服务器进行定向。然后,连接器不需要通过端口 443 直接与 Google Cloud API 建立网络连接。
  2. 确保 vSphere 服务器上的防火墙规则允许从外部访问 Google Cloud AP 所需的以下网域:

    • *.googleapis.com
    • gcr.io

安装 Migrate Connector

如需安装 Migrate Connector,请执行以下操作:

  1. Migrate Connector OVA 文件下载到 VCenter。

  2. 使用具有部署 OVF 文件所需权限的帐号登录 vSphere。

  3. 右键点击您的数据中心,然后选择部署 OVF 模板 (Deploy OVF Template)。

  4. 选择 Migrate Connector OVA 文件,然后选择下一步

  5. 为连接器选择虚拟机名称和文件夹,或者使用默认名称,然后选择下一步

  6. 选择计算资源,然后选择下一步

  7. 查看安装详情,然后选择下一步

  8. 选择供连接器使用的存储数据源,然后选择下一步

  9. 选择将托管该连接器的网络,然后选择下一步

  10. 自定义模板:

    1. 提供您在工作站机器上创建的 SSH 公钥。

      这是您在先前的 2. 创建 SSH 公钥/私钥对中创建的密钥。 在该示例中,SSH 公钥已写入名为 ~/.ssh/id_rsa.pub 的文件中。在此处提供文件内容。例如:ssh-rsa AAAAB3NzaC1yc2EAAAADAQA...

    2. 设置机器的主机名,或者接受默认名称。

    3. (可选)设置网络属性下的任何属性。如果未设置这些属性,则虚拟机会使用 DHCP。您可能需要设置以下两个选项:

      1. HTTP 代理:指定用于发往 Google Cloud 的所有出站流量的代理服务器。Migrate Connector 不支持身份验证,因此请勿指定任何身份验证凭据。

      2. 静态网络路由:如果您的网络环境有相应要求,请指定静态路由。

  11. 完成部署虚拟机的配置后,请选择完成

  12. 部署完成后,启动虚拟机。

  13. 虚拟机启动后,请记录其 IP 地址。

    下一部分需要使用 IP 地址来注册连接器。

将 Migrate Connector 注册为 Google Cloud 来源

在 VSphere 上安装 Migrate Connector 后,您需要将其注册为 Google Cloud 来源。注册后,该连接器就可以将数据传递到 Google Cloud。

如需注册连接器,请执行以下操作:

  1. 在您的工作站中,使用 Migrate Connector 虚拟机的 IP 地址和您之前在 2. 创建 SSH 公钥/私钥对中创建的私钥打开与 Migrate Connector 的 SSH 连接。

    例如,对于 Linux,您可以使用 ssh 命令:

    ssh -i path-to-private-key admin@connector-ip-or-hostname 

    对于 Windows,您可以使用 PuTTy 打开连接:

    1. 启动 Putty。

    2. 连接 -> SSH -> AUTH -> 私钥文件进行身份验证下,选择私钥文件。

    3. 会话 -> 主机名称中,指定:

      admin@connector-ip-or-hostname

    4. 点击打开

  2. 查看 m4c CLI 的帮助信息:

    m4c --help
  3. 查看连接器状态:

    m4c status

    结果应显示连接器可以访问 Cloud API 并且尚未注册。

  4. 如需注册连接器,请输入以下命令:

    m4c register

    系统会提示您输入以下信息:

    1. vCenter 主机 IP 地址,也就是您要从中迁移虚拟机的 vSphere 集群中的 vCenter 的 IP 地址。这通常是您登录 vSphere 时看到的 IP 地址。

    2. 验证 vSphere 指纹。

    3. 输入用于管理 Migrate Connector 的 vCenter 帐号的用户名和密码。此帐号是您按照 1. 为 Migrate Connector 创建 vCenter 用户中的说明创建的帐号。

    4. m4c CLI 会显示一个网址,用于向 Google Cloud 帐号进行身份验证:

      1. 在浏览器中复制网址并将其打开。

      2. 选择用于注册连接器的 Google Cloud 用户帐号。这是您在此步骤中创建的用户帐号:3. 定义 Google Cloud 帐号

        用户帐号仅在注册期间使用,不会在运行时使用。您可以在下方为运行时连接配置一个服务帐号。

      3. 复制浏览器中显示的连接代码,并将其粘贴到 m4c 提示符处。

    5. 选择要与 Migrate Connector 连接的 Google Cloud 宿主项目。您必须已按照启用 Migrate for Compute Engine 服务中的说明,在此项目中启用了 Migrate for Compute Engine API。

    6. 选择要与此 Migrate Connector 连接的 Google Cloud 区域。请参阅 4. 选择 Google Cloud 区域以详细了解如何选择区域。

    7. 输入来源名称。这是 Google Cloud Console 中显示的适用于 Migrate for Compute Engine 的来源名称。

      在以下图像中,来源名称设置为 mfce-test-demo-source

      控制台中显示的来源名称。

      选择新建并输入新来源的名称,或选择现有来源以覆盖它。

    8. 指定您的宿主项目中将供 Migrate Connector 用于连接到 Google Cloud 的服务帐号。您可以选择现有的服务帐号,也可以让 Migrate Connector 为您创建一个新帐号(如上面的 3.定义 Google Cloud 帐号 所示。)

      Migrate Connector 会连接到本地数据中心的磁盘,以便将数据复制到 Google Cloud。注册操作会自动向此服务帐号授予必要的角色,以启用此数据转移。

  5. 检查状态:

    m4c status

    确保连接器现已注册。

  6. 打开 Google Cloud Console 中的 Migrate for Compute Engine 页面:

    转到 Migrate for Compute Engine 页面

  7. 选择来源标签页。新的来源应该会显示在来源下拉列表中。

修改 Migrate Connector 配置

您可以修改 Migrate Connector 配置的属性。修改连接器的方式取决于您要更新的属性:

  • 如需修改 Migrate Connector 虚拟机的属性(例如静态网络路由),请登录 vSphere 并修改 Migrate Connector 的 OVA 参数。

  • 如需修改用于将连接器注册为 Google Cloud 来源的属性,例如 Google Cloud 宿主项目或区域,请使用 m4c CLI。

如需修改虚拟机参数,请执行以下操作

  1. 使用修改虚拟机所需权限的帐号登录 vSphere。

  2. 停止 Migrate Connector 虚拟机。

  3. 修改 Migrate Connector 的 OVA 参数。

  4. 启动虚拟机。

如需修改 Google Cloud 注册属性,请执行以下操作

  1. 在您的工作站中,使用 Migrate Connector 虚拟机的 IP 地址和您之前创建的私钥打开与 Migrate Connector 的 SSH 连接:

    ssh -i path-to-private-key admin@connector-vm-ip 
  2. 运行 register 命令:

    m4c register

    请参阅将 Migrate Connector 注册为 Google Cloud 来源

删除 Migrate Connector

如需删除 Migrate Connector,您必须删除 Google Cloud Console 中的相应来源,并删除 Migrate Connector 的 vSphere 虚拟机。

如需删除 Migrate Connector,请执行以下操作:

  1. 打开 Google Cloud Console 中的 Migrate for Compute Engine 页面:

    转到 Migrate for Compute Engine 页面

  2. 选择来源标签页。

  3. 从下拉列表中选择与 Migrate Connector 对应的来源。

  4. 选择迁移标签页。

  5. 选择所有来源虚拟机。

  6. 选择删除,然后确认删除。

    这些虚拟机会从迁移表中移除。

  7. 选择来源标签页。

  8. 选择来源详细信息

  9. 来源详细信息页面的数据中心连接器部分下,选择来源名称旁边的垃圾箱图标以删除连接器。

  10. 确认删除。

  11. 选择删除来源以删除来源。

  12. 使用删除虚拟机所需权限的帐号登录 vSphere。

  13. 停止 Migrate Connector 虚拟机。

  14. 删除虚拟机。

后续步骤