创建一个或多个虚拟机组,并将虚拟机实例 UUID 添加到每个组中。通过创建虚拟机组,您可以执行涉及一组虚拟机的批量工作负载迁移。

注: 如果在任何 DFW 规则中配置了“应用对象”(这意味着“应用对象”未设置为“DFW”),请使用该过程。有关详细信息,请参见 迁移分布式防火墙配置

只有在 NSX-V 环境中的 DFW 规则使用基于安全标记并具有动态成员资格的安全组或使用静态成员资格时,您才需要创建虚拟机组。如果在 NSX-V 环境中仅使用基于 IP 的 DFW 规则,在将工作负载虚拟机迁移到 NSX 之前,不需要创建虚拟机组。

注意:下面的步骤 2、3 和 4 要求您安装 NSX 3.2.2 或更高版本。

  1. 进行以下 API 调用:
    POST https://{nsxt-mgr-ip}/api/v1/migration/vmgroup?action=pre_migrate

    该 API 创建一个逻辑分段端口 (Logical Segment Port, VIF),它与要通过 L2 网桥迁移到 NSX 覆盖网络分段的虚拟机组中的每个 NSX-V 工作负载虚拟机的虚拟机实例 UUID 相对应。有关该 API 的示例请求正文,请参见 NSX Tech Zone 文章的直接迁移过程部分。

  2. 调用 API GetVmGroupExecutionDetails 以获取具有相同 group_id(和跨 VC 迁移的 federation_site_id)的预迁移 API 调用的结果。结果包括“logical_switch_id_to_vm_instance_id_and_vnics_map”列表和可选的“failedVmInstanceIds”列表,其中包含在源 VC 中未找到的虚拟机的 UUID。例如:
    GET /api/v1/migration/vmgroup/actions/get_vm_group_execution_details?group_id=<group-id>&federation_site_id=<site_id>
    Response:
    {
      "logical_switch_id_to_vm_instance_id_and_vnics_map":[
        {
          "ls_id":"36885723-7581-4696-a195-ef83851dc35f",
          "vm_and_vnics_mapping":[
            {
              "vm_instance_id":"52199e21-6aab-26e4-8c82-069a17d67667",
              "vnics":[
                "4001"
              ]
            },
            {
              "vm_instance_id":"52630e5d-ce6f-fac0-424c-4aa4bdf6bd56",
              "vnics":[
                "4001"
              ]
            }
          ]
        }
      ],
      "failedVmInstanceIds":[
        "501557f6-2197-1fe8-14e5-89898cee5fec"
      ]
    }
  3. logical_switch_id_to_vm_instance_id_and_vnics_map 构建 vmInstanceUuid to (vnic, ls_id) 的映射。
  4. 使用该映射来填充每个虚拟机的重新放置规范并迁移虚拟机。

您可以从 http://{vCenter-IP-Address}/mob 上的 VMware vCenter Managed Object Browser (MOB) 中获取虚拟机实例 UUID,或针对 vSphere 运行 API 请求。

请参见本主题中的示例,以了解从 VMware vCenter MOB 中查找虚拟机实例 UUID 的步骤。

示例: 从 vCenter MOB 中获取虚拟机实例 UUID

  1. 在 Web 浏览器中,访问 vCenter Managed Object Browser,网址为 http//{vCenter-IP-Address}/mob
  2. 单击内容
  3. 在“名称”列中找到 rootFolder,然后在“值”列中单击相应的链接。例如,group-d1。
  4. 在“名称”列中找到 childEntity,然后在“值”列中单击相应的链接。例如,datacenter-21。
  5. 在“名称”列中找到 hostFolder,然后在“值”列中单击相应的链接。例如,group-h23。
  6. 在“名称”列中找到 childEntity。相应的“值”列包含指向主机集群的链接。单击相应的主机集群链接。例如,domain-c33。
  7. 在“名称”列中找到 host。相应的“值”列按 vCenter MOID 和主机名列出该集群中的主机。单击相应的主机链接,例如 host-32。
  8. 在“名称”列中找到 vm。相应的“值”列按 vCenter MOID 和主机名列出虚拟机。例如,vm-216 (web-01a)。单击您感兴趣的虚拟机。
  9. 在“名称”列中找到 config。单击“值”列中的 config
  10. 在“名称”列中找到 instanceUuid。相应的“值”列列出虚拟机实例 UUID。例如,502e71fa-1a00-759b-e40f-ce778e915f16。