Go to main content

Guía de administración de Oracle® ZFS Storage Appliance, versión OS8.8.x

Salir de la Vista de impresión

Actualización: Agosto de 2021
 
 

Replicación en cascada

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.

Configuración básica

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.

image:Imagen de un ejemplo de configuración de replicación en cascada

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.

image:Imagen de una replicación en cascada con el nodo B colocando 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.

Gestión de replicaciones en cascada

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.

image:Imagen de la creación de una acción en un paquete de replicación mediante la BUI

En la siguiente figura, se muestra la forma de crear una acción en un paquete de replicación mediante la CLI.

image:Imagen de la creación de una acción en un paquete de replicación mediante la CLI

Configurar programas de replicación en cascada

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.

image:Imagen de 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.

image:Imagen de 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.

image:Imagen de 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.

image:Imagen de la forma de ver el programa vigente mediante la BUI

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.

image:Imagen de la configuración de opciones en la CLI

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:

  1. 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).

    image:Imagen de la propiedad distant_target no establecida y la reversión de varios destinos no configurada

    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.

    image:Imagen de un fallo en A y una reversión en B
  2. 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).

    image:Imagen de la propiedad distant_target no establecida y una reversión de varios destinos configurada

    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.

    image:Imagen de un fallo en el nodo A0 y el nodo B0 como nuevo origen después de una reversión
  3. 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).

    image:Imagen de la propiedad distant_target establecida y una reversión de varios destinos configurada

    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}.

    image:Imagen de un fallo en el nodo A después de una reversión en el nodo B

En la siguiente figura, se muestra la forma de configurar un destino distante mediante la CLI.

image:Imagen de 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.

image:Imagen de 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.

Escenarios de fallo

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.

image:Imagen de un fallo en el origen A

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.

image:Imagen de una reversión en A1

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.

image:Imagen de un fallo en el destino intermedio

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.

image:Imagen del origen A omitiendo el nodo con fallos B y continuando con el envío de actualizaciones al nodo C y luego 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.

image:Imagen de la restauración de 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:

  1. Seleccione la acción para el nodo con fallos en el origen.

  2. Introduzca retarget.

  3. Defina la propiedad retarget_mode en bypass.

  4. Defina que el destino sea el destino de omisión, como se muestra en la siguiente figura.

    image:Imagen de la configuración del destino como el destino de omisión en la CLI
  5. 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.

    image:Imagen de la visualización de la propiedad bypassed_id en la CLI
  6. 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.

    image:Imagen del procedimiento de restauración en la CLI

Omisión de un nodo con fallos mediante la BUI:

  1. En el nodo de origen, seleccione la acción para el nodo con fallos.

  2. En el cuadro de diálogo Editar acción de replicación, haga clic en Redireccionar.

  3. En el cuadro de diálogo Redireccionamiento de replicación, establezca el modo en Omitir.

  4. En la lista desplegable, seleccione el destino que debe ser el destino de omisión, como se muestra en la siguiente figura.

    image:Imagen de la selección del destino en la lista desplegable para que sea el destino de omisión en la BUI
  5. Haga clic en APLICAR.

  6. 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.

    image:Imagen del procedimiento de restauración en la BUI

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.

image:Imagen del origen y todos sus destinos locales directos no disponibles reemplazados por un nuevo origen en uno de los destinos distantes

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.

image:Imagen de una reversión ejecutada y un fallo en el sitio de origen

Consideraciones de compatibilidad

    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