La replicación en cascada permite configurar acciones de replicación en paquetes de replicación para replicar datos. Es posible crear varias acciones de replicación en el mismo paquete para replicarlo en varios dispositivos de destino.
Una configuración básica de replicación en cascada se compone de un origen, uno o varios destinos intermedios y un destino final.
En el siguiente ejemplo, la replicación en cascada se compone de un nodo de origen A que contiene una acción configurada en uno de sus proyectos para replicarlo en un paquete del nodo B. A su vez, el nodo B contiene una acción creada para replicar este paquete en otro paquete del nodo C, y el nodo C contiene una acción configurada en este paquete para replicarlo en un paquete del nodo D. Por tanto, el nodo B y el nodo C colocan en cascada una réplica del nodo A en el nodo D, como se muestra en la siguiente figura.
Como se muestra en la siguiente figura, el nodo de origen A contiene una acción configurada en uno de sus proyectos para replicarlo en un paquete del nodo B. A su vez, el nodo B contiene acciones creadas para replicar este paquete en el nodo C y el nodo D. Por tanto, el nodo B coloca en cascada una réplica del nodo A en los nodos C y D.
La replicación inversa de una configuración en cascada solo se admite en los nodos que reciben actualizaciones de replicación directamente del origen (el nodo B en el ejemplo anterior), y la reversión se encuentra desactivada en los otros nodos (los nodos C y D). Se recomienda considerar la reversión de varios destinos cuando se planea ejecutar la recuperación ante desastres en una configuración de replicación en cascada. Consulte Reversión a varios destinos y "Uso de la propiedad distant_target para gestionar reversiones" en las siguientes secciones.
La gestión de una replicación en cascada abarca dos tareas:
Crear una acción en el paquete de replicación
Configurar programas de replicación en cascada
Crear una acción en el paquete de replicación
De forma similar a la creación de una acción de replicación en un proyecto, es posible crear una acción de replicación en un paquete de replicación. En la siguiente figura, se muestra la forma de crear una acción en un paquete de replicación mediante la BUI.
Tenga en cuenta que la replicación en el nivel de recurso compartido no admite la replicación en cascada. No se pueden configurar acciones en recursos compartidos de paquetes de replicación ni acciones en paquetes creados como resultado de una replicación en el nivel de recurso compartido.
En la siguiente figura, se muestra la forma de crear una acción en un paquete de replicación mediante la CLI.
Cada acción tiene dos programas:
Un programa en una acción configurada como parte de un proyecto se denomina programa de origen.
Un programa en una acción configurada como parte de un paquete se denomina programa en cascada.
En la siguiente figura, se muestra la forma de configurar un programa en cascada nuevo en una acción de replicación mediante la CLI.
En la siguiente figura, se muestra la forma de configurar un programa en cascada nuevo en una acción de replicación mediante la BUI.
Es posible configurar ambos programas en cualquier momento, pero solamente un programa entra en vigor, según la ubicación donde se configure la acción. Si se produce un cambio en la topología de replicación como resultado de una conversión o reversión de replicación, el programa vigente puede cambiar. Por ejemplo, cuando se ejecuta una reversión en un paquete de replicación, las acciones configuradas en el paquete revertido pasan a configurarse en el proyecto y sus programas de origen se activan. De forma similar, cuando se ejecuta una conversión de replicación en un proyecto, las acciones anteriormente configuradas en el proyecto pasan a configurarse en el paquete y sus programas en cascada se activan.
En la siguiente figura, se muestra la forma de ver el programa vigente mediante la CLI.
En la siguiente figura, se muestra la forma de ver el programa vigente mediante la BUI. El separador de programa en el extremo izquierdo de una acción es el programa vigente.
Cuando se crean acciones nuevas durante la reversión de una replicación, se conservan los programas de origen y en cascada. Consulte Reversión de la dirección de replicación y Reversión a varios destinos.
La opción after_update se encuentra disponible para los programas en cascada. Cuando se establece, esta opción inicia la actualización únicamente después de que se completa una actualización entrante.
Es posible utilizar la propiedad update_cascade_delay para especificar la demora entre la finalización de una actualización de replicación entrante y el inicio de la actualización en cascada saliente. Esta propiedad entra en vigor solamente cuando se selecciona la opción after_update.
La opción after_update y la propiedad update_cascade_delay se pueden configurar como se muestra en la siguiente figura.
Tenga en cuenta que la opción de programa continuo no se encuentra disponible para las acciones en paquetes y que las acciones de replicación en cascada no crean instantáneas de replicación nuevas. Cuando el origen emite una actualización nueva, las acciones en cascada utilizan la última instantánea de paquete para ejecutar las actualizaciones de replicación en sus destinos. Por lo tanto, si se ejecuta una actualización en una acción en cascada sin antes recibir una actualización del origen, esta no surtirá efecto; se establecerá el estado de actualización correcta y se actualizará la propiedad last_try.
Uso de la propiedad distant_target para gestionar reversiones
En una replicación en cascada, una relación de destino distante entre los dos nodos diferencia los destinos locales y distantes. La propiedad distant_target conserva esta relación tras las transformaciones de la topología que se producen cuando se ejecuta una conversión o reversión de replicación.
En los siguientes escenarios de configuración, se ilustra la propiedad distant_target:
Cuando no se establece la propiedad distant_target y no se configura ninguna reversión de varios destinos. En este caso, cuando se ejecuta una reversión en un destino, no se conservan todas las acciones. Para obtener más información, consulte Reversión a varios destinos. Como se muestra en la siguiente figura, ni el nodo A ni el B tienen una relación de destino distante, y el nodo B no se configuró como origen potencial (acción AB: potential_source=false, distant_target=false).
Cuando se produce un fallo en A y se ejecuta una reversión en B, no se crea ninguna acción en A{1..3}, como se muestra en la siguiente figura.
Cuando no se establece la propiedad distant_target y se configura una reversión de varios destinos. En este caso, cuando se ejecuta una reversión en un origen potencial, se crean acciones en todos los destinos del grupo de reversiones de varios destinos. No existe una relación de destino distante; por lo tanto, no se diferencian los destinos locales de los distantes. El nodo A es el origen y el nodo B es el origen potencial, como se muestra en la siguiente figura. Los nodos A y B no tienen una relación de destino distante (acción AB: potential_source=true, distant_target=false).
No obstante, cuando se produce un fallo en el nodo A y el nodo B es el nuevo origen después de que se ejecuta una reversión, se crean acciones en A{1..3}, como se muestra en la siguiente figura.
Cuando se establece la propiedad distant_target y se configura una reversión de varios destinos. En este caso, cuando se ejecuta una reversión en un origen potencial, no se crean acciones en los destinos que son locales para el origen distante. El nodo A es el origen y el nodo B es el origen potencial, como se muestra en la siguiente figura. Los nodos A y B tienen una relación de destino distante (acción AB: potential_source=true, distant_target=true).
Cuando se produce un fallo en el nodo A, después de una reversión en el nodo B, el nodo B se convierte en el nuevo origen. No obstante, debido a la relación de destino distante entre A y B, no se crean acciones en A{1..3}. Una vez que A se recupera, coloca en cascada su paquete en A{1..3}.
En la siguiente figura, se muestra la forma de configurar un destino distante mediante la CLI.
En la siguiente figura, se muestra la forma de configurar un destino distante mediante la BUI.
Para configurar una reversión de varios destinos, si se utiliza la replicación en cascada, se recomienda establecer un origen potencial; de lo contrario, es posible que no se pueda regresar a la configuración en cascada original después de varias reversiones de replicación. Además, solamente se puede establecer un destino distante si existe un origen potencial configurado. Para obtener más información, consulte Reversión a varios destinos.
El fallo de un solo nodo en una replicación en cascada puede afectar a varios dispositivos o varios centros de datos conectados entre sí por relaciones de replicación. Si bien la topología de replicación en cascada no presenta limitaciones, los siguientes escenarios de fallo son típicos:
Fallo en el origen original
Fallo en el destino intermedio
Fallo en el sitio de origen
Fallo en el origen original
En este escenario, se produce un fallo en el origen de la cadena en cascada. La recuperación de este fallo requiere una configuración inicial de reversión de varios destinos en el origen. El proceso se inicia en un destino con la ejecución de una reversión de replicación. El destino revertido se convierte en el origen y continúa enviando las actualizaciones incrementales a los demás destinos originales y al origen original. Para obtener más detalles, consulte Reversión a varios destinos.
Como se muestra en la siguiente figura, A es el origen y A1 es el origen potencial. A se replica en A1 y B. A su vez, B se replica en C y D, y el origen A falla.
Como se muestra en la siguiente figura, después de que se ejecuta una reversión en A1, este se replica en A (cuando A se recupera) y en B, el cual, a su vez, continúa enviando las actualizaciones a C y D.
Fallo en el destino intermedio
Este escenario de fallo corresponde al fallo de un nodo intermedio en una cadena en cascada. Para lograr la recuperación de este escenario, se puede seguir el procedimiento de redireccionamiento. Como se muestra en la siguiente figura, se produce un fallo en el nodo intermedio B de la cadena en cascada.
Como se muestra en la siguiente figura, después de que se aplica el procedimiento de redireccionamiento/omisión, el origen A omite el nodo con el fallo B y continúa enviando las actualizaciones al nodo C, el cual, a su vez, envía una actualización al nodo D.
Como se muestra en la siguiente figura, cuando B se recupera, se restaura la acción entre A y B mientras la acción entre B y C permanece omitida.
Omisión de un nodo con fallos mediante la CLI:
Seleccione la acción para el nodo con fallos en el origen.
Introduzca retarget.
Defina la propiedad retarget_mode en bypass.
Defina que el destino sea el destino de omisión, como se muestra en la siguiente figura.
La propiedad bypassed_id que se muestra en la acción de omisión se puede utilizar para seleccionar la acción original destinada a ejecutar una restauración de redireccionamiento luego de la recuperación del nodo con fallos. Es posible ver el valor de bypassed_id generado, como se muestra en la siguiente figura.
En una etapa posterior, cuando B se haya recuperado, utilice el procedimiento de redireccionamiento/restauración para regresar a la topología en cascada original, como se muestra en la siguiente figura.
Omisión de un nodo con fallos mediante la BUI:
En el nodo de origen, seleccione la acción para el nodo con fallos.
En el cuadro de diálogo Editar acción de replicación, haga clic en Redireccionar.
En el cuadro de diálogo Redireccionamiento de replicación, establezca el modo en Omitir.
En la lista desplegable, seleccione el destino que debe ser el destino de omisión, como se muestra en la siguiente figura.
Haga clic en APLICAR.
En una etapa posterior, cuando B se haya recuperado, utilice el procedimiento de restauración para regresar a la topología en cascada original, como se muestra en la siguiente figura.
Fallo en el sitio de origen
En este escenario, el origen y todos sus destinos locales directos no se encuentran disponibles y se reemplazan por un nuevo origen en uno de los destinos distantes. La recuperación de este escenario requiere una configuración de reversión de varios destinos en el origen. Para obtener más detalles, consulte Reversión a varios destinos. También requiere que se configuren algunos destinos como destinos distantes. Para obtener detalles, consulte "Uso de la propiedad distant_target para gestionar reversiones".
Como se muestra en la siguiente imagen, A0, B0 y C0 forman un grupo de reversiones de varios destinos, donde B0 y C0 son orígenes potenciales y destinos distantes. A0,B0 y A0,C0 forman una relación de destino distante (A0B0 y A0C0 deben configurarse como origen potencial y destino distante), mientras que A1,A2,A3 forman una relación local con A0, y B1,B2,B3 forman una relación local con B0.
Cuando se ejecuta una reversión en B0, como se muestra en la siguiente figura, A1,A2,A3 son tratados como destinos locales de A0; por lo tanto, no se vuelven a crear acciones en A1,A2,A3. Debido a las propiedades de la reversión de varios destinos, B0 envía las actualizaciones a C0.
Al configurar una replicación en cascada, siga estas reglas de compatibilidad:
Los nodos con un firmware anterior a OS8.7.0 no se pueden configurar como parte de una replicación en cascada.
Los nodos con un firmware posterior a OS8.7.0 pueden configurarse como nodos finales.
Los nodos finales con un firmware que no admite la replicación en cascada pueden llevar a cabo una reversión de replicación. No obstante, estos no podrán ejecutar una actualización de replicación en su origen. No se pueden recuperar relaciones de replicación en ese escenario.
No se puede ejecutar un redireccionamiento en los nodos finales con un firmware que no admite la replicación en cascada.
Las reglas de compatibilidad de replicación de los destinos con un firmware diferente en cadenas en cascada son iguales para todos los orígenes y destinos. Por ejemplo, cuando un destino no admite una función que utiliza el origen, se puede producir un fallo en la actualización de replicación desde el origen correspondiente.
El rollback del sistema a una versión de firmware que no admite la replicación en cascada producirá la destrucción de todas las acciones de replicación en cascada.
Temas relacionados