Buscar en SafeKit

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

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

Esta guía explica cómo configurar un clúster mirror para MariaDB 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 mysql.safe preconfigurado.

3. Configuración

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

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 SafeKit/MariaDB

La solución se describe aquí: 💡 La alta disponibilidad más sencilla MariaDB: replicación síncrona y conmutación por error de 2 nodos.

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

Requisitos previos

  • Necesitas tener MariaDB instalado en 2 nodos (máquinas virtuales o servidores físicos).

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 del módulo en Windows

  • Descargue el módulo mysql.safe. El módulo es gratuito. Contiene los archivos userconfig.xml y los scripts de reinicio.
  • Coloque mysql.safe en C:/safekit/Application_Modules/generic.

Descargar mysql.safe (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) >

Instalación del módulo en Linux

  • Descargue el módulo mysql.safe.
    El módulo es gratuito. Contiene los archivos userconfig.xml y los scripts de reinicio.
  • Coloque mysql.safe en /opt/safekit/Application_Modules/generic/.

Descargar mysql.safe (Linux) >

Configuración paso a paso de la solución SafeKit/MariaDB

Requisitos previos

  • MariaDB 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 MariaDB

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 MariaDB

3. Seleccione un módulo

  • En New module, haga clic en el módulo mysql.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 MariaDB

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 MariaDB

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 MariaDB

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 MariaDB

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 MariaDB

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 MariaDB 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 MariaDB 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 MariaDB 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 MariaDB 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 MariaDB

12. Compruebe que el clúster está operativo

  • Compruebe que el clúster esté en verde/verde con los servicios MariaDB 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 MariaDB 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 MariaDB 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 MariaDB (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 MariaDB 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 MariaDB 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