Un domaine de pannes est un regroupement logique de nœuds NSX Edge au sein d'un cluster NSX Edge. Les domaines de pannes complètent l'algorithme de placement automatique et garantissent la disponibilité du service en cas de panne affectant plusieurs nœuds NSX Edge.

Dans un domaine de pannes, les instances actives et en veille d'un SR de niveau 1 ou les membres d'un sous-cluster s'exécutent toujours dans différents domaines de pannes. Sans domaine de pannes, un SR de niveau 1 peut être placé automatiquement sur des nœuds NSX Edge qui se trouvent dans le même rack. Par conséquent, si rack1 échoue, les instances actives et en veille de ce SR de niveau 1 échouent également.

Sans domaines de pannes configurés :

Figure 1.

- Dans un cluster Edge composé de quatre nœuds Edge (EdgeNode1, EdgeNode2, EdgeNode3, EdgeNode4), toutes les nouvelles passerelles de niveau 1 en mode A/S sont automatiquement placées dans deux de ces quatre nœuds Edge.

- Toutefois, la haute disponibilité ne peut pas être obtenue si A/S de niveau 1 est déployé dans rack1 et si l'A/S de niveau 2 est déployé dans le rack2. Si Rack1 échoue, les A/S de niveau 1 sur EdgeNode1 et EdgeNode2 sont perdus, car ils se trouvent dans le même domaine de pannes.

Avec domaines de pannes configurés :

Figure 2.

- EdgeNode1 et EdgeNode2 sont configurés pour faire partie du domaine de pannes-1, tandis qu'EdgeNode3 et EdgeNode4 se trouvent dans failure domain-2. Lorsqu'un SR de niveau 1 est créé et si l'instance active de ce niveau 1 est hébergée sur EdgeNode1, le SR de niveau 1 en veille est instancié dans le domaine de pannes 2 (EdgeNode3 ou EdgeNode4).

- Après la configuration des domaines de pannes sur un cluster Edge, tous les nouveaux CSR actifs/en veille de niveau 1 sont correctement placés dans différents domaines de pannes.

Procédure

  1. À l'aide de l'API, créez des domaines de pannes pour chaque nœud Edge que vous ajouterez au cluster A-A avec état, par exemple, dans FailureDomain1, incluez FD1-EdgeNode1 et FD1-EdgeNode2 et, dans FailureDomain2, incluez FD2-EdgeNode3 et FD2-EdgeNode4. Définissez le paramètre preferred_active_edge_services sur true pour les nœuds Edge dans les deux domaines de pannes. preferred_active_edge_services est utile uniquement lorsqu'une passerelle de niveau 1 est créée en mode de basculement préemptif.
    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. À l'aide de l'API, associez chaque nœud Edge au domaine de pannes du site. Appelez d'abord l'API GET /api/v1/transport-nodes/<transport-node-id> pour obtenir les données sur le nœud Edge. Utilisez le résultat de l'API GET comme entrée pour l'API PUT /api/v1/transport-nodes/<transport-node-id>, avec la propriété supplémentaire, failure_domain_id, définie de manière appropriée. Par exemple,
    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. À l'aide de l'API, configurez le cluster Edge pour allouer des nœuds en fonction du domaine de pannes. Appelez d'abord l'API GET /api/v1/edge-clusters/<edge-cluster-id> pour obtenir les données sur le cluster Edge. Utilisez le résultat de l'API GET comme entrée pour l'API PUT /api/v1/edge-clusters/<edge-cluster-id>, avec la propriété supplémentaire, allocation_rules, définie de manière appropriée. Par exemple,
    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"
                    }
            }
        ],
    }

Résultats

Les nœuds NSX Edge sont référencés à différents domaines de pannes. Vous pouvez désormais les utiliser pour créer un cluster et configurer la passerelle de niveau 0 en mode HA avec état A-A.