Conmutación por error y conmutación por recuperación
La conmutación por error es la capacidad de un agente de sistema de directorio de enrutador para continuar con las consultas del servicio incluso si un agente de sistema de directorio de datos deja de estar disponible. Si el enrutador detecta que se ha producido un error en un agente de sistema de directorio, vuelve a enviar las solicitudes pendientes a otro agente de sistema de directorio que da servicio a la misma partición, haciendo que el error sea invisible para los clientes.
cad140es
La
conmutación por error
es la capacidad de un agente de sistema de directorio de enrutador para continuar con las consultas del servicio incluso si un agente de sistema de directorio de datos deja de estar disponible. Si el enrutador detecta que se ha producido un error en un agente de sistema de directorio, vuelve a enviar las solicitudes pendientes a otro agente de sistema de directorio que da servicio a la misma partición, haciendo que el error sea invisible para los clientes.Durante el funcionamiento normal, el agente de sistema de directorio en espera se mantiene sincronizado con los agentes de sistema de directorio de datos principales en caso de que sea necesario.
La conmutación por error es importante para los sistemas que requieren una alta disponibilidad y fiabilidad.
En este artículo, se describen los temas siguientes:
Conmutación por error entre los hosts
CA Directory configura automáticamente la conmutación por error entre los agentes de sistema de directorio de datos en el mismo sitio que dan servicio a la misma partición del espacio de nombres. Automáticamente se replican estos agentes de sistema de directorio.
Ejemplo: Conmutación por error a un DSA de copia de seguridad
El diagrama siguiente muestra un único agente de sistema de directorio de enrutador que normalmente envía solicitudes a los agentes de sistema de directorio Clientes en su propio host y en el host NY21.
Si se produce un error en estos dos agentes de sistema de directorio de datos, el agente de sistema de directorio de enrutador envía automáticamente todas las solicitudes al agente de sistema de directorio Clientes en NY23. Este cambio no es visible para los clientes.
En este ejemplo, el agente de sistema de directorio Clientes que se encuentra en NY23 es una copia de seguridad: solo se utiliza si se produce un error en otros agentes de sistema de directorio de datos.

Conmutación por error entre sitios
Para mejorar el rendimiento, se recomienda que cada región tenga un enrutador que dirija las consultas a un agente de sistema de directorio de datos local. Los agentes de sistema de directorio de datos locales deben estar sincronizados entre sí.
Si se produce un error en un agente de sistema de directorio de datos local, cada enrutador dirigirá las consultas a los agentes de sistema de directorio de datos remotos. De esta forma se asegura la disponibilidad y la fiabilidad del directorio.
Ejemplo: Conmutación por error entre dos sitios
El siguiente diagrama muestra una red troncal del directorio de ejemplo que se distribuye a través de dos sitios, Nueva York y Montreal.

El enrutador Nueva York no puede compartir la carga con los agentes de sistema de directorio Clientes en Montreal debido a que se encuentran en un sitio distinto del enrutador.
Sin embargo, si los dos agentes de sistema de directorio Clientes de Nueva York no están disponibles, el enrutador pueden realizar una conmutación por error al agente de sistema de directorio Clientes en Montreal. Aunque el rendimiento es inferior hasta que los agentes de sistema de directorio de Nueva York se estén ejecutando otra vez, el servicio sigue estando disponible.
Nota
: La coherencia de la conmutación por error se garantiza dentro de una región, pero no entre regiones.Conmutación por error del cliente entre varios DSA de enrutador
Si se produce un error en un agente de sistema de directorio de enrutador, todos los accesos a los agentes de sistema de directorio de datos se detienen. Para evitar esto, se puede configurar la aplicación de cliente para realizar una conmutación por error entre los agentes de sistema de directorio de enrutador de la siguiente manera:
- Ejecute más de un agente de sistema de directorio de enrutador en más de un equipo.
- Configure las aplicaciones cliente para realizar la conmutación por error desde un agente de sistema de directorio de enrutador a otro.
Casi todas las aplicaciones de terceros con directorios activados pueden configurarse para hacer esto.
Ejemplo: El cliente realiza una conmutación por error en el segundo enrutador
El diagrama siguiente muestra un sistema de directorio sencillo con dos tipos de conmutación por error.
Como en Conmutación por error entre los hosts, los agentes de sistema de directorio de enrutador pueden realizar una conmutación por error en el segundo agente de sistema de directorio de datos. Sin embargo, este sistema también muestra que la aplicación cliente puede realizar una conmutación por error entre los dos agentes de sistema de directorio de enrutador.
Estos dos agentes de sistema de directorio de enrutador se configuran para utilizar los agentes de sistema de directorio de datos exactamente de la misma manera, lo que significa que no se interrumpe el servicio a la aplicación cliente.

Establecimiento de la prioridad de los DSA para la conmutación por error
Cuando se produce un error en más de un agente de sistema de directorio de datos, el agente de sistema de directorio de enrutador realiza una conmutación por error a los otros agentes de sistema de directorio en el orden en el que se muestran en los archivos de configuración.
Se puede anular este orden con los comandos siguientes:
set precedence = precedence-list; set write-precedence = precedence-list;
El comando "set precedence" define el orden de los agentes de sistema de directorio en los que el agente de sistema de directorio de enrutador realiza la conmutación por error.
El comando "set write-precedence" define el orden en el que se eligen los agentes de sistema de directorio para realizar actualizaciones. Se puede utilizar para dirigir las solicitudes de escritura de un equipo de conmutación por error a un equipo principal preferido. Si el comando "set write-precedence" no está presente, las actualizaciones siguen la prioridad normal, que se define por el orden de los agentes de sistema de directorio en el archivo de configuración o por el comando "set precedence".
Los agentes de sistema de directorio de estas listas tienen prioridad con respecto a aquellos que no estén incluidos y los agentes de sistema de directorio especificados anteriormente en las listas tienen prioridad sobre los que aparecen más adelante en las listas.
Para maximizar el rendimiento, por lo general se debe dar una prioridad más alta a los agentes de sistema de directorio más rápidos sobre los agentes de sistema de directorio más lentos, y una prioridad más alta a los agentes de sistema de directorio locales sobre los agentes de sistema de directorio remotos.
Cuando se producen estos comandos en un archivo de configuración, suminístrelos después del conocimiento.
Estos comandos debe aparecer solo una vez en los archivos de configuración originados por un agente de sistema de directorio concreto.
Ejemplo: Uso de prioridad en los DSA separados geográficamente
Los agentes de sistema de directorio EAST, WEST, NORTH y SOUTH contienen la misma información. El siguiente comando garantiza que los agentes de sistema de directorio del este realizan la conmutación por error en el agente de sistema de directorio EAST antes que en el agente de sistema de directorio WEST:
set precedence = EAST, WEST;
No se enumeran los agentes de sistema de directorio NORTH y SOUTH, por lo que si los agentes de sistema de directorio EAST y WEST no están disponibles, los agentes de sistema de directorio realizarán la conmutación por error en estos en el orden en que se enumeran en el archivo de configuración.
Ejemplo: Uso de la prioridad de escritura
set write-precedence = home-dsa,work-dsa;
Establecimiento de la prioridad del agente de sistema de directorio para la conmutación por error con los grupos de uso compartido de la carga
Se pueden utilizar las reglas de prioridad para afectar al funcionamiento de la conmutación por error con los grupos de uso compartido de la carga. Para obtener más información sobre la configuración de la prioridad, consulte Establecimiento de la prioridad de los DSA para la conmutación por error.
Si se utiliza el comando "set precedence" para enumerar los agentes de sistema de directorio que también se encuentran en los grupos de uso compartido de la carga, un grupo de uso compartido de la carga tiene la prioridad del agente de sistema de directorio con la prioridad más alta de ese grupo.
Por ejemplo, imagine el siguiente comando:
set precedence = DSA1, DSA2, DSA3, DSA4;
Un grupo de uso compartido de la carga que incluya DSA1 y DSA4 tiene prioridad sobre un grupo que incluya DSA2 y DSA3.
Además, un grupo de uso compartido de la carga que incluya DSA4 tiene prioridad sobre un grupo que no incluya ningún agente de sistema de directorio de la lista.
Otros métodos para la conmutación por error del enrutador
Se han realizado otros enfoques y cada uno tiene sus ventajas y desventajas como se muestra a continuación:
- DNS de operación por turnosEsta solución es fácil de implementar, pero cada cliente debe mantener la afinidad con un agente de sistema de directorio de enrutador único durante la duración de la conexión. También los retrasos inherentes en la inserción de cambios en los registros de DNS pueden causar un problema.
- Conmutación por error de la dirección IPOtra buena solución es proporcionar un mecanismo de conmutación por error inmediata de la dirección IP entre los equipos que ejecutan los agentes de sistema de directorio de enrutador. Hay algunas tareas de configuración adicionales necesarias para que un agente de sistema de directorio de enrutador se enlace a una nueva dirección IP, pero se puede hacer. Asegúrese de que el método que se seleccione sea inmediato, no sea necesario reiniciar y gestione la conmutación por recuperación.
- Equilibradores de carga de la redNo se recomienda utilizarlos. Los equilibradores de carga de la red pueden reducir el rendimiento de CA Directory.
Conmutación por recuperación
La
conmutación por recuperación
es la restauración a un servicio normal de un agente de sistema de directorio de CA Directory después de la conmutación por error y la recuperación.Cuando un agente de sistema de directorio subordinado deja de estar disponible, el enrutador redirige todas las solicitudes dirigidas a dicho agente de sistema de directorio a otro agente de sistema de directorio que da servicio al mismo prefijo (conmutación por error). Cuando el agente de sistema de directorio vuelve a estar disponible, CA Directory envía automáticamente las solicitudes al agente de sistema de directorio (conmutación por recuperación).