您可以将 VMware Site Recovery Manager™ (SRM) 与 NSX 联合用于灾难恢复用例。

Site Recovery Manager 支持以下 NSX 联合工作流:

  • NSX 联合全局管理器 (GM) 虚拟机支持对 GM 虚拟机进行完全恢复和测试恢复(不论是否有 NSX 联合管理集群 VIP,均支持)。
  • 计算虚拟机支持对计算虚拟机进行完全和测试恢复。灾难恢复站点中已恢复的虚拟机的 NSX 标记和防火墙规则基于这些 NSX 标记或其他属性,例如 IP 地址和虚拟机名称。

要确保在恢复期间,组和防火墙规则复制到灾难恢复位置,在恢复时管理灾难恢复位置的 NSX 本地管理器必须具有 NSX 标记。

NSX 联合 3.2 之前,SRM 不支持在本地管理器之间复制虚拟机标记。因此,NSX 不会将任何基于虚拟机标记的安全项复制到已恢复的虚拟机。不基于虚拟机标记的安全项(例如,IP 地址或虚拟机名称)可以应用于已恢复的虚拟机。

NSX 联合版本 4.1.1 中,两个字段支持存储阵列复制:replication _typetag_delay_delete_time。如果在 SRM 中使用从主站点到恢复站点的存储阵列复制 SRM,则会创建标记复制策略 replication type 或将其更新为 STORAGE_ARRAY_REPLICATION。

对 SRM 运行保护计划以使用灾难恢复或计划的迁移选项将虚拟机从主站点迁移到恢复站点时,会将虚拟机移至恢复站点,并从主站点中删除虚拟机。当相关虚拟机从主站点中删除并显示在 tag_delay_delete_time 设置内的恢复站点上时,主站点中的标记将复制到恢复站点的虚拟机上。对于存储阵列复制,虚拟机从主站点删除之后在恢复站点上显示的时间取决于配置为进行故障切换的虚拟机计数、存储阵列性能和 ESXi 主机。

如果在 SRM 中使用 vSphere 复制将虚拟机从主站点复制到恢复站点,则不会从主站点中删除虚拟机。因此,无需在标记复制策略中指定 replication_type 或 tag_delay_delete_time。

注: 对于 全局管理器 4.1.1,如果使用复制类型 VSPHERE_REPLICATION 或“其他”选项,则 tag_delay_time 值将设置为 0。replication_type 设置为默认枚举值(无效),tag_delay_delete_time 设置为 0 分钟。

使用 GM API 在 LM 之间配置虚拟机标记复制

NSX 联合 4.1.1 中,要在 本地管理器之间配置虚拟机标记复制,请运行以下 全局管理器 API:
PUT https://{{gm}}/global-manager/api/v1/global-infra/vm-tag-replication-policies/policy1
{
    "display_name":"vm tag replication policy Paris to London",
    "description":"vm tag replication policy1",
    "protected_site": "/global-infra/sites/LM_Paris",
    "replication_type": "STORAGE_ARRAY_REPLICATION", 
    "tag_delay_delete_time": 30,
    "recovery_sites": [
        "/global-infra/sites/LM_London"
    ],
    "groups":[
        "/global-infra/domains/default/groups/Web-VM-Group",
        "/global-infra/domains/default/groups/DB-VM-Group"
    ],
    "vm_match_criteria": "MATCH_BIOS_UUID_NAME"
对于 3.2.3 和 4.1.1 之前的 NSX 联合版本中,要在 本地管理器之间配置虚拟机标记复制,请运行以下 全局管理器 API:
PUT https://{{gm}}/global-manager/api/v1/global-infra/vm-tag-replication-policies/policy1
{
    "display_name":"vm tag replication policy Paris to London",
    "description":"vm tag replication policy1",
    "protected_site": "/global-infra/sites/LM_Paris",
    "recovery_sites": [
        "/global-infra/sites/LM_London"
    ],
    "groups":[
        "/global-infra/domains/default/groups/Web-VM-Group",
        "/global-infra/domains/default/groups/DB-VM-Group"
    ],
    "vm_match_criteria": "MATCH_BIOS_UUID_NAME"
LM_Paris 将 Web-VM-Group + DB-VM-Group 组中虚拟机的 BIOS UUID 的虚拟机标记信息发送到 LM_London。在 SRM 恢复 London 虚拟机之前,LM_London 没有具有 BIOS UUID 的虚拟机,且这些虚拟机在 LM_London 中不可见。但是,当 SRM 恢复 London 中的虚拟机时,LM_London 显示具有 BIOS UUID 的虚拟机,并在这些虚拟机上应用其 NSX 标记。虚拟机获取基于 NSX 标记的安全项。
注: vm_match_criteria 有两个值可选:MATCH_BIOS_UUID_NAME 或 MATCH_NSX_ATTACHMENT_ID。在恢复时,SRM 复制这两个值,以便 SRM 中的任何配置均有效。但是,如果另一个产品完成虚拟机复制后,只复制其中一个值而不复制另一个值,则为 GM 配置相应的 vm_match_criteria 值。

要估算虚拟机从主站点消失并显示在受保护站点上可能需要的时间,您可以对保护计划执行测试,测量从同步存储结束到完成打开优先级 X 虚拟机电源步骤之间的时间间隔。将 tag_delay_delete_time 设置为超过此预计时间。另一个提示是在 Site Recovery Manager 中运行保护计划,并在 SRM 中运行保护计划的同时,将 tag_delay_delete_time 设置为始终大于关闭受保护站点上的虚拟机步骤与完成打开优先级 X 虚拟机电源步骤之间所需的时间。

使用 GM API 检查 LM 之间的虚拟机标记复制

要获取有关在 本地管理器之间复制虚拟机标记的详细信息,请运行以下 全局管理器 API:
GET https://{{gm}}/global-manager/api/v1/global-infra/vm-tag-replication-policies
输出返回如下内容:
{
  "protected_site": "/global-infra/sites/LM_Paris",
  "recovery_sites": [
    "/global-infra/sites/LM_London"
  ],
  "vm_match_criteria": "MATCH_BIOS_UUID_NAME",
  "groups": [
    "/global-infra/domains/default/groups/Web-VM-Group",
    "/global-infra/domains/default/groups/DB-VM-Group"
  ],
  "resource_type": "VMTagReplicationPolicy",
  "id": "policy1",
  "display_name": "vm tag replication policy Paris to London",
  "description": "vm tag replication policy1",
  "path": "/global-infra/vm-tag-replication-policies/policy1",
  "relative_path": "policy1",
  "parent_path": "/global-infra",
  "unique_id": "9ee18586-5480-41d9-8223-690c9226d763",
  "marked_for_delete": false,
  "overridden": false,
  "_create_time": 1638413861377,
  "_create_user": "admin",
  "_last_modified_time": 1638413861377,
  "_last_modified_user": "admin",
  "_system_owned": false,
  "_protection": "NOT_PROTECTED",
  "_revision": 0
}

NSX 仅支持恢复站点中的一个条目。有关详细信息,请参见《NSX 全局管理器 REST API 指南》中的 vm-tag-replication-policies/policy-name API。