22.7 使用 Migrate 代理注册工作负载并发现细节

Migrate 代理是一个命令行实用程序,使用它可将源工作负载注册到 PlateSpin Migrate 服务器,以及通过 HTTPS (TCP/443) 将有关工作负载的细节发送到服务器。通过注册可以添加无法发现的工作负载,例如:

  • 在没有站点到站点 VPN 的情况下,将 Migrate 服务器部署到云中时

  • 当公司网络或策略限制禁止打开用于自动发现的端口时

使用 Migrate 代理,无需打开任何入站端口(如 SMB 或 NetBIOS)即可迁移 Windows 工作负载。只需打开 HTTPS (TCP/443) 和一个复制端口(默认为 TCP/3725),使源 Windows 工作负载能够进行出站通讯。对于源 Linux 工作负载,还需要打开 SSH 端口 (TCP/22)。请参见部分 2.6.2, 工作负载注册的要求

当您在源工作负载上使用 Migrate 代理时,源工作负载会联系目标工作负载以进行数据传输。方向在服务器级别控制。您必须在 Migrate 服务器上重新配置复制端口方向 (SourceListensForConnection=False)。请参见配置复制端口的联系方向

必须在每个源工作负载上安装 Migrate 代理。使用 register 选项时,Migrate 代理会在工作负载本地执行发现,并通过 HTTPS (TCP/443) 将其细节发送到 Migrate 服务器。注册工作负载后,请使用 Migrate Web 界面来配置要将工作负载迁移到部署了 Migrate 服务器实例的目标云的作业。

注册的工作负载与发现的工作负载存在以下方面的差异:

  • 注册的源工作负载不会将源身份凭证储存在 Migrate 服务器上。

  • 您必须使用 Migrate 代理在注册的源工作负载中安装、升级和去除 Windows PlateSpin 驱动程序。

  • 在删除所注册源工作负载的合同后,必须手动从工作负载上去除 OFX 控制器。请参见清理 Linux 工作负载

有关 Migrate 代理命令的信息,请参见Migrate 代理实用程序

22.7.1 使用 Migrate 代理注册和发现 Windows 工作负载

开始之前,请确保源 Windows 工作负载和网络设置符合Migrate 代理实用程序的要求。对于 Windows 工作负载,Migrate 代理实用程序需要管理员特权才能执行命令。

  1. 以管理员身份登录源 Windows 工作负载。

  2. 确保该工作负载上已打开 TCP 端口 443。

  3. 下载适用于 Windows 的 Migrate 代理实用程序。将 MigrateAgent.cli.exe 文件保存到工作负载上某个方便访问的位置。

    请参见适用于 Windows 的 Migrate 代理实用程序

  4. 在管理员提示符下,导航到该文件的保存位置,然后输入以下命令查看命令的帮助:

    MigrateAgent.cli.exe help
  5. 将工作负载注册到相应的 Migrate 服务器云实例。输入

    MigrateAgent.cli.exe /register /psserver=ps_dns_or_ipaddr <username> /password=<password>

    提供有权添加工作负载的 PlateSpin Migrate 服务器管理员级用户的身份凭证。您可以将 /password= 选项与口令、-pwdfile= 选项与包含口令的文件路径结合使用,或者不在命令序列中指定口令。如果您未在命令行中包含口令,脚本会提示您输入口令。当您键入口令时,口令会模糊化,且不会显示在进程列表中。

    例如:

    Migrate.Agent.cli.exe /register /psserver=10.10.10.101 /username=jsmith /password=jspwd

    注:如果您修改了 Migrate 服务器的公用 IP 地址,则必须在为该服务器配置的每个源 Windows 工作负载上运行以下命令,以修改 IP 地址。

    MigrateAgent.cli.exe /config /setting=psserver:<new-ps-dns-or-ipaddr>

    例如:

    MigrateAgent.cli.exe /config /setting=psserver:10.10.20.202
  6. 确认 PlateSpin 控制器正在运行。输入

    MigrateAgent.cli.exe /status

    如果该控制器正在运行,则状态报告结果如下所示:

    PlateSpin 控制器守护程序正在运行并已向服务器 10.165.x.x 注册。
    未安装 PlateSpin blockwatch 驱动程序。

22.7.2 使用 Migrate 代理注册和发现 Linux 工作负载

开始之前,请确保源工作负载和网络设置符合Migrate 代理实用程序的要求。Linux 主要注意事项如下:

  • 要使用适用于 Linux 的 Migrate 代理实用程序,源计算机上需要安装 GNU C Library (glibc) 2.11.3 或更高版本。

  • Migrate 代理需要 root 级别访问权限才能执行命令。非 root 用户必须是授权 sudo 用户。

    对于非 root 用户,在 Migrate 代理命令中键入 sudo 以使用 root 特权执行这些命令。例如:

    sudo ./MigrateAgent -h

    如果系统提示您输入口令,请提供您登录使用的非 root 系统用户名的口令。

    注:在 AWS 中,必须运行 sudo -i 并在 root 外壳中执行命令。使用部分 22.7.3, 针对 AWS 中的工作负载使用 Migrate 代理注册和发现 Linux 工作负载中的注册过程。

要注册源 Linux 工作负载,请执行以下操作:

  1. root 用户身份或具有 root 级别访问权限的非 root 用户身份登录源 Linux 工作负载。

  2. 确保该工作负载上已打开 TCP 端口 443。

  3. 下载适用于 Linux 的 Migrate 代理实用程序。将下载的文件提取到 /MigrateAgent 目录。

    请参见适用于 Linux 的 Migrate 代理实用程序

  4. 在终端中导航到 /MigrateAgent 目录,然后输入以下命令查看命令的帮助:

    ./MigrateAgent -h
  5. 将工作负载注册到相应的 Migrate 服务器云实例。输入

    ./MigrateAgent register [-h] <ps_dns_or_ipaddr> <ps_username> [[-p <user_password>] | [-pf <passwordfile_path>]]

    指定云中 PlateSpin Migrate 服务器实例的 IP 地址或 DNS 名称。提供有权添加工作负载的 PlateSpin Migrate 服务器管理员级用户的身份凭证。您可以将 -p 选项与口令、-pf 选项与包含口令的文件路径结合使用,或者不在命令序列中指定口令。如果您未在命令行中包含口令,脚本会提示您输入口令。当您键入口令时,口令会模糊化,且不会显示在进程列表中。

    例如:

    ./MigrateAgent register 10.10.10.101 jsmith -p jspwd 

    注:如果您修改了 Migrate 服务器的公用 IP 地址,则必须在为该服务器配置的每个源 Linux 工作负载上运行以下命令,以修改 IP 地址。

    ./MigrateAgent configure <ps_dns_or_ipaddr> <new-ps-dns-or-ipaddr>

    例如:

    ./MigrateAgent configure 10.10.10.101 10.10.20.202
  6. 确认 PlateSpin 控制器正在运行。输入

    ./MigrateAgent status

    如果该控制器正在运行,则状态报告结果如下所示:

    PlateSpin 控制器守护程序正在运行并已向服务器 10.165.x.x 注册。
    未安装 PlateSpin blockwatch 驱动程序。

22.7.3 针对 AWS 中的工作负载使用 Migrate 代理注册和发现 Linux 工作负载

PlateSpin Migrate Web 界面支持将 Amazon Web Services EC2 VM 实例迁移到 Microsoft Azure,无需 VPN。对于 Azure 中的 VM,工作负载的源工作负载操作系统和体系结构必须受支持。有关此场景的迁移要求,请参见部分 12.0, 云到云迁移的先决条件

开始之前,请确保源 Linux 工作负载和网络设置符合Migrate 代理实用程序的要求。对于 AWS 中 Linux 工作负载,Linux 主要注意事项如下:

  • 要使用适用于 Linux 的 Migrate 代理实用程序,源计算机上需要安装 GNU C Library (glibc) 2.11.3 或更高版本。

  • Migrate 代理需要 root 级别访问权限才能执行命令。非 root 用户必须是授权 sudo 用户。

    注:对于 Amazon Web Services 中的源 Linux 工作负载,AMI 模板会自动创建允许使用 sudo 的默认非 root 系统用户帐户。此帐户的用户名因 AMI 提供商而异。对于 Amazon Linux 映像,大多数 Linux 发行套件的非 root 用户名是 ec2-user。CentOS AMI 的用户名是 centos。有关详细信息,请参见 AMI 提供商文档。

    在 AWS 中,非 root 用户必须运行 sudo -i 命令才能访问 root 外壳,然后才能运行 Migrate 代理命令。在每个 Migrate 代理实用程序命令中键入 sudo 可能导致在某些源工作负载上运行失败。

  • SSH 的 AWS 登录需要提供您为 AWS EC2 密钥对所创建私用密钥文件的本地路径。

要将 AWS 中的源工作负载注册到 Migrate 服务器,请执行以下操作:

  1. 使用具有 root 级别访问权限的系统用户名和私用密钥文件的本地路径登录 AWS 中的源 Linux 工作负载。

  2. 确保该工作负载上已打开 TCP 端口 443。

  3. 下载适用于 Linux 的 Migrate 代理实用程序。将下载的文件提取到 /MigrateAgent 目录。

    请参见适用于 Linux 的 Migrate 代理实用程序

  4. 在终端中,导航到 /MigrateAgent 目录。

  5. (非 root 用户)在服务器控制台中,运行 sudo -i。输入

    sudo -i

    此命令会将您置于 root 外壳中,在其中您将以 root 用户身份执行命令。终端提示符此时会显示 root 而不是您的非 root 用户名,例如 ec2-user

    如果 Linux 提示您输入口令,请提供您所登录用户名的口令。

  6. 输入以下命令查看 Migrate 代理命令帮助:

    ./MigrateAgent -h
  7. 将工作负载注册到相应的 Migrate 服务器云实例。输入

    ./MigrateAgent register [-h] <ps_dns_or_ipaddr> <ps_username> [[-p <user_password>] | [-pf <passwordfile_path>]]

    指定云中 PlateSpin Migrate 服务器实例的 IP 地址或 DNS 名称。提供有权添加工作负载的 PlateSpin Migrate 服务器管理员级用户的身份凭证。您可以将 -p 选项与口令、-pf 选项与包含口令的文件路径结合使用,或者不在命令序列中指定口令。如果您未在命令行中包含口令,脚本会提示您输入口令。当您键入口令时,口令会模糊化,且不会显示在进程列表中。

    例如:

    ./MigrateAgent register 10.10.10.101 jsmith -p jspwd 

    注:如果您修改了 Migrate 服务器的公用 IP 地址,则必须在为该服务器配置的每个源 Linux 工作负载上运行以下命令,以修改 IP 地址。

    ./MigrateAgent configure <ps_dns_or_ipaddr> <new-ps-dns-or-ipaddr>

    例如:

    ./MigrateAgent configure 10.10.10.101 10.10.20.202
  8. 确认 PlateSpin 控制器正在源工作负载上运行。输入

    ./MigrateAgent status

    如果该控制器正在运行,则状态报告结果如下所示:

    PlateSpin 控制器守护程序正在运行并已向服务器 10.165.x.x 注册。
    未安装 PlateSpin blockwatch 驱动程序。
  9. (非 root 用户)退出 sudo -i root 外壳。按 Ctrl+D 或输入

    exit

    终端提示符此时会显示您的非 root 用户名,例如 ec2-user