Eine Fehlerdomäne ist eine logische Gruppierung von NSX Edge-Knoten innerhalb eines NSX Edge-Clusters. Fehlerdomänen ergänzen den Algorithmus für die automatische Platzierung und garantieren die Dienstverfügbarkeit im Falle eines Ausfalls, der mehrere NSX Edge-Knoten betrifft.

In einer Fehlerdomäne werden aktive und Standby-Instanzen eines Tier-1-SR oder Mitglieder eines Unterclusters immer in unterschiedlichen Fehlerdomänen ausgeführt. Ohne eine Fehlerdomäne könnte ein Tier-1-SR automatisch auf NSX Edge-Knoten platziert werden, die sich im selben Rack befinden. Wenn Rack1 also ausfällt, fallen sowohl die aktive als auch die Standby-Instanz dieses Tier-1-SR ebenfalls aus.

Ohne konfigurierte Fehlerdomänen:

Abbildung 1.

– In einem Edge-Cluster mit vier Edge-Knoten (EdgeNode1, EdgeNode2, EdgeNode3, EdgeNode4) werden alle neuen Tier-1-Gateways im A/S-Modus automatisch in zwei dieser vier Edge-Knoten platziert.

– Hochverfügbarkeit kann jedoch nicht erreicht werden, wenn Tier-1-A/S in Rack1 und Tier-2-A/S in Rack2 bereitgestellt wird. Wenn Rack1 ausfällt, geht Tier-1-A/S auf EdgeNode1 und EdgeNode2 verloren, da es sich in derselben Fehlerdomäne befindet.

Mit konfigurierten Fehlerdomänen:

Abbildung 2.

– EdgeNode1 und EdgeNode2 sind als Teil von failure domain-1 konfiguriert, während sich EdgeNode3 und EdgeNode4 in der failure domain-2 befinden. Wenn ein neuer Tier-1-SR erstellt wird und die aktive Instanz dieser Tier-1 auf EdgeNode1 gehostet wird, wird der Standby-Tier-1-SR in failure domain-2 (EdgeNode3 oder EdgeNode4) instanziiert.

– Nach der Konfiguration von Fehlerdomänen auf einem Edge-Cluster werden alle neuen Aktiv/Standby-Tier-1-SRs ordnungsgemäß in verschiedenen Fehlerdomänen platziert.

Prozedur

  1. Erstellen Sie API Fehlerdomänen für jeden Edge-Knoten, den Sie dem statusbehafteten A-A-Cluster hinzufügen. Fügen Sie z. B. FailureDomain1 FD1-EdgeNode1 und FD1-EdgeNode2 hinzu und FailureDomain2 FD2-EdgeNode3 und FD2-EdgeNode4. Legen Sie den Parameter preferred_active_edge_services für Edge-Knoten in beiden Fehlerdomänen auf „true“ fest. Der Parameter preferred_active_edge_services ist nur nützlich, wenn ein Tier-1-Gateway im vorbeugenden Failover-Modus erstellt wird.
    POST /api/v1/failure-domains
    {
    "display_name": "FD1-EdgeNode1",
    "preferred_active_edge_services": "true"
    "display_name": "FD1-EdgeNode2",
    "preferred_active_edge_services": "true"
    }
    
    POST /api/v1/failure-domains
    {
    "display_name": "FD2-EdgeNode3",
    "preferred_active_edge_services": "true"
    "display_name": "FD2-EdgeNode4",
    "preferred_active_edge_services": "true"
    }
  2. Verknüpfen Sie mithilfe der API jeden Edge-Knoten mit der Fehlerdomäne für die Site. Rufen Sie zuerst die GET /api/v1/transport-nodes/<transport-node-id>-API auf, um die Daten über den Edge-Knoten abzurufen. Verwenden Sie das Ergebnis der GET-API als Eingabe für die PUT /api/v1/transport-nodes/<transport-node-id>-API, wobei die zusätzliche Eigenschaft failure_domain_id entsprechend festgelegt ist. Beispiel:
    GET /api/v1/transport-nodes/<transport-node-id>
    Response:
    {
        "resource_type": "TransportNode",
        "description": "Updated NSX configured Test Transport Node",
        "id": "77816de2-39c3-436c-b891-54d31f580961",
        ...
    }
    PUT /api/v1/transport-nodes/<transport-node-id>
    {
        "resource_type": "TransportNode",
        "description": "Updated NSX configured Test Transport Node",
        "id": "77816de2-39c3-436c-b891-54d31f580961",
        ...
        "failure_domain_id": "<UUID>",
    }
    
  3. Konfigurieren Sie mithilfe der API den Edge-Cluster, um Knoten basierend auf der Fehlerdomäne zuzuteilen. Rufen Sie zuerst die GET /api/v1/edge-clusters/<edge-cluster-id> -API auf, um die Daten über den Edge-Cluster abzurufen. Verwenden Sie das Ergebnis der GET-API als Eingabe für die PUT /api/v1/edge-clusters/<edge-cluster-id>-API, wobei die zusätzliche Eigenschaft allocation_rules entsprechend festgelegt ist. Beispiel:
    GET /api/v1/edge-clusters/<edge-cluster-id>
    Response:
    {
        "_revision": 0,
        "id": "bf8d4daf-93f6-4c23-af38-63f6d372e14e",
        "resource_type": "EdgeCluster",
        ...
    }
    PUT /api/v1/edge-clusters/<edge-cluster-id>
    {
        "_revision": 0,
        "id": "bf8d4daf-93f6-4c23-af38-63f6d372e14e",
        "resource_type": "EdgeCluster",
        ...
        "allocation_rules": [
            {
                "action": 
                    {
                     "enabled": true,
                     "action_type": "AllocationBasedOnFailureDomain"
                    }
            }
        ],
    }

Ergebnisse

Die NSX Edge-Knoten verweisen auf verschiedene Fehlerdomänen. Sie können sie jetzt verwenden, um einen Cluster zu erstellen und das Tier-0-Gateway im statusbehafteten A-A-HA-Modus zu konfigurieren.