Un dominio di errore è un raggruppamento logico di nodi NSX Edge in un cluster NSX Edge. I domini di errore completano l'algoritmo di posizionamento automatico e garantiscono la disponibilità del servizio se si verifica un errore che influisce su più nodi NSX Edge.

In un dominio di errore, le istanze attive e di standby di un SR di livello 1 o i membri di un cluster secondario vengono sempre eseguitie in domini di errore diversi. Senza un dominio di errore, è possibile posizionare automaticamente un SR di livello 1 nei nodi NSX Edge che si trovano nello stesso rack. Pertanto, se rack1 non riesce, anche l'istanza attiva e l'istanza di standby di questo SR di livello 1 non riescono.

Senza domini di errore configurati:

Figura 1.

- In un cluster Edge che include quattro nodi Edge (EdgeNode1, EdgeNode2, EdgeNode3 e EdgeNode4), tutti i nuovi gateway di livello 1 in modalità A/S vengono posizionati automaticamente in due di questi quattro nodi Edge.

- Tuttavia, non è possibile ottenere l'alta disponibilità se A/S di livello 1 viene distribuito in Rack1 e A/S di livello 2 viene distribuito in Rack2. Se Rack1 non riesce, A/S di livello 1 in EdgeNode1 ed EdgeNode2 vengono persi perché si trovano nello stesso dominio di errore.

Con i domini di errore configurati:

Figura 2.

- EdgeNode1 ed EdgeNode2 sono configurati per far parte di failure domain-1, mentre EdgeNode3 ed EdgeNode4 si trovano in failure domain-2. Quando viene creato un nuovo SR di livello 1 e l'istanza attiva di tale livello 1 è ospitata in EdgeNode1, viene creata un'istanza di SR di standby di livello 1 in failure domain-2 (EdgeNode3 o EdgeNode4).

- Dopo aver configurato i domini di errore in un cluster Edge, tutti i nuovi SR attivo/standby di livello 1 vengono posizionati correttamente in domini di errore diversi.

Procedura

  1. Utilizzando l'API, creare domini di errore per ogni nodo Edge che verrà aggiunto al cluster A-A stateful, ad esempio in FailureDomain1 includere FD1-EdgeNode1 e FD1-EdgeNode2 e in FailureDomain2 includere FD2-EdgeNode3 e FD2-EdgeNode4. Impostare il parametro preferred_active_edge_services su true per i nodi Edge in entrambi i domini di errore. preferred_active_edge_services è utile solo quando viene creato un gateway di livello 1 in modalità di failover preventivo.
    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. Utilizzando l'API, associare ogni nodo Edge al dominio di errore per il sito. Chiamare innanzitutto l'API GET /api/v1/transport-nodes/<transport-node-id> per recuperare i dati relativi al nodo Edge. Utilizzare il risultato dell'API GET come input per l'API PUT /api/v1/transport-nodes/<transport-node-id>, con la proprietà aggiuntiva failure_domain_id impostata correttamente. Ad esempio,
    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. Utilizzando l'API, configurare il cluster Edge in modo da allocare i nodi in base a un dominio di errore. Chiamare innanzitutto l'API GET /api/v1/edge-clusters/<edge-cluster-id> per recuperare i dati relativi al cluster Edge. Utilizzare il risultato dell'API GET come input per l'API PUT /api/v1/edge-clusters/<edge-cluster-id> la proprietà aggiuntiva allocation_rules impostata correttamente. Ad esempio,
    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"
                    }
            }
        ],
    }

risultati

I nodi NSX Edge fanno riferimento a diversi domini di errore. È ora possibile utilizzarli per creare un cluster e configurare un gateway di livello 0 in modalità HA stateful A-A.