Buscar en SafeKit

Alta disponibilidad Azure con SafeKit: Instale el módulo mirror.safe para la conmutación por error

Guía de instalación rápida de alta disponibilidad para Azure

Esta guía explica cómo configurar un clúster mirror para Azure utilizando SafeKit, garantizando la conmutación por error automática y la replicación síncrona sin necesidad de almacenamiento compartido.

Para obtener ayuda, puedes usar SafeKit AI 🤖.

1. Descripción general

  • Arquitectura: utiliza un sistema de dos nodos (primario/secundario).
  • Protección de datos: implementa la replicación síncrona en tiempo real para una pérdida de datos nula (RPO = 0).

2. Instalación

  • Software: Instale el motor SafeKit en ambos servidores.
  • Módulo: Descargue el módulo de aplicación mirror.safe preconfigurado.

3. Configuración

  • Consola web: configure las carpetas específicas que contienen los archivos Azure.
  • Supervisión: Inicie la supervisión y protección de la aplicación Azure.

Limitaciones de alta disponibilidad SafeKit

Límite / RequisitoMotivo e impactoAlternativa recomendada
Tamaño de la replicación: unos pocos TBTiempo de resincronización tras un fallo (paso 3):
• Red de 1 Gb/s ≈ 3 horas/TB
• Red de 10 Gb/s ≈ 1 hora/TB (dependiendo del rendimiento de escritura del disco)
• Utilizar almacenamiento compartido externo (más caro, más complejo).
Número de archivos: < 1 000 000• Rendimiento del tiempo de resincronización después de una falla (paso 3).
• Tiempo necesario para comparar cada archivo entre ambos nodos.
• Coloque los numerosos archivos que se van a replicar en un disco duro virtual o en una máquina virtual.
• En este caso, solo se replicarán y resincronizarán los archivos que representan el disco duro virtual o la máquina virtual.
Capacidad de conmutación por error: ≤ 32 máquinas virtuales• Cada máquina virtual se ejecuta en un módulo mirror independiente.
• Máximo de 32 módulos mirror que se ejecutan en el mismo clúster.
• Utilizar un almacenamiento compartido externo y otra solución de clúster de máquinas virtuales (más cara y más compleja).
Arquitectura de red: red LAN/VLAN entre sitios remotos• Conmutación por error automática de la dirección IP virtual con 2 nodos en la misma subred.
• Buen ancho de banda para la resincronización (paso 3).
• Baja latencia para la replicación sincrónica: normalmente < 5 ms RTT; los valores más altos deben validarse con la tasa de escritura de la aplicación.
• Si los dos nodos están en subredes diferentes (común en la nube), utilice otras opciones de reenvío: un balanceador de carga, las CLI del proveedor de la nube, BGP o la redirección de DNS.
• Utilice soluciones de copia de seguridad con replicación asíncrona para redes con alta latencia.

Descripción general de la solución mirror SafeKit/Azure

La solución se describe aquí: 💡 Alta disponibilidad Microsoft Azure: replicación síncrona y conmutación por error SafeKit.

Instalación de la solución mirror SafeKit/Azure en Windows y Linux (mirror.safe)

Configuración del balanceador de carga de Microsoft Azure

El balanceador de carga debe configurarse si se desea implementar una dirección IP virtual.
Y el balanceador de carga debe configurarse para enviar periódicamente paquetes de estado a los nodos.
Para ello, SafeKit proporciona una comprobación de estado que se ejecuta dentro de los nodos y que

  • devuelve OK cuando el estado del módulo mirror es PRIM (verde) o ALONE (verde)
  • devuelve NO ENCONTRADO en todos los demás estados

Debe configurar el balanceador de carga Microsoft Azure con:

  • Protocolo HTTP
  • puerto 9010, el puerto del servidor web SafeKit
  • URL /var/modules/mirror/ready.txt (si mirror es el nombre del módulo que implementará más adelante)

Para obtener más información, consulte la configuración del balanceador de carga de Microsoft Azure.

⚠️ No configure una dirección IP virtual en el paso 4 de la configuración paso a paso que se muestra a continuación. La dirección IP virtual ya está configurada en el balanceador de carga Microsoft Azure. La configuración de una IP virtual en el paso 4 solo es útil para la configuración local.

Configuración de la seguridad de la red de Microsoft Azure

La seguridad de la red debe configurarse para habilitar las comunicaciones de los siguientes protocolos y puertos:

  • UDP - 4800 para el servicio safeadmin (entre nodos SafeKit)
  • UDP - 8888 para el heartbeat del módulo (entre los nodos SafeKit)
  • TCP – 5600 para el módulo de replicación de archivos en tiempo real (entre nodos SafeKit)
  • TCP – 9010 para la comprobación del estado del balanceador de carga y para la consola web SafeKit que se ejecuta en el modo http
  • TCP – 9001 para configurar el modo https para la consola
  • TCP – 9453 para la consola web SafeKit que se ejecuta en modo https

Instalación de paquetes en Windows

  • Descargue e instale la versión gratuita de SafeKit en 2 nodos Windows.
    Nota: la versión gratuita incluye todas las funciones SafeKit. Al final del período de prueba, puede activar las claves de licencia permanentes sin desinstalar el paquete.
  • Una vez completada la instalación del paquete, seleccione “Establecer credenciales de la consola y reglas de firewall ahora” y configure una contraseña para el usuario admin de la consola SafeKit.
    Establezca la misma contraseña en todos los nodos.
  • Excluya de los análisis antivirus C:/safekit/ (el directorio de instalación predeterminado) y todas las carpetas replicadas que vaya a definir.
    Los antivirus pueden tener dificultades para detectar SafeKit debido a su estrecha integración con el sistema operativo, los mecanismos de IP virtual, la replicación en tiempo real y el reinicio de los servicios críticos.

Descargar SafeKit (Windows) >

Instalación de paquetes en Linux

  • Instale la versión gratuita de SafeKit en 2 nodos Linux. Nota: la versión de prueba gratuita incluye todas las funciones SafeKit. Al final del período de prueba, puede activar las claves de licencia permanentes sin desinstalar el paquete.
  • Después de descargar el paquete safekit_xx.bin, ejecútelo para extraer el rpm y el script safekitinstall y, a continuación, ejecute el script safekitinstall
  • Responda sí a la configuración automática del cortafuegos
  • Establezca la contraseña para la consola web y el usuario predeterminado admin. Establezca la misma contraseña en todos los nodos.

Descargar SafeKit (Linux) >

Nota: el módulo genérico mirror.safe que va a configurar se entrega dentro del paquete.

Configuración paso a paso de la solución mirror SafeKit/Azure

Requisitos previos

  • Windows instalada en 2 nodos.
  • Los datos replicados totales se limitan a unos pocos terabytes; más allá de esto, el tiempo de resincronización se vuelve significativo.
  • Interconexión mínima de 1 Gb/s entre nodos (se recomiendan 10 Gb/s para una resincronización más rápida).
  • La conmutación por error de IP requiere que ambos nodos estén en la misma LAN o LAN extendida (L2); las redes L3 enrutadas no son compatibles (excepto con balanceadores de carga en la nube 🛠️).

1. Inicie la consola SafeKit

  • Inicie la consola web en un navegador en un nodo del clúster conectándose a http://localhost:9010.
  • Introduzca admin como nombre de usuario y la contraseña definida durante la instalación.

También puede ejecutar la consola en un navegador en una estación de trabajo externa al clúster.

⚠️ La configuración de SafeKit se realiza en ambos nodos desde un único navegador.

ℹ️ Para proteger la consola web, consulte 🛠️ 11. Protección del servicio web SafeKit en la Guía del usuario.

Inicie la consola web SafeKit para configurar el clúster Windows

2. Configurar las direcciones de los nodos

  • Introduzca las direcciones IP de los nodos, pulse la Tab key para comprobar la conectividad y rellene los nombres de los nodos. Si node1 o node2 tienen un color rojo, compruebe la conectividad del navegador con ambos nodos y compruebe el cortafuegos en ambos nodos para solucionar problemas 🛠️.
  • A continuación, haga clic en Save and apply para guardar la configuración.
  • Compruebe el mensaje Success ✅ en ambos nodos.
  • Si se produce un Failure de configuración ❌ en un nodo, abra el acordeón ▼ de ese nodo y revise los mensajes. Tenga en cuenta que puede utilizar la IA SafeKit 🤖 para obtener ayuda.

ℹ️ Si lo desea, puede agregar una nueva LAN and nodes (el primer ➕) para crear un segundo latido y una red de replicación dedicada.

ℹ️ Si hace clic en Advanced configuration, se mostrará el archivo cluster.xml. Este archivo se rellena automáticamente mediante la consola y se implementa en los nodos.

Introduzca los nodos del clúster de la Windows

3. Seleccione un módulo

  • En New module, haga clic en el módulo mirror.safe.

ℹ️ En el banner azul de la parte superior, el nodo 🛜 node1 representa el nodo de conexión de la consola. Este nodo retransmite las solicitudes al node2 cuando es necesario.

ℹ️ La consola busca xxx.safe en el directorio Application_Modules/generic/ en el nodo de conexión (node1) si colocó un módulo allí durante la instalación.

Selecciona el módulo para Windows

4. Configurar el módulo

  • En Module startup at boot, elija un inicio automático del módulo al arrancar sin demora.
  • En Macros/SERVICES, introduzca los nombres de los servicios de su aplicación, en el orden de inicio, separados por comas. Consulte esta captura de pantalla para ver un ejemplo visual de los servicios Milestone XProtect 🖼️.
  • En Heartbeat networks, debe tener una única red de latidos en la que se realiza la replicación. Si ha añadido una LAN privada en el paso 2, puede configurar dos latidos con el flujo de replicación en la LAN privada.
  • En Virtual IP addresses, introduzca una dirección IP virtual. Una dirección IP virtual es una dirección IP estándar en la misma red IP (misma subred) que las direcciones IP de ambos nodos.
    Los clientes de la aplicación deben configurarse con la dirección IP virtual (o el nombre DNS asociado a la dirección IP virtual).
    La dirección IP virtual se conmuta automáticamente en caso de fallo.
  • En Replicated directories, establezca las rutas de los directorios que se van a replicar. Compruebe que existen en ambos nodos y que contienen los datos de la aplicación.
    La replicación de datos y de registros es esencial para una base de datos.
    Puede crear directorios replicados adicionales según sea necesario.
    Consulte esta captura de pantalla para ver un ejemplo visual de la replicación SQL Milestone XProtect 🖼️.
  • En Checkers, podrá configurar las comprobaciones si es necesario, como la supervisión de procesos, las comprobaciones personalizadas, TCP, ping o comprobaciones de división de clúster.
    Por ejemplo, si un nombre de proceso se muestra en Monitored processes/services, se supervisará con una acción de reinicio en caso de fallo. La configuración de un nombre de proceso incorrecto hará que el módulo se detenga justo después de su inicio.

ℹ️ Si hace clic en Advanced configuration, se mostrará el archivo userconfig.xml. Este archivo se rellena automáticamente en la consola y se implementa en los nodos con los scripts de reinicio.

ℹ️ En una implementación en la nube, no es necesario configurar una dirección IP virtual en SafeKit. La IP virtual se gestiona a nivel balanceador de carga de la nube 🛠️

ℹ️ Cuando se aplica la configuración SafeKit, el startup type de los servicios se establece automáticamente en Manual en los servicios Windows. Esto garantiza que los servicios no se inicien automáticamente cuando el sistema arranca, sino que se inicien solo cuando se inicia el propio módulo (lo mismo se aplica en Linux).

Acceda a la configuración del módulo Windows

5. Editar guiones (opcional)

  • Este paso es opcional y se puede omitir en la mayoría de los casos, ya que los scripts de reinicio ya están preconfigurados para reiniciar los servicios definidos en el paso anterior.
  • Por lo tanto, haga clic directamente en Next step.
  • start_prim.ps1 inicia todos los servicios en el orden especificado en la lista SERVICES, mientras que stop_prim.ps1 detiene todos los servicios en el orden inverso.
  • Además, start_prim.ps1 comprueba el inicio de cada servicio y detiene el módulo si algún servicio no se inicia correctamente.

Acceda a la configuración del módulo Windows

6. Cifrado de la comunicación (opcional)

  • Mantenga el cifrado de la comunicación entre los nodos.

Cifrado de la comunicación del módulo de la Windows

7. Guardar y aplicar

  • Save and apply la configuración y los scripts en ambos nodos.

Guarda y aplica la configuración del módulo Windows

8. Verifique que la configuración se haya realizado correctamente

  • Compruebe el mensaje Success ✅ en ambos nodos y haga clic en Monitor modules.
  • Si se produce un Failure de configuración ❌ en un nodo, abra el acordeón ▼ de ese nodo y revise los mensajes. Tenga en cuenta que puede utilizar la IA SafeKit 🤖 para obtener ayuda.

⚠️ En Linux, es posible que obtenga un error en este paso si los directorios replicados son puntos de montaje. 🛠️ Consulte SK-0030 para resolver el problema.

Compruebe que la configuración del módulo Windows se ha realizado correctamente

9. Inicie el nodo con los datos actualizados

  • Si el nodo 1 tiene los directorios replicados actualizados, selecciónelo y ⋯ Force start ▶ As primary.

Cuando se inicie el nodo 2, todos los datos se copiarán del nodo 1 al nodo 2.

⚠️ Si elige la opción incorrecta, corre el riesgo de sincronizar datos obsoletos en ambos nodos.

⚠️ También se supone que la aplicación Windows está detenida en el nodo 1 para que SafeKit instale los mecanismos de replicación y luego inicie la aplicación en el script start_prim.

⚠️ Utilice Start para los inicios posteriores: SafeKit conserva el servidor más actualizado. Iniciar As primary es un inicio especial la primera vez o durante operaciones excepcionales.

Inicie el nodo Windows como primario con los datos actualizados

10. Espere a que la transición sea a ALONE (verde)

  • El nodo 1 debe alcanzar el estado ALONE (verde), lo que significa que la IP virtual está configurada y que el script start_prim se ha ejecutado en el nodo 1.

⚠️ Si no se alcanza ALONE (verde) o si no se inicia la aplicación, analice el motivo con el registro del módulo 🖼️ del nodo 1.

  • Haga clic en el icono de registro 🔍 del node1 para abrir el registro del módulo y buscar mensajes de error, como un verificador que detecta un error y detiene el módulo.
  • Haga clic en start_prim en el registro: los mensajes de salida del script se muestran a la derecha y se pueden detectar errores, como un servicio que se inició incorrectamente.
  • Utiliza la IA SafeKit 🤖 para obtener ayuda con los mensajes de registro.

⚠️ Si el clúster está en estado WAIT (red) not uptodate, STOP (red) not uptodate, detenga el nodo WAIT y fuerce su inicio como primario 🖼️.

El primer nodo Windows se inicia como primario y se convierte en ALONE

11. Iniciar nodo 2

  • ⋯ Start el nodo 2 con su menú contextual.
  • Espere al SECOND estado (verde).

ℹ️ El nodo 2 permanece en el SECOND estado (naranja) mientras se resincronizan los directorios replicados (copia del nodo 1 al nodo 2).

  • Esto puede tardar un tiempo, dependiendo del tamaño de los archivos que se van a resincronizar en los directorios replicados y del ancho de banda de la red.
  • Para ver el progreso de la copia, consulte el registro del módulo 🖼️ y los recursos de replicación 🖼️ del nodo 2. Utilice la IA SafeKit 🤖 para obtener ayuda con los mensajes de registro.

Inicie el nodo 2 Windows

12. Compruebe que el clúster está operativo

  • Compruebe que el clúster esté en verde/verde con los servicios Windows ejecutándose en el nodo PRIM y no en el nodo SECOND.

En este estado, solo los cambios dentro de los archivos se replican en tiempo real.

⚠️ Los componentes que son clientes de los servicios Windows deben configurarse con la dirección IP virtual. La configuración se puede realizar con un nombre DNS (si se ha creado un nombre DNS y se ha asociado con la dirección IP virtual).

El nodo Windows 2 es SECOND (verde)

13. Pruebas

  • Detenga el nodo PRIM desplazándose hacia abajo en su menú contextual y haciendo clic en Stop.
  • Verifique que haya una conmutación por error en el SECOND nodo, que debería quedar ALONE (en verde).
  • Y con Microsoft Management Console (MMC) en Windows o con líneas de comandos en Linux, compruebe la conmutación por error de los servicios Windows (detenidos en el nodo 1 en el script stop_prim e iniciados en el nodo 2 en el script start_prim).

⚠️ Si no se alcanza ALONE (verde) en el node2 o si la aplicación no se inicia, analice el motivo con el registro del módulo 🖼️ del nodo 2.

  • Haga clic en el icono de registro 🔍 del node2 para abrir el registro del módulo y buscar mensajes de error, como un verificador que detecta un error y detiene el módulo.
  • Haga clic en start_prim en el registro: los mensajes de salida del script se muestran a la derecha y se pueden detectar errores, como un servicio que se inició incorrectamente.
  • Utiliza la IA SafeKit 🤖 para obtener ayuda con los mensajes de registro.

⚠️

  • Si todo está bien, inicie un inicio en node1, que resincronizará los directorios replicados desde node2.
  • Si las cosas van mal, detenga node2 y fuerce al nodo 1 a iniciarse como primario 🖼️, que se reiniciará con sus datos localmente saludables en el momento de la detención.

ℹ️ Encuentre más detalles, junto con vídeos, en la formación en línea SafeKit.

Detenga el módulo Windows en el servidor PRIM

14. Soporte

  • Para obtener soporte, haga 2 Snapshots SafeKit (2 archivos .zip), una para cada nodo.

ℹ️ Más información sobre el soporte aquí.

Toma capturas de pantalla de la Windows para obtener ayuda

Demostración de la solución mirror SafeKit

Vídeo SafeKit: Agrupación en clúster a nivel de aplicación (8:47)

En este vídeo, descubra cómo SafeKit implementa un clúster HA mirror sin la complejidad de una SAN. Aunque esta demostración utiliza Microsoft SQL Server, la solución funciona de forma idéntica para otras bases de datos y aplicaciones.

Capítulos

  1. 🎬 2 nodos con SQL Server (0:32)
  2. 🎬 Configura el clúster y el módulo mirror.safe (3:58)
  3. 🎬 Iniciar y probar la replicación, migración y conmutación por error de SQL en caso de fallo (4:17)

Implementación paso a paso

🔍 Explora SafeKit

Encuentre información sobre las características, arquitecturas, vídeos, documentación y la prueba gratuita de SafeKit.

RecursoDescripciónEnlace
Características principalesDescubra por qué SafeKit es una solución de alta disponibilidad sencilla y rentable.Descubre las características clave
Casos de usoDescubra cómo SafeKit mantiene disponibles las aplicaciones y la infraestructura críticas.Explora los casos de uso
Modelo de implementaciónSafeKit proporciona alta disponibilidad sin necesidad de una SAN o almacenamiento compartido.Explore el modelo de implementación
Estrategias de alta disponibilidadCompare la alta disponibilidad de las máquinas virtuales con la alta disponibilidad de las aplicaciones.Compare las dos estrategias
Especificaciones técnicasCompruebe los requisitos técnicos y las limitaciones de los clústeres de SafeKit.Lea las especificaciones técnicas
VídeosVea demostraciones de la configuración de SafeKit y de la conmutación por error automática.Mira los vídeos técnicos
ArquitecturaAprenda cómo el clúster mirror replica archivos en tiempo real y gestiona la conmutación por error.Explora la arquitectura Mirror
ArquitecturaDescubra cómo el clúster farm equilibra el tráfico de la red y gestiona la conmutación por error.Explora la arquitectura Farm
Comparación de productosCompare SafeKit con los clústeres tradicionales de alta disponibilidad.Compare las soluciones
Recursos técnicosEncuentre la documentación técnica, descargue SafeKit y acceda a la versión de prueba gratuita.Acceda a la documentación y a la prueba gratuita
Módulos de aplicaciónUtilice los módulos SafeKit preconfigurados para configurar la alta disponibilidad de sus aplicaciones.Explora los módulos de la aplicación
SafeKit AI Chat SafeKit AI