Un dominio de errores es una agrupación lógica de nodos de NSX Edge dentro de un clúster de NSX Edge. Los dominios de errores complementan el algoritmo de colocación automática y garantizan la disponibilidad del servicio en caso de que se produzca un error que afecte a varios nodos de NSX Edge.

En un dominio de errores, las instancias activas y en espera de un SR de nivel 1 o miembros de un subclúster siempre se ejecutan en dominios de errores diferentes. Sin un dominio de errores, un SR de nivel 1 podría colocarse automáticamente en nodos de NSX Edge que estén en el mismo rack. Por lo tanto, si falla el rack1, también se produciría un error en las instancias activa y en espera de este SR de nivel 1.

Sin dominios de errores configurados:

Figura 1.

- En un clúster de Edge que consta de cuatro nodos de Edge (EdgeNode1, EdgeNode2, EdgeNode3 y EdgeNode4), las nuevas puertas de enlace de nivel 1 en modo Activo/En espera se colocan automáticamente en dos de esos cuatro nodos de Edge.

- Sin embargo, no se puede lograr la alta disponibilidad si el nivel 1 en modo Activo/En espera se implementa en Rack1 y el nivel 2 en modo Activo/En espera se implementa en Rack2. Si se produce un error en el Rack1, el nivel 1 en modo Activo/En espera en EdgeNode1 y EdgeNode2 se perderán, ya que se encuentran en el mismo dominio de errores.

Con dominios de errores configurados:

Figura 2.

- EdgeNode1 y EdgeNode2 están configurados para formar parte del dominio de errores 1, mientras que EdgeNode3 y EdgeNode4 están en el dominio de errores 2. Cuando se crea un nuevo SR de nivel 1 y si la instancia activa de ese nivel 1 se aloja en EdgeNode1, se crea una instancia del SR de nivel 1 en espera en el dominio de errores 2 (EdgeNode3 o EdgeNode4).

- Después de configurar los dominios de errores en un clúster de Edge, los nuevos SR activos/en espera de nivel 1 se colocarán correctamente en dominios de errores diferentes.

Procedimiento

  1. Con la API, cree dominios de errores para cada nodo de Edge que agregue al clúster A-A con estado; por ejemplo, en FailureDomain1, incluya FD1-EdgeNode1 y FD1-EdgeNode2, y en FailureDomain2 incluya FD2-EdgeNode3 y FD2-EdgeNode4. Establezca el parámetro preferred_active_edge_services en true para los nodos de Edge en ambos dominios de errores. preferred_active_edge_services solo resulta útil cuando se crea una puerta de enlace de nivel 1 en modo de conmutación por error preferente.
    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. Usando la API, asocie cada nodo de Edge con el dominio de errores del sitio. En primer lugar, llame a la API GET /api/v1/transport-nodes/<transport-node-id> para obtener los datos sobre el nodo de Edge. Utilice el resultado de la API GET como entrada para la API PUT /api/v1/transport-nodes/<transport-node-id>, con la propiedad adicional failure_domain_id configurada correctamente. Por ejemplo,
    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. Usando la API, configure el clúster de Edge para asignar nodos en función del dominio de errores. En primer lugar, llame a la API GET /api/v1/edge-clusters/<edge-cluster-id> para obtener los datos sobre el clúster de Edge. Utilice el resultado de la API GET como entrada para la API PUT /api/v1/edge-clusters/<edge-cluster-id>, con la propiedad adicional allocation_rules configurada correctamente. Por ejemplo,
    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"
                    }
            }
        ],
    }

Resultados

Los nodos de NSX Edge se vinculan a diferentes dominios de errores. Ahora puede utilizarlos para crear un clúster y configurar la puerta de enlace de nivel 0 en modo de alta disponibilidad con estado A-A.