使用 CloudEndure 将虚拟机迁移到 Compute Engine

本指南介绍了如何使用虚拟机迁移服务(由 CloudEndure 提供支持)将运行受支持操作系统的服务器从本地机器或另一个公共云平台上的虚拟机导入 Google Cloud Platform。在本实验结束时,您的项目中将会实例化一个虚拟机,该虚拟机将作为另一个环境中机器的副本。

此外,您也可以参阅将虚拟机迁移到 Google Compute Engine 的最佳做法,或尝试使用虚拟磁盘导入工具

目标

  • Google Cloud Platform Console 中启动虚拟机迁移服务。
  • 安装 CloudEndure 复制代理并将虚拟机复制到 Compute Engine。
  • 启动新创建的虚拟机。

费用

虚拟机迁移服务可免费使用。如果您使用此服务,Google 或 CloudEndure 不会向您收取任何费用。

对于导入 Compute Engine 的虚拟机实例,系统将根据 Compute Engine 针对虚拟机实例的价格表向您收费。

准备工作

要求

要使用虚拟机迁移服务,您要迁移的源机器必须运行以下任一操作系统:

Windows

  • Microsoft Windows Server 2016 64 位,Standard Edition 和 Datacenter Edition
  • Microsoft Windows Server 2012 R2 64 位,Standard Edition 和 Datacenter Edition
  • Microsoft Windows Server 2012 64 位,Standard Edition 和 Datacenter Edition

  • Microsoft Windows Server 2008 R2 64 位,Standard Edition 和 Datacenter Edition

  • Microsoft Windows Server 2008 Service Pack 2(32 位或 64 位),Standard Edition 和 Datacenter Edition

  • Microsoft Windows Server 2003 Service Pack 2(32 位或 64 位),所有版本

  • Microsoft Windows Server 2003 R2 Service Pack 2(32 位或 64 位),所有版本

    如果您迁移的是 Windows Server 2003 环境,则您的实例将按照 Windows Server 虚拟机的费率进行计费。

将 Windows Server 环境迁移到 Google Cloud Platform 之前,您必须做好迁移 Windows Server 机器的准备工作

Linux

  • SUSE Linux(SLES)11 或更高版本
  • Debian Linux 8
  • Kali Linux 2.0
  • Ubuntu 12.04 或更高版本
  • Red Hat Enterprise Linux (RHEL) 5.0 或更高版本

  • CentOS 6.0 或更高版本

  • Oracle Linux 6.0 或更高版本

对于 SUSE,RHEL 和 Oracle Linux,您必须拥有使用这些操作系统的现有许可。您必须负责确定您是否拥有运行操作系统的正确许可。对于 Windows,任何现有的许可证都将转换为 Google Cloud Platform 的即用即付许可证。

  1. 登录您的 Google 帐号。

    如果您还没有 Google 帐号,请注册新帐号

  2. 选择或创建 Google Cloud Platform 项目。

    转到“管理资源”页面

  3. 确保您的 Google Cloud Platform 项目已启用结算功能。

    了解如何启用结算功能

创建服务帐号和服务帐号密钥

要使用 CloudEndure 虚拟机迁移服务,您必须使用服务帐号密钥将该服务与您的 Google Cloud Platform Console 项目关联。您必须使用此服务帐号密钥才能访问 CloudEndure 门户。

  1. 在 GCP Console 中,转到“服务帐号”页面。

    转到“服务帐号”页面

  2. 如果出现提示,请选择项目。

  3. 点击创建服务帐号

  4. 指定服务帐号的名称,并向该帐号授予项目所有者角色。

    添加服务帐号的屏幕截图

  5. 选中提供新的私钥 (Furnish a new private key) 旁边的框,然后从密钥类型列表中选择 JSON

  6. 点击创建以创建服务帐号,然后按照说明下载密钥。

启动虚拟机迁移服务

虚拟机迁移服务由 Google Cloud Platform 的第三方合作伙伴 CloudEndure 提供。在迁移虚拟机之前,您必须注册 CloudEndure。CloudEndure 不收取此服务的费用。

  1. 在 GCP Console 中,打开“虚拟机实例”页面。

    转到“虚拟机实例”页面

  2. 要启动迁移服务,请点击导入虚拟机

    选择虚拟机导入按钮的屏幕截图

  3. 点击继续以激活迁移服务。

激活虚拟机迁移服务

  1. CloudEndure 登录页面,点击注册以注册该服务。
  2. 在“激活”页面上,填写所需的详细信息。

    CloudEndure 激活页面的屏幕截图

  3. 如果您接受服务条款,请选中我同意 CloudEndure 条款和条件 (I agree to the CloudEndure Terms and Conditions) 框,然后点击激活我的帐号 (Activate My Account) 以完成注册。CloudEndure 会向您用于注册的电子邮件地址发送一封确认电子邮件。

  4. 要激活您的帐号,请点击电子邮件中的链接。

您会被重定向到虚拟机迁移控制台。当然,您也可以随时直接访问控制台。

迁移您的实例

您可以使用虚拟机迁移服务将正在运行的 Windows/Linux 服务器(物理/虚拟/云端)迁移到您选择的目标云区域,而不会在源基础架构上造成任何系统服务中断。因为这种复制是连续的,并且在块级别完成。

下图是一个网络图,显示了针对迁移的网络和端口要求,接下来是迁移工作负载的指南和一些最佳做法。

说明整个虚拟机迁移过程的网络图

在目标区域中准备暂存网络

在目标区域中,创建 VPC 网络。此网络会用作托管 CloudEndure 复制服务器的暂存网络。如果您计划使用 default 网络,则可以跳过此步骤。

配置您的 CloudEndure 帐号

  1. 登录已激活的 CloudEndure 帐号。
  2. 提供您之前创建的服务帐号的项目 ID 和 JSON 密钥。

选择复制选项

选择要在其中迁移虚拟机的目标区域。然后,选择您创建的复制服务器网络。如果您未创建新网络,请选择default网络。

安装迁移代理

在要迁移的每台源机器上安装虚拟机迁移代理。要在块级别将机器从源复制到目标,必须安装虚拟机迁移代理。此代理可以安装在任何受支持的操作系统中。此步骤会将数据复制到 Google Cloud Platform 中,但不会启动最终目标机器。

要安装迁移代理,请使用以下说明将代理下载到要迁移的机器。

在虚拟机迁移控制台中,依次点击 HelpHow to add machines。帮助页面中包含安装迁移代理所需的安装令牌。请复制此安装令牌。

Linux

在 Linux 上,使用以下命令下载安装程序:

wget -O ./installer_linux.py https://gcp.cloudendure.com/installer_linux.py

然后使用以下命令运行安装程序。接着将 [TOKEN] 替换为您的安装令牌,如下所示:

sudo python ./installer_linux.py -t [TOKEN]

要运行 Linux 安装程序,必须在机器上安装 Python 2.4 或更高版本。如果您安装的是其他 Python 版本,将无法运行安装程序。

Windows

下载 Windows 安装程序

在命令提示符窗口中,使用以下命令运行安装程序。接着将 [TOKEN] 替换为您的安装令牌,如下所示:

installer_win.exe -t [TOKEN]

成功安装代理程序后,您将可以在虚拟机迁移控制台的 Migration标签中跟踪迁移的进度。

数据复制到 Google Cloud Platform 的进度显示在控制台的 Data Replication Progress 列下方。

如果 Status 列显示了红色停止符号图标,请验证以下事项:

  • 源服务器(其中已安装代理)可以通过 TCP 端口 443 与虚拟机迁移管理服务器 (console.cloudendure.com) 进行通信。在安装过程中,Linux 服务器可能需要访问代码库。

  • 位于暂存区(复制服务器网络)中的目标区域的复制服务器可以通过 TCP 端口 443 与虚拟机迁移服务管理服务器 (console.cloudendure.com) 进行通信,以及可以通过 TCP 端口 443 与出站互联网连接通信以下载安装包。默认情况下,CloudEndure 的服务会自动添加防火墙规则以允许针对项目的这种访问。

  • 源服务器(其中已安装代理)可以通过 TCP 端口 1500 与目标区域的复制服务器网络中的复制服务器进行通信。同样,CloudEndure 也会添加此防火墙规则。

配置目标机器

接下来,对于要迁移的每个虚拟机实例,查看相应的虚拟机属性,只需在虚拟机迁移控制台中点击该服务器以打开 Blueprint 标签即可。

您可以使用 Blueprint 标签设置目标虚拟机实例的属性。例如,您可以更改要在其中创建虚拟机的目标网络或内部 IP 等。另外,您可以在安装代理后随时更改这些属性。您无需等待复制完成即可修改这些设置。这些属性包括:

  • 目标实例的机器类型

  • 目标实例的机器名称

  • 目标 VPC 网络/子网

  • 内部 IP

  • 虚拟机实例使用的每个永久性磁盘的类型

要保存更改,请点击 Save Blueprint

验证初始同步是否完成

复制服务器可能需要数小时或更长时间才能同步数据,具体取决于源磁盘的大小以及您要将机器迁移到的目标区域。初始同步完成后,在数据复制进度 (Data Replication Progress) 列中,复制的机器将显示“Continuous Data Protection”,这表示您可以测试目标实例是否已创建。在 Status 列中,会显示一个紫色启动图标,表示您可以在目标位置启动目标机器。

初始同步进度的屏幕截图

测试目标虚拟机实例是否已创建

准备在目标位置测试服务器是否已创建时,请选择服务器,然后依次点击启动目标机器测试

选定用于测试的实例的屏幕截图

您可以在 Job Progress 标签中跟踪目标机器启动过程的进度,该标签还会显示此过程中出现的错误。

测试目标虚拟机的可用性

转到虚拟机实例页面并验证已创建的目标虚拟机。默认情况下,目标虚拟机的前缀为其原始名称。如果您在 Blueprint 中更改了目标实例的名称,则目标虚拟机将使用您选择的名称。

验证您是否可以登录目标机器。对于 Windows 目标机器,请使用 RDP;对于 Linux 机器,请使用 SSH。

转到“虚拟机实例”页面

使用源机器的凭据登录其目标机器。注意,请使用外部 SSH 和 RDP 客户端,而不是尝试通过 Cloud Platform Console 的网络接口进行连接。

在目标虚拟机上测试应用

创建测试目标虚拟机后,您应该测试所有应用以查看其是否正常运行。

如果需要调整任何内容,请在 Blueprint 标签或源机器上进行调整。请重复此测试过程,直到您的所有应用都能正常运行。

完成迁移实例的创建

测试完您的机器后,您就可以在 Google Cloud Platform 上切换到您的实例。

  1. 计划一个短暂的停机时间,您可以根据测试阶段的经验估算停机时间。在这段时间内,您将创建最新的目标测试机器并确认目标工作负载是否正常运作。
  2. 停止或停用对您的源服务器的访问,以防止用户进行访问以及可能在最后一分钟作出的更改(这种更改可能无法复制到目标虚拟机)。
  3. 在确定无法对源服务器进行任何更改后,请在虚拟机迁移控制台上选择服务器,然后点击切换以启动目标虚拟机最新应用状态的最终副本。

成功创建目标机器后,请重复进行健全性测试以确保一切按预期运行,然后配置 DNS 服务器以将所有用户指向新的目标机器。

迁移后的步骤

安装访客环境软件包

如果您在登录虚拟机实例时遇到问题,则可能需要在实例上安装 Compute Engine 访客软件包。该访客软件包将设置用户帐号、实例主机名、针对关闭和启动脚本的支持等。

要安装访客代理,请执行以下操作:

从源服务器中移除 CloudEndure 代理

如果您确定目标区域中实时迁移的机器正在使用中,并且您无需创建更多目标机器,请从源服务器中移除 CloudEndure 代理,具体操作如下:

  1. 在虚拟机迁移控制台中,选中要从中移除迁移代理的机器旁边的框。
  2. 点击机器操作 (Machine Actions),然后选择从此控制台中删除机器 (Remove machines from this console)。

这将停止连续复制并从源机器中卸载虚拟机迁移代理。

已知问题

我的服务帐号被删除,因而虚拟机迁移服务无法在复制过程中继续运行。

如果您删除了最初用于迁移的服务帐号,请按照创建新帐号的步骤操作,然后将新的 JSON 密钥添加到 Cloud Endure 帐号。

如果您更改了服务帐号的权限或修改了帐号,请按照创建新帐号的步骤重新配置您的帐号。

针对 Windows Server 2003 实例的限制

在将 Windows Server 2003 环境迁移到 Google Cloud Platform 之前,请注意以下限制:

  • 您不得向 Windows Server 2003 实例分配外部 IP 地址。由于 Microsoft 已经终止对 Windows Server 2003 提供支持,因此您的实例可能很容易遭到安全漏洞攻击。通过 VPC 网络为您的实例设置专用 IP 地址。
  • 迁移 Windows Server 2003 虚拟机后,Windows 的副本不会自动激活。您必须使用批量激活密钥 (MAK)(与 Microsoft 之间的批量许可协议的一部分)在每个实例上激活 Windows。
  • 针对 Google Cloud Platform 上的 Windows Server 2003 的支持受到限制。由于 Microsoft 不再支持 Windows Server 2003,因此您可能会遇到无法完全解决的问题。
  • Compute Engine 的以下功能不适用于 Windows Server 2003 实例:

    • Windows Server 2003 不支持针对磁盘快照的卷影复制服务 (VSS)。如果要截取磁盘快照,则必须使用标准快照系统
    • 您的实例不能具有多个网络接口。
    • 您无法将 GPU 或 TensorFlow 处理单元 (TPU) 添加到您的实例。
  • 硬件支持可能会受到限制,具体取决于您的 Windows Server 2003 版本。在迁移过程中,您必须选择您的 Windows Server 2003 版本支持的机器类型。

    例如,Windows Server 2003 Standard Edition 最多支持 4 个 vCPU 和 32 GB 内存。因此在迁移期间,您必须选择最多具有 4 个 vCPU 和 32 GB 内存的机器类型。

  • 适用于 Compute Engine 的 Windows 访客环境(可在 Compute Engine 和虚拟机之间传输信息)仅支持以下数量有限的功能:

    • 您可以使用 Console、gcloud 命令行工具或 API 在迁移的实例上创建新的用户帐号。
    • 您可以重置已在实例上使用的用户帐号的密码。
  • Windows Server 2003 实例当前不支持 Stackdriver Windows 监控和日志记录代理。

后续步骤

  • 如需了解在 Compute Engine 中使用 Windows Server 实例或对其进行问题排查的提示,请参阅 Windows 实例的提示和问题排查
  • 亲自试用其他 Google Cloud Platform 功能。查阅我们的教程
此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Compute Engine 文档