Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Descripción general de la recuperación ante desastres

Un clúster de Junos Space le permite mantener una alta disponibilidad y escalabilidad en su solución de administración de red. Sin embargo, dado que todos los nodos de un clúster deben estar en la misma subred, generalmente se implementan en el mismo centro de datos o en el mismo campus. Sin embargo, puede recuperar fácilmente un clúster de un desastre en una ubicación reflejando la instalación original de Junos Space en un clúster en otro clúster en una ubicación geográficamente diferente. Entonces, si el sitio principal de Junos Space falla debido a un desastre como un terremoto, el otro sitio puede tomar el control. Por lo tanto, la instalación física de la configuración de recuperación ante desastres suele ser un conjunto de dos clústeres geográficamente separados: el sitio activo o principal (es decir, el sitio local) y el sitio de espera o de respaldo (es decir, el sitio remoto).

Cuando se cumplen los requisitos y prerrequisitos básicos de conectividad (consulte Prerrequisitos para configurar la recuperación ante desastres y requisitos de conectividad para configurar la recuperación ante desastres ), los datos del clúster en el sitio activo se replican en el clúster del sitio de espera casi en tiempo real.

Los datos de las bases de datos MySQL y PgSQL se replican de forma asincrónica desde el sitio activo hasta el sitio en espera mediante una conexión SSL. Los datos de MySQL y PgSQL entre los sitios de recuperación ante desastres se cifran mediante certificados SSL autofirmados que se generan cuando se inicializa la recuperación ante desastres. El certificado raíz de CA, las CRL, los certificados de usuario, los scripts, las imágenes de dispositivo, los registros de auditoría archivados y la información sobre los trabajos programados se replican en el sitio de espera durante la replicación de datos en tiempo real en el sitio de espera. La configuración y los archivos de base de datos de rotación (RRD) se sincronizan periódicamente mediante el uso del Protocolo de copia segura (SCP) desde el sitio activo hasta el sitio de espera.

El organismo de control de recuperación ante desastres, un mecanismo integrado de Junos Space, monitorea la integridad de la replicación de la base de datos en todos los sitios. Los demás servicios (como JBoss, OpenNMS, Apache, etc.) no se ejecutan en el sitio de espera hasta que el sitio activo falla en el sitio de espera. Una conmutación por error en el sitio de espera se inicia automáticamente cuando el sitio activo está inactivo. Se utiliza un algoritmo de arbitraje de dispositivo para determinar qué sitio debe ser el sitio activo para evitar una situación de cerebro dividido en la que ambos sitios intenten estar activos. Para obtener más información acerca del algoritmo de arbitraje de dispositivos, consulte Detección de errores mediante el algoritmo de arbitraje de dispositivos.

En las siguientes secciones se describen los requisitos de conectividad para el proceso de recuperación ante desastres, los mecanismos de detección de errores y los comandos de recuperación ante desastres:

Solución de recuperación ante desastres

Después de configurar e iniciar el proceso de recuperación ante desastres entre un sitio activo y un sitio en espera, se inicia la replicación asincrónica de las bases de datos MySQL y PgSQL entre los sitios. La configuración y los archivos RRD se copian de seguridad en el sitio de espera a través de SCP en intervalos de tiempo definidos.

El proceso de recuperación ante desastres no realiza la replicación en tiempo real de la base de datos de Cassandra al sitio de espera ni monitorea el servicio de Cassandra que se ejecuta en los nodos de Junos Space.

Durante el funcionamiento normal de la solución de recuperación ante desastres, los usuarios de GUI y API y los dispositivos administrados se conectan al sitio activo para todos los servicios de administración de red. La conectividad entre el sitio de espera y los dispositivos administrados está deshabilitada siempre que el sitio activo sea funcional. Cuando el sitio activo deja de estar disponible debido a un desastre, el sitio en espera pasa a estar operativo. En este momento, se inician todos los servicios del sitio de espera y se establece la conectividad entre el sitio de espera y los dispositivos administrados.

La figura 1 muestra la solución de recuperación ante desastres.

Figura 1: Solución Disaster Recovery Solution de recuperación ante desastres

El proceso de vigilancia de recuperación ante desastres se inicia en el nodo VIP de los sitios activos y en espera para supervisar el estado del proceso de replicación y detectar cuando el sitio remoto se cae. El organismo de control de recuperación ante desastres en el sitio local comprueba si hay problemas de conectividad entre ambos sitios (haciendo ping a los nodos en el sitio remoto) y si los sitios están conectados a dispositivos árbitros (si utiliza el algoritmo de arbitraje de dispositivos).

El organismo de control de recuperación ante desastres en un sitio realiza las siguientes tareas para confirmar la conectividad con el sitio remoto y los dispositivos del árbitro:

  • Haga ping a la dirección VIP del sitio remoto a un intervalo configurable regular. El valor predeterminado para el intervalo es de 30 segundos.

    Para cada ping, espere una respuesta dentro de un intervalo de tiempo de espera configurable. El valor predeterminado para el intervalo de tiempo de espera es de 5 segundos.

  • Si el sitio local no recibe una respuesta dentro del intervalo de tiempo de espera, el organismo de control de recuperación ante desastres reintentos el ping durante un número configurable de veces. De forma predeterminada, el número de reintentos es 4.

  • Si todos los reintentos fallan, el organismo de control de recuperación ante desastres en el sitio local concluye que no se puede acceder a la dirección VIP del sitio remoto.

    Sin embargo, el organismo de control de recuperación de desastres no concluye que el sitio remoto esté inactivo porque el sitio remoto puede estar cambiando a través de la dirección VIP a un nodo en espera debido a una conmutación local.

  • Para considerar la posibilidad de un cambio de dirección VIP, el organismo de control de recuperación ante desastres hace ping a las direcciones IP de los otros nodos del equilibrador de carga en el sitio remoto. Si el ping a cualquiera de los nodos recibe una respuesta, el organismo de control de recuperación ante desastres concluye que el sitio remoto sigue funcionando.

    Si el ping a los nodos falla, el organismo de control de recuperación ante desastres no concluye que el sitio remoto esté inactivo. En su lugar, el organismo de control de recuperación ante desastres considera la posibilidad de problemas de conectividad entre los sitios. Ambos sitios intentarán activarse.

  • Para evitar que ambos sitios intenten activarse, el organismo de control de recuperación ante desastres inicia el algoritmo de arbitraje de dispositivos y determina si es necesaria una conmutación por error.

    Solo se inicia una conmutación por error si el porcentaje de dispositivos del árbitro administrados por el sitio activo cae por debajo del umbral de conmutación por error. Luego, el sitio activo se convierte en el sitio de espera y el sitio de espera se convierte en el sitio activo.

    Si el porcentaje de dispositivos del árbitro está por encima del umbral de conmutación por error, el sitio de espera permanece en espera y el sitio activo permanece activo. El porcentaje de dispositivos de árbitro administrados por el sitio activo es configurable y su valor predeterminado es del 50 %.

La conmutación por error se inicia si se cumplen las siguientes condiciones:

  • El sitio de espera no puede llegar a la dirección VIP del sitio activo ni a las direcciones IP del nodo de otros nodos del equilibrador de carga en el sitio activo.

  • El porcentaje de los dispositivos del árbitro administrados por el sitio activo está por debajo del umbral de conmutación por error.

Para obtener más información acerca del algoritmo de arbitraje de dispositivos, consulte Detección de errores mediante el uso del algoritmo de arbitraje de dispositivos.

Requisitos previos para configurar la recuperación ante desastres

Debe asegurarse de que la instalación de Junos Space cumple con los siguientes requisitos previos antes de configurar la recuperación ante desastres:

  • El clúster de Junos Space en el sitio principal o activo (que puede ser un solo nodo o varios nodos) y el clúster en el sitio remoto o en espera (que puede ser un solo nodo o varios nodos) se deben configurar exactamente de la misma manera, con las mismas aplicaciones, adaptadores de dispositivo, las mismas configuraciones de familia IP, y así sucesivamente.

  • Ambos clústeres deben configurarse con información del servidor SMTP desde la interfaz de usuario de Junos Space. Para obtener más información, consulte Administración de servidores SMTP. Esta configuración permite que los clústeres del sitio activo y del sitio de espera notifiquen al administrador por correo electrónico si las replicaciones fallan.

Nota:

La cantidad de nodos en el sitio activo y en espera debe ser el mismo.

Requisitos de conectividad para configurar la recuperación ante desastres

Debe asegurarse de que la solución de recuperación ante desastres cumple los siguientes requisitos de conectividad antes de configurar la recuperación ante desastres:

  • Conectividad de capa 3 entre los clústeres de Junos Space en los sitios activos y en espera. Esto significa lo siguiente:

    • Cada nodo de un clúster puede hacer ping correctamente a la dirección VIP del otro clúster

    • Cada nodo de un clúster puede usar SCP para transferir archivos entre los sitios activos y en espera

    • La replicación de la base de datos en los dos clústeres es posible mediante los puertos TCP 3306 (replicación de base de datos MySQL) y 5432 (replicación de base de datos de PostgreSQL)

    • El ancho de banda y la latencia de la conexión entre los dos clústeres son tales que la replicación de la base de datos en tiempo real es correcta. Aunque el ancho de banda exacto requerido depende de la cantidad de datos transferidos, recomendamos una conexión mínima de ancho de banda de 100 Mbps con una latencia de menos de 150 milisegundos.

  • Conectividad de capa 3 independiente entre cada clúster y los dispositivos administrados

  • Conectividad de capa 3 independiente entre cada clúster y clientes de GUI o NBI

Para configurar el proceso de recuperación ante desastres, consulte Configuración del proceso de recuperación ante desastres entre un sitio activo y en espera.

Organismo de control de recuperación ante desastres

El guardián de la recuperación ante desastres, también conocido como guardián de DR, es un mecanismo integrado de Junos Space para supervisar la integridad de la replicación de datos (base de datos MySQL, base de datos PgSQL, archivos de configuración y archivos RRD) en todos los sitios. El organismo de control de recuperación ante desastres también monitorea el estado general de la configuración de recuperación ante desastres, inicia una conmutación por error desde el sitio activo al de espera cuando el sitio activo falla y permite que el sitio en espera reanude los servicios de administración de red con una interrupción mínima del servicio. Una instancia del guardián de recuperación ante desastres se inicia en el nodo VIP de ambos sitios cuando se inicia el proceso de recuperación ante desastres.

El organismo de control de recuperación ante desastres ofrece los siguientes servicios:

Latido

El servicio de latidos entre los sitios activos y en espera usa ping para comprobar la conectividad entre los sitios. Ambos sitios se envían mensajes de latidos entre sí. El servicio de latidos realiza las siguientes tareas:

  • Detecte un error en el sitio remoto haciendo ping al sitio remoto a intervalos regulares.

  • Cuando el sitio remoto no responde, descarte la posibilidad de un problema temporal debido a una conmutación por error local en el sitio remoto.

  • Habilite o desactive la conmutación por error automática según la configuración de recuperación ante desastres.

  • Para evitar escenarios de cerebros divididos, ejecute el algoritmo de arbitraje del dispositivo (por defecto) o la lógica configurada en la secuencia de comandos personalizada.

  • Compruebe la configuración de recuperación ante desastres después de reiniciar un sitio.

mysqlMonitor

El servicio mysqlMonitor realiza las siguientes tareas:

  • Supervise el estado de la replicación de la base de datos MySQL dentro del sitio y entre los sitios activos y en espera.

  • Corrija errores de replicación de base de datos MySQL.

  • Notifique al administrador por correo electrónico si no se puede corregir automáticamente alguno de los errores de replicación de la base de datos MySQL.

pgsqlMonitor

El servicio pgsqlMonitor realiza las siguientes tareas:

  • Supervise el estado de la replicación de la base de datos PgSQL dentro del sitio y entre los sitios activos y en espera.

  • Corregir errores de replicación de base de datos PgSQL.

  • Notifique al administrador por correo electrónico si no se puede corregir automáticamente alguno de los errores de replicación de la base de datos PgSQL.

monitor de archivos

El servicio fileMonitor realiza las siguientes tareas:

  • Supervise el estado de los archivos de configuración y los archivos RRD replicados en los sitios y entre los sitios activos y en espera.

  • Corrija errores encontrados durante la replicación de archivos de configuración y archivos RRD.

  • Notifique al administrador por correo electrónico si alguno de los errores de replicación no se puede corregir automáticamente. También puede ver los errores de replicación en la salida del trabajo cron.

Monitor de árbitro

El servicio arbiterMonitor comprueba periódicamente si el sitio local puede hacer ping a todos los dispositivos del árbitro. Si el porcentaje de dispositivos de árbitro a los que se puede llegar cae por debajo de un umbral de advertencia configurado (70 %, de forma predeterminada), se envía una notificación por correo electrónico al administrador.

configMonitor

El servicio configMonitor realiza las siguientes tareas:

  • Supervise los archivos de configuración de recuperación ante desastres en todos los nodos en ambos sitios.

  • Transfiera los archivos de configuración entre nodos dentro de un sitio si los archivos no están sincronizados.

monitor de servicio

El servicio serviceMonitor realiza las siguientes tareas:

  • Supervise el estado de los servicios seleccionados (como jboss, jboss-dc, httpd y dr-watchdog) dentro de un sitio específico.

  • Inicie o detenga los servicios seleccionados si muestran un estado incorrecto.

Notificación

El servicio de notificaciones notifica al administrador por correo electrónico acerca de las condiciones de error, las advertencias o los cambios de estado de recuperación ante desastres detectados por el organismo de control de recuperación ante desastres. Se envían correos electrónicos de notificación si:

  • La conmutación por error automática está deshabilitada debido a problemas de conectividad entre un sitio y los dispositivos del árbitro.

  • El porcentaje de dispositivos de árbitro a los que se puede llegar es menor que el umbral de advertencia.

  • Un sitio se vuelve en espera o activo.

  • El sitio en espera no puede hacer una copia de seguridad de los archivos del sitio activo a través de SCP.

  • Un sitio no puede establecer una conexión SSH con el sitio remoto.

  • El sitio local no puede buscar el nombre de host del nodo principal de MySQL.

  • Un sitio no puede corregir errores de replicación de bases de datos MySQL y PgSQL.

El servicio de notificaciones no envía correos electrónicos para informar de los mismos errores en un período de tiempo configurable (de forma predeterminada, 3600 segundos).

Detección de fallas mediante el uso del algoritmo de arbitraje de dispositivos

Se utiliza un algoritmo de arbitraje de dispositivo para detectar fallas en un sitio. Se selecciona una lista de dispositivos altamente accesibles que ejecutan Junos OS y son administrados por Junos Space Platform como dispositivos árbitros. Recomendamos que seleccione los dispositivos del árbitro según los siguientes criterios:

  • Debe poder comunicarse con los dispositivos del árbitro a través de las conexiones SSH iniciadas por Junos Space desde ambos sitios. No seleccione dispositivos que usen conexiones iniciadas por el dispositivo a Junos Space Platform.

  • Debe poder hacer ping a los dispositivos del árbitro desde ambos sitios de recuperación ante desastres.

  • Debe elegir dispositivos árbitros que permanezcan conectados a la plataforma Junos Space o que se reinicien o apaguen con menor frecuencia, ya que esto puede afectar los resultados del algoritmo de arbitraje de dispositivos. Si prevé que ciertos dispositivos árbitros estarán desconectados durante alguna parte de sus vidas, evite elegir esos dispositivos.

  • Debe elegir dispositivos árbitros de diferentes ubicaciones geográficas para asegurarse de que un problema en la red de administración en una ubicación no haga que todos los dispositivos del árbitro sean inalcanzables de sus sitios.

  • No puede seleccionar dispositivos TDR y ww Junos OS como dispositivos árbitros.

El algoritmo de arbitraje de dispositivos en el sitio activo usa ping para conectarse a los dispositivos del árbitro desde el sitio activo. El algoritmo de arbitraje de dispositivos en el sitio de espera inicia sesión en los dispositivos del árbitro a través de conexiones SSH mediante el uso de las credenciales de inicio de sesión de la base de datos de Junos Space Platform. A continuación, se presentan los flujos de trabajo del algoritmo de arbitraje de dispositivos en los sitios activos y de espera.

En el sitio activo:

  1. Ping a todos los dispositivos del árbitro seleccionados.

  2. Calcule el porcentaje de dispositivos del árbitro que se pueden hacer ping.

  3. Compruebe si el porcentaje de dispositivos de árbitro a los que se puede hacer ping está por encima o el mismo que el valor configurado del umbral de conmutación por error.

    • Si el porcentaje de dispositivos del árbitro conectados está por encima o el mismo valor configurado del umbral de conmutación por error (parámetro failureDetection.threshold.failover en la sección watchdog de la API de recuperación ante desastres), la conmutación por error no se inicia porque el sitio activo administra la mayoría de los dispositivos del árbitro.

    • Si el porcentaje de dispositivos del árbitro está por debajo del valor configurado del umbral de conmutación por error, se inicia la conmutación por error (si está habilitada la conmutación por error automática) y el sitio activo se convierte en espera. Si la conmutación por error automática está deshabilitada, el sitio activo permanece activo.

En el sitio de espera:

  1. Inicie sesión en los dispositivos del árbitro a través de conexiones SSH.

  2. Ejecute un comando en cada dispositivo árbitro para recuperar la lista de conexiones SSH a cualquier nodo (administrado por el nodo) en el sitio activo.

  3. Calcule el porcentaje de dispositivos del árbitro administrados por el sitio activo.

  4. Calcule el porcentaje de dispositivos del árbitro a los que no se puede acceder mediante las conexiones SSH.

    • Si el porcentaje de dispositivos de árbitro administrados por el sitio activo está por encima o el mismo que el valor configurado del umbral de conmutación por error, no es necesaria la conmutación por error, ya que el sitio activo sigue administrando la mayoría de los dispositivos del árbitro.

    • Si el porcentaje de dispositivos árbitros administrados por el sitio activo está por debajo del valor configurado del umbral de conmutación por error, el organismo de control de recuperación ante desastres concluye que puede ser necesaria una conmutación por error.

  5. Sin embargo, dado que los dispositivos a los que no se puede acceder desde el sitio de espera pueden estar conectados y administrados por el sitio activo, el sitio en espera asume que el sitio activo administra todos los dispositivos del árbitro a los que no se puede llegar y calcula el nuevo porcentaje de dispositivos administrados por el sitio activo.

    • Si el porcentaje de dispositivos administrados por el sitio activo está por debajo del porcentaje de umbral para ajustar los dispositivos administrados (el parámetro failureDetection.threshold.adjustManaged en la sección watchdog de la API de recuperación ante desastres, el valor predeterminado es 50 %), el sitio de espera permanece en espera. De forma predeterminada, el porcentaje de umbral para ajustar los dispositivos administrados debe estar por debajo del umbral de conmutación por error.

    • Si el nuevo porcentaje calculado al agregar los dispositivos administrados por el sitio activo y los dispositivos del árbitro que no se pueden alcanzar está por debajo del umbral de conmutación por error, el organismo de control de recuperación de desastres concluye que se debe iniciar una conmutación por error.

      Si la conmutación por error automática está habilitada, el sitio de espera inicia el proceso de activarse. Si la conmutación por error automática está deshabilitada, no se produce ninguna conmutación por error.

Si desactivó la conmutación por error automática o la función se desactivó debido a problemas de conectividad, debe ejecutarse jmp-dr manualFailover en el sitio de espera para reanudar los servicios de administración de red desde el sitio de espera.

Detección de errores mediante el uso de scripts personalizados de detección de errores

Además de usar el algoritmo de arbitraje de dispositivos, puede crear scripts personalizados de detección de fallas (sh, bash, Perl o Python) para decidir cuándo o si se va a pasar por error al sitio de espera. Los scripts de error personalizados invocan el jmp-dr api v1 config ––include comando y recuperan la configuración de recuperación ante desastres y el estado de los servicios de control de recuperación ante desastres. La configuración de recuperación ante desastres y el estado de los servicios de control de recuperación ante desastres en un sitio se organizan como varias secciones. En el cuadro 1 se enumeran estas secciones.

Utilice la opción -- include <sección-name> para ver los detalles de una sección o usar los detalles de la sección en la secuencia de comandos personalizada de detección de errores.

Tabla 1: Secciones de API

Sección

Descripción

Detalles incluidos en la sección

Salida de muestra

Papel

Función de recuperación ante desastres del sitio actual

Las funciones pueden ser activas, en espera o independientes.

Failover

Tipo de conmutación por error que ocurrió la última vez

El valor puede estar active_to_standby, standby_to_active o vacío si aún no se ha producido una conmutación por error.

Núcleo

Configuración de recuperación ante desastres de núcleo que incluye los detalles del nodo de sitio remoto

peerVip-VIP del equilibrador de carga en el sitio remoto

adminPass: contraseñas de administrador cifradas del sitio remoto. Varias entradas están separadas por comas.

scpTimeout: valor de tiempo de espera utilizado para detectar fallas de transferencia de SCP entre sitios

peerLoadBalancerNodes: direcciones IP del nodo de los nodos del equilibrador de carga en el sitio remoto. Varias entradas están separadas por comas.

peerBusinessLogicNodes: direcciones IP de nodo de los nodos de JBoss en el sitio remoto. Varias entradas están separadas por comas.

peerDeviceMgtIps: direcciones IP de administración de dispositivos del sitio remoto. Varias entradas están separadas por comas.

{ 
"core": {
  "peerVip": "10.155.90.210",
  "adminPass": "ABCDE12345",
  "scpTimeout": 120,
  "peerLoadBalancerNodes": "10.155.90.211",
   "peerBusinessLogicNodes": "10.155.90.211",
   "peerDeviceMgtIps": "10.155.90.211"}
}

Mysql

Configuración de recuperación ante desastres relacionada con la base de datos MySQL en el sitio remoto

hasDedicatedDb: Si el sitio remoto incluye nodos de base de datos dedicados

peerVip–VIP de los nodos de MySQL en el sitio remoto (nodo normal o nodo de base de datos dedicado)

peerNodes: direcciones IP de nodos de los nodos MySQL en el sitio remoto (ya sea un nodo normal o un nodo de base de datos dedicado). Varias entradas están separadas por comas.

{ "mysql": {
   "hasDedicatedDb": false,
   "peerVip": "10.155.90.210",
   "peerNodes": "10.155.90.211"
   }
}

Pgsql

Configuración de recuperación ante desastres relacionada con la base de datos PgSQL en el sitio remoto

hasFmpm: Si el sitio remoto incluye nodos de FMPM especializados

peerFmpmVip–VIP de los nodos de PostgreSQL en el sitio remoto (nodo normal o nodo especializado de FM/PM)

peerNodes: direcciones IP de nodos de los nodos de PostgreSQL en el sitio remoto (nodo normal o nodo especializado de FM/PM). Varias entradas están separadas por comas.

{ "psql": {
  "hasFmpm": false,
  "peerFmpmVip": "10.155.90.210",
  "peerNodes": "10.155.90.211"
  }
}

Archivo

Configuración y recuperación ante desastres relacionados con archivos RRD en el sitio remoto

backup.maxCuento: Número máximo de archivos de respaldo que se conservarán

backup.hoursOfDay: horas del día para hacer copias de seguridad de los archivos

backup.daysOfWeek: días de la semana para hacer copias de seguridad de archivos

restore.hoursOfDay– Horas del día para sondear archivos desde el sitio activo

restore.daysOfWeek: días de la semana para sondear archivos desde el sitio activo

{ "file": {
  "backup": {
    "maxCount": 3,
    "hoursOfDay": "*",
    "daysOfWeek": "*" },
  "restore": {
    "hoursOfDay": "*",
"daysOfWeek": "*" }
  }
}

Perro guardián

Configuración de recuperación ante desastres relacionada con el guardián de recuperación ante desastres en el sitio actual

heartbeat.retries: número de veces que se vuelve a intentar el mensaje de latidos

heartbeat.timeout– Tiempo de espera de cada mensaje de latido en segundos

heartbeat.interval– Intervalo de mensaje de latido entre sitios en segundos

notification.email: comuníquese con la dirección de correo electrónico para informar problemas de servicio

notification.interval: intervalo de atenuación entre la recepción de correos electrónicos sobre los servicios afectados

failureDetection.isCustom: Si el sitio remoto utiliza una detección de fallas personalizada

failureDetection.script: ruta de la secuencia de comandos de detección de fallas

failureDetection.threshold.failover– Porcentaje de umbral para activar una conmutación por error

errorDetection.threshold.adjust Porcentaje de umbral administrado para ajustar el porcentaje de dispositivos administrados

errorDetection.threshold.warning– Porcentaje de umbral para enviar una advertencia y garantizar que un sitio de recuperación ante desastres pueda llegar a más dispositivos árbitros para mejorar la precisión del algoritmo de arbitraje de dispositivos

errorDetection.waitDuración: período de gracia para permitir que el sitio activo original vuelva a estar activo cuando ambos sitios estén en espera

errorDetection.arbiters: lista de dispositivos del árbitro

{ "watchdog": {
  "heartbeat": {
"retries": 4,
"timeout": 5,
"interval": 30 },
  "notification": {
    "email": "abc@example.com",
    "interval": 3600 },
  "failureDetection": {
"isCustom": false,
"script": "/var/cache/jmp-geo/watchdog/bin/arbitration",
    "threshold": {
      "failover": 0.5,
      "adjustManaged": 0.5,
      "warning": 0.7 },
      "waitDuration": "8h",
      "arbiters": [{
        "username": "user1",
        "password": "xxx",
        "host": "10.155.69.114",
        "port": 22,
        "privateKey": ""
      }]
}
  }
}

administración de dispositivos

Direcciones IP de administración de dispositivos en el sitio remoto

peerNodes: direcciones IP de administración de dispositivos del sitio remoto. Varias entradas están separadas por comas.

nodos: direcciones IP de administración de dispositivos en el sitio actual. Varias entradas están separadas por comas.

ip–Administración de dispositivos Dirección IP e interfaz en este nodo (nodo en el que se ejecuta el jmp-dr api v1 config --list comando)

{ "deviceManagement": {
   "peerNodes": "10.155.90.211",
   "nodes": "10.155.90.222",
”ip”: “10.155.90.228,eth0”
 }
}

Estados

Información de tiempo de ejecución de los servicios de vigilancia de recuperación ante desastres en el sitio actual. Si el organismo de control de recuperación ante desastres nunca se ha ejecutado en este sitio, esta sección no está disponible. Si el organismo de control de recuperación ante desastres se detuvo, la información de esta sección no está actualizada.

{ "states": {
    "arbiterMonitor": {
      "progress": "idle",
      "msg": {
        "service": "arbiterMonitor",
        "description": "",
        "state": true,
        "force": false,
        "progress": "unknown",
        "payload": {
          "code": 0
        },
        "time": "2015-07-18T22:18:55+00:00"
      },
"service": {}
   },
    "configMonitor": {
      "progress": "idle",
      "msg": {
        "service": "configMonitor",
        "description": "",
        "state": true,
        "force": false,
        "progress": "unknown",
        "payload": {
          "code": 0
        },
        "time": "2015-07-18T22:19:15+00:00"
      },"service": {}
    },
    "fileMonitor": {
      "progress": "idle",
      "msg": {
        "service": "fileMonitor",
        "description": "",
        "state": true,
        "force": false,
        "progress": "unknown",
        "payload": {
          "code": 0
        },
        "time": "2015-07-18T22:18:59+00:00"
      },
"service": {}
    },
    "heartbeat": {
      "progress": "unknown",
      "msg": {
        "service": "heartbeat",
        "description": "",
        "state": true,
        "force": false,
        "progress": "unknown",
        "payload": {
          "localFailover": false
        },
        "time": "2015-07-18T22:17:49+00:00"
      },
"service": {
        "booting": false,
        "bootEndTime": null,
        "waitTime": null,
        "automaticFailover": false,
        "automaticFailoverEndTime": "2015-07-18T07:41:41+00:00"
      }
    },
"mysqlMonitor": {
      "progress": "idle",
      "msg": {
        "service": "mysqlMonitor",
        "description": "",
        "state": true,
        "force": false,
        "progress": "unknown",
        "payload": {
          "code": 0
        },
        "time": "2015-07-18T22:19:09+00:00"
      },
"service": {}
    },
    "pgsqlMonitor": {
      "progress": "unknown",
      "msg": {
        "service": "pgsqlMonitor",
        "description": "Master node pgsql in active or standby site maybe CRASHED. Pgsql replication is in bad status. Please manually check Postgresql-9.4 status.",
        "state": false,
        "force": false,
        "progress": "unknown",
        "payload": {
          "code": 1098
        },
        "time": "2015-07-18T22:18:27+00:00"
      },"service": {}
    },
 
    "serviceMonitor": {
      "progress": "running",
      "msg": {
        "service": "serviceMonitor",
        "description": "",
        "state": true,
        "force": false,
        "progress": "unknown",
        "payload": {
          "code": 0
        },
        "time": "2015-07-18T22:19:30+00:00"
      },
      
"service": {}
    }
  }
}                                      

El resultado de la secuencia de comandos personalizada informa al organismo de control de recuperación ante desastres si es necesaria una conmutación por error en el sitio de espera. El guardián de recuperación ante desastres interpreta el resultado del script en formato JSON. A continuación se muestra un ejemplo:

En la tabla 2 se describen los detalles de la salida de la secuencia de comandos.

Tabla 2: Detalles de la salida del script personalizado

Propiedad

Descripción

Tipo de datos

Valores o formato

Otros detalles

Estado

Función actual de recuperación ante desastres de este sitio

Cadena

Activo

Espera

Obligatorio

No se permite una cadena vacía.

Acción

Acción que debe realizar el guardián de la recuperación ante desastres

Cadena

beActive: cambie el rol a activo.

beStandby: cambiar rol a modo de espera.

nada: no cambie el rol.

wait–Espere en el rol actual el tiempo especificado en la propiedad payload.waitTime.

Obligatorio

No se permite una cadena vacía.

Descripción

Descripción del campo de acción y el mensaje que se envía en la notificación por correo electrónico

Cadena

Obligatorio

Se permite una cadena vacía.

payload.waitTime

Tiempo de finalización del período de gracia cuando ambos sitios se vuelven en espera

Cadena (fecha)

AAAA-MM-DD, hora UTC en formato HH:MM+00:00

Obligatorio

Se permite una cadena vacía.

Esta propiedad se utiliza cuando se especifica el valor de la acción como espera.

payload.details

Información personalizada del usuario que se puede usar para depurar el script

Objeto JSON

Opcional

No se permite una cadena vacía.

Pasos para configurar la recuperación ante desastres

Para configurar la recuperación ante desastres entre un sitio activo y un sitio en espera:

  1. Detenga el proceso de recuperación ante desastres configurado durante versiones anteriores antes de actualizar a la versión 15.2R1 de la plataforma de administración de red de Junos Space. Para obtener más información sobre el proceso de actualización, consulte la sección Instrucciones de actualización en las Notas de versión 15.2R1 de la plataforma de administración de red de Junos Space.

    Para obtener más información acerca de cómo detener el proceso de recuperación ante desastres configurado durante versiones anteriores, consulte Detención del proceso de recuperación ante desastres en la versión 14.1R3 y versiones anteriores de la plataforma de administración de red de Junos Space.

    No es necesario realizar este paso para una instalación limpia de Junos Space Network Management Platform versión 15.2R1.

  2. Configure los servidores SMTP en ambos sitios desde la interfaz de usuario de Junos Space para recibir notificaciones. Para obtener más información, consulte Administración de servidores SMTP en la Guía del usuario de los espacios de trabajo de la plataforma de administración de red de Junos Space.

  3. Copie el archivo con la lista de dispositivos del árbitro (si utiliza el algoritmo de arbitraje de dispositivos) o la secuencia de comandos personalizada de detección de errores en la ubicación adecuada en el sitio activo. Asegúrese de que todos los dispositivos del árbitro se descubran en el sitio activo. Para obtener más información, consulte Descripción general de perfiles de descubrimiento de dispositivos en la Guía del usuario de los espacios de trabajo de la plataforma de administración de red de Junos Space.

  4. Configure el archivo de configuración de recuperación ante desastres en el sitio activo. La configuración de recuperación ante desastres incluye la configuración de SCP para sincronizar la configuración y los archivos RRD, la configuración de latidos, la configuración de notificaciones y el mecanismo de detección de fallas.

  5. Configure el archivo de configuración de recuperación ante desastres en el sitio de espera. La configuración de recuperación ante desastres incluye la configuración de SCP para sincronizar la configuración y los archivos RRD, la configuración de latidos y la configuración de notificación.

  6. Inicie el proceso de recuperación ante desastres desde el sitio activo.

    Para obtener más información, consulte Configurar el proceso de recuperación ante desastres entre un sitio activo y en espera.

Comandos de recuperación ante desastres

Utilice los comandos de recuperación ante desastres enumerados en la tabla 3 para configurar y administrar sitios de recuperación ante desastres. Debe ejecutar estos comandos en el nodo VIP del sitio. Puede usar la --help opción con estos comandos para ver más información.

Tabla 3: Comandos de recuperación ante desastres

Comando

Descripción

Opciones

jmp-dr init

Inicialice los archivos de configuración de recuperación ante desastres en ambos sitios.

Debe introducir valores para los parámetros que le pida el comando.

Cree los usuarios y contraseñas de MySQL y PgSQL necesarios para replicar datos y supervisar la replicación en sitios de recuperación ante desastres. Se crean los siguientes usuarios:

  • Usuario con un nombre de usuario repUsuario y contraseña repPass para replicación de base de datos MySQL.

  • Usuario con un nombre de usuario repAdmin y contraseña repAdminPass predeterminado para supervisar el estado y la conmutación por error de la replicación de la base de datos MySQL.

  • Usuario con replicación predeterminada de nombre de usuario y replicación de contraseña para replicación PgSQL.

  • Usuario con nombre de usuario predeterminados y contraseñas para supervisar el estado y la conmutación por error de la replicación pgSQL.

-a–Inicialice el archivo de configuración de recuperación ante desastres solo en el sitio activo.

-s–Inicialice el archivo de configuración de recuperación ante desastres solo en el sitio de espera.

jmp-dr start

Inicie el proceso de recuperación ante desastres en ambos sitios.

Debe ejecutar este comando en el nodo VIP del sitio activo. El sitio activo establece una conexión SSH con el sitio de espera y ejecuta el jmp-dr start comando en el sitio de espera.

Cuando se ejecuta este comando, se inicia la base de datos MySQL y la replicación y configuración de la base de datos PgSQL, y la copia de seguridad de archivos RRD en el sitio de espera.

Ejecute este comando:

  • Para iniciar inicialmente el proceso de recuperación ante desastres

  • Para reiniciar el proceso de recuperación ante desastres después de detener el proceso para actualizar la configuración de Junos Space.

-a–Inicie el proceso de recuperación ante desastres solo en el sitio activo.

-s–Inicie el proceso de recuperación ante desastres solo en el sitio de espera.

jmp-dr toolkit config update

Cuando el comando se ejecuta sin opciones, el comando:

  • Muestra la configuración de clúster modificada en un sitio y la actualiza en el sitio local.

  • Acepta y actualiza la configuración de clúster modificada en el sitio remoto.

Debe ejecutar el comando en el siguiente orden:

  1. Acepte y actualice los cambios de configuración del clúster en ambos sitios.

  2. Actualice los cambios del equilibrador de carga y modifique y actualice la configuración de tiempo de espera de SCP en ambos sitios.

  3. Modifique y actualice otros parámetros de configuración de recuperación ante desastres.

Debe ejecutar este comando en el nodo VIP del sitio local para modificar la configuración y en el nodo VIP del sitio remoto para aceptar la configuración modificada.

Utilice estas opciones para modificar la configuración de recuperación ante desastres en un sitio y actualizar el cambio en el sitio par:

-user-core–Modifique la configuración de la dirección VIP, la contraseña y el tiempo de espera de SCP.

-user-file-backup–Modificar la configuración y la configuración de respaldo de archivos RRD.

-user-file-restore–Modificar la configuración y replicación de archivos RRD a la configuración del sitio en espera.

-user-watchdog-heartbeat–Modificar la configuración de latidos del sistema de control de recuperación ante desastres.

-user-watchdog-notification–Modificar la configuración de las notificaciones por correo electrónico.

-user-watchdog-failureDetection–Modificar la configuración de detección de fallas.

jmp-dr health

Compruebe el estado del proceso de recuperación ante desastres.

El comando comprueba si se replican las bases de datos MySQL y PgSQL, se copia de seguridad de la configuración y los archivos RRD, y verifica el estado del organismo de control de recuperación ante desastres e informa errores.

jmp-dr stop

Detenga el proceso de recuperación ante desastres entre sitios.

Cuando se ejecuta este comando, la replicación y configuración de la base de datos MySQL y PgSQL, y la copia de seguridad de archivos RRD entre sitios se detienen. Los archivos de datos de recuperación ante desastres no se eliminan. El estado de servicios como JBoss, OpenNMS y Apache permanece inalterado.

jmp-dr reset

Detenga el proceso de recuperación ante desastres y elimine los archivos de datos de recuperación ante desastres de un sitio. El sitio inicia servicios como un clúster independiente.

Debe ejecutar este comando en el nodo VIP de ambos sitios para detener el proceso de recuperación ante desastres por completo y eliminar los archivos de datos de recuperación ante desastres de ambos sitios.

jmp-dr manualFailover

Falla manualmente en el sitio de espera.

Cuando se ejecuta este comando, el sitio de espera se convierte en el nuevo sitio activo y el sitio activo se convierte en el nuevo sitio de espera.

-a– Cambiar manualmente el rol del sitio a activo.

-s–Cambie manualmente el rol del sitio a modo de espera.

jmp-dr toolkit watchdog status [options]

Habilite la conmutación por error automática al sitio de espera o deshabilite la conmutación por error automática al sitio de espera durante una duración especificada.

Nota:

Solo puede ejecutar este comando si el organismo de control de recuperación ante desastres está activo en el sitio.

–enable-automatic-failover–Habilite la conmutación por error automática en el sitio de espera.

–disable-automatic-failover duration–Desactive la conmutación por error automática al sitio de espera durante un tiempo específico. Ingrese la duración del tiempo en horas o minutos. Por ejemplo, 1h o 30m. Si no introduce "h" o "m" junto con el valor (por ejemplo, 2), la duración predeterminada se calcula en horas. Si introduce cero, la conmutación por error automática se deshabilita permanentemente.

jmp-dr api v1 config

Vea la configuración de recuperación ante desastres y la información de tiempo de ejecución en formato JSON.

--list–Vea secciones específicas de la configuración de recuperación ante desastres y el estado de los servicios de control de recuperación ante desastres. En la tabla 1 se enumeran los nombres de las secciones.

–-include<sections>– Incluya secciones específicas de la configuración de recuperación ante desastres y el estado de los servicios de control de recuperación ante desastres en el script personalizado de detección de fallas. Separe varios nombres de sección con comas.

Cuando se incluye este comando en una secuencia de comandos personalizada de detección de errores, el comando recupera la configuración de recuperación ante desastres y el estado de los servicios de control de recuperación de desastres y ejecuta la lógica en la secuencia de comandos.