Cree un clúster Nextcloud resiliente con Galera

Primero, configure el clúster de base de datos y, a continuación, coloque varios nodos de aplicación Nextcloud idénticos detrás de un balanceador de carga con comprobación de estado. Para una configuración estable, todos los nodos de aplicación deben usar el mismo almacenamiento de archivos persistente, la misma configuración, el mismo servicio de bloqueo Redis o Valkey y un punto final de base de datos que dirija las escrituras únicamente a un miembro Galera en buen estado. El manual de administración actual de Nextcloud incluye MariaDB como base de datos compatible, pero no publica una receta de implementación específica para Galera; verifique las versiones exactas de Nextcloud, MariaDB, Galera y proxy con los proveedores antes de la puesta en producción.

A fecha de 9 de octubre de 2026, la página de requisitos del sistema de Nextcloud 35 enumera MariaDB 10.11, 11.4, 11.8 y 12.3, con la versión 12.3 marcada como recomendada. Esta es una lista de versiones de bases de datos de Nextcloud, no una garantía de que todas las combinaciones de Galera o proxy estén certificadas. Comience consultando los requisitos del sistema de Nextcloud 35 y la matriz de compatibilidad de Galera de su distribución de MariaDB.

1. Definir los límites de fallo

Un clúster de alta disponibilidad ofrece más que una base de datos replicada. Galera protege la capa de base de datos; no replica los archivos de usuario de Nextcloud, las sesiones PHP, los bloqueos de Redis ni el código de la aplicación. Una única base de datos compartida tampoco puede compensar un fallo en el montaje del almacenamiento ni un balanceador de carga que siga enviando tráfico a un nodo de aplicación averiado.

Planifique estos componentes antes de la instalación:

  • Al menos dos servidores de aplicaciones que ejecuten la misma versión de Nextcloud, versión de PHP, aplicaciones habilitadas y configuración web.
  • Un balanceador de carga o un proxy inverso con un nombre de host público estable, HTTPS y comprobaciones de estado para los servidores de aplicaciones.
  • El almacenamiento de datos compartido y persistente de Nextcloud es visible en la misma ruta y con los permisos correctos en todos los servidores de aplicaciones. El directorio de datos de Nextcloud debe configurarse durante la instalación; las instrucciones de instalación advierten que moverlo posteriormente es complicado.
  • Un clúster Galera con un número impar de nodos de base de datos de votación, normalmente tres, colocados de forma que el fallo de un host no elimine la mayoría.
  • Un servicio compartido de Redis o Valkey para almacenamiento en caché distribuido y bloqueos de archivos transaccionales.

Elija diseños de almacenamiento y red que cuenten con redundancia propia y recuperación probada. Una ruta compartida no garantiza automáticamente una alta disponibilidad solo porque varios servidores web puedan montarla.

2. Instale y valide primero MariaDB Galera.

Seleccione una versión de MariaDB que cumpla con los requisitos actuales de Nextcloud y un paquete Galera compatible con su proveedor de MariaDB. Siga la documentación de implementación de MariaDB Galera para la configuración de nodos, puertos de red, transferencia de instantáneas de estado, TLS y arranque inicial. No inicie cada nodo vacío como un clúster nuevo; inicie un nodo y luego incorpore los demás a ese clúster.

Nextcloud requiere InnoDB y el READ-COMMITTEDnivel de aislamiento de transacciones para MySQL o MariaDB. La página actual de la base de datos de Nextcloud también recomienda el registro binario basado en filas. Confirme los valores en cada nodo de la base de datos, no solo en el que recibe tráfico actualmente. Consulte los requisitos de configuración de MariaDB de Nextcloud .

Antes de conectar Nextcloud, verifique el estado del clúster en cada nodo. Por ejemplo, ejecute SHOW GLOBAL STATUS LIKE 'wsrep_cluster_status';y SHOW GLOBAL STATUS LIKE 'wsrep_local_state_comment';. El clúster debería informar un Primarycomponente, el tamaño esperado del clúster y los nodos en el Syncedestado. MariaDB explica que el quórum requiere más de la mitad de la última membresía conocida del clúster; por lo tanto, un clúster de tres nodos puede tolerar la pérdida de un nodo, no de dos. Revise su guía de quórum y recuperación .

3. Proporcionar a Nextcloud un punto final de base de datos que tenga en cuenta el estado.

Configure Nextcloud para que se conecte a una dirección proxy de base de datos estable, no a una lista rotativa de direcciones IP de Galera. Aunque Galera replica las escrituras en todo el clúster, las aplicaciones aún necesitan un manejo de transacciones predecible. Un proxy que supervise la membresía de Galera puede dejar de enrutar a nodos no disponibles o no sincronizados y seleccionar un nodo de escritura. El Monitor de Galera de MariaDB MaxScale es una opción documentada; su comportamiento exacto y los modos de enrutamiento compatibles dependen de la versión y la configuración de MaxScale.

Utilice el punto final de conexión documentado del proxy como el de Nextcloud dbhost. Cree cuentas separadas con privilegios mínimos para la monitorización y el acceso a las aplicaciones, proteja las credenciales y cifre el tráfico de la base de datos cuando atraviese una red no confiable. Evite habilitar la división de lectura/escritura como un atajo de rendimiento: la función de replicación propia de Nextcloud envía las lecturas a las réplicas mientras mantiene las escrituras y las lecturas causales en la conexión predeterminada, pero Galera no es una configuración de réplica asíncrona común. Utilice un diseño de enrutamiento probado específicamente para su pila.

4. Asegúrese de que todos los nodos de la aplicación vean la misma instancia de Nextcloud.

Instale el mismo código y conjunto de aplicaciones de Nextcloud en cada servidor de aplicaciones. Mantenga la coherencia en cada nodo config.phpde la instancia compartida, incluyendo el punto final de la base de datos, los valores secretos, los dominios de confianza y la ruta del directorio de datos. No ejecute la actualización de forma independiente en varios nodos. Realice una copia de seguridad primero, ponga la instancia en modo de mantenimiento, actualice mediante una ruta controlada y restablezca el tráfico solo después de que todos los nodos ejecuten la misma versión.

Configure todos los nodos de la aplicación para que utilicen el mismo servicio Redis o Valkey para el almacenamiento en caché y el bloqueo distribuidos. Una caché local como APCu puede permanecer en el nodo, pero memcache.distributeddebe memcache.lockingapuntar a un servicio común, no al de cada servidor localhost. Por ejemplo, la configuración de Redis de Nextcloud puede usar 'memcache.locking' => '\OC\Memcache\Redis'un host Redis compartido en la configuración. Siga la guía de configuración de caché y la guía de bloqueo de archivos transaccionalredis vigentes . Memcached no es adecuado para los bloqueos de archivos transaccionales de Nextcloud.

Si también centraliza las sesiones PHP en Redis, considérelo como una tarea de configuración PHP independiente. El manual de Nextcloud advierte que el bloqueo de sesiones no está habilitado por defecto para el gestor de sesiones de Redis; aplique su configuración de bloqueo y pruebe el comportamiento de la sesión antes de confiar en él. No confunda la replicación de la base de datos o el bloqueo de archivos con la continuidad de la sesión.

5. Pruebe la conmutación por error antes de declararla de alta disponibilidad.

Primero, confirme el funcionamiento normal a través del nombre de host público: inicie sesión, cargue y descargue un archivo de prueba y verifique que sea visible después de que una solicitud llegue a otro nodo de la aplicación. Luego, vacíe un nodo web y confirme que las solicitudes continúen a través del otro. Restáurelo y confirme que se reincorpora sin servir una versión de código o configuración obsoleta.

A continuación, utilice una ventana de mantenimiento para simular un fallo en un nodo de la base de datos según el manual de procedimientos de su proveedor. Confirme que el proxy elimina el miembro que ha fallado o no está sincronizado, que Nextcloud aún puede leer y escribir, y que el nodo que regresa alcanza el estado correcto Syncedantes de aceptar tráfico. Supervise el estado del nodo principal de Galera, el tamaño del clúster, la sincronización de nodos, el estado del proxy, los errores de la aplicación y el estado del montaje del almacenamiento.

La pérdida de quórum es una medida de seguridad, no una prueba de que los datos se hayan perdido. No fuerce el arranque de varios nodos ni elija uno al azar. La guía de recuperación de MariaDB recomienda identificar el nodo más avanzado y arrancar solo ese nodo, para luego volver a unir los demás. Confirme que también ha probado las copias de seguridad de la base de datos y del almacenamiento de archivos; la replicación de Galera refleja los cambios en la base de datos y no reemplaza las copias de seguridad puntuales.

Verificar el resultado

La configuración estará lista para producción solo cuando se pueda desconectar un nodo de aplicación y un nodo de base de datos sin interrumpir las operaciones normales de archivos, todos los nodos Galera restantes permanezcan en un componente principal y el almacenamiento de archivos compartido y el servicio Redis o Valkey sigan estando accesibles. Si una prueba falla, identifique qué nivel dejó de atender la solicitud antes de modificar los tiempos de espera o la configuración de reintentos. El manual de Nextcloud documenta la configuración de base de datos y aplicación compatible, mientras que la matriz de compatibilidad del proveedor y sus pruebas de conmutación por error determinarán si esta implementación específica de Galera es compatible.

Dejar un comentario

Solucionar problemas de instalación de la aplicación Nextcloud que reportan falta de conexión a Internet

Solucionar problemas de instalación de la aplicación Nextcloud que reportan falta de conexión a Internet

Identificar los fallos de instalación de la App Store y determinar si se deben a problemas de DNS, HTTPS, proxy, TLS o configuración del propio servidor Nextcloud.

Controla los picos de uso de CPU de Nextcloud Preview con una cola programada.

Traslada el trabajo de creación de miniaturas a una programación controlada en segundo plano, recorta los tamaños de vista previa no utilizados y verifica la cola sin sobrecargar tu servidor Nextcloud.

Obtén Nextcloud Desktop Sync: Más allá del procesamiento de archivos.

Localiza el archivo, la regla de exclusión, el problema de conexión o el estado de la base de datos del cliente que está impidiendo la sincronización de Nextcloud y, a continuación, verifica que las cargas y descargas se realicen de forma segura.

Elimine la advertencia de Nextcloud OPcache ajustando el límite correcto.

Encuentre el límite de PHP OPcache que activa la advertencia de Nextcloud, actualice la configuración web PHP correcta, reinicie de forma segura y verifique el resultado.

Conectar Nextcloud con CODE Docker: Configuración y ventajas e inconvenientes

Conectar Nextcloud con CODE Docker: Configuración y ventajas e inconvenientes

Compara el código integrado con el basado en Docker y, a continuación, conecta Collabora Online a Nextcloud mediante un proxy inverso HTTPS seguro.

Cree un clúster Nextcloud resiliente con Galera

Planifique una implementación confiable de Nextcloud HA con almacenamiento compartido, bloqueo de Redis, enrutamiento MariaDB con reconocimiento de quórum y comprobaciones prácticas de conmutación por error.

Consigue que las llamadas de Nextcloud Talk se realicen cuando falle Direct Media.

Consigue que las llamadas de Nextcloud Talk se realicen cuando falle Direct Media.

Configure y verifique un relé TURN accesible para Nextcloud Talk cuando los firewalls o la NAT restrictiva bloqueen los medios de llamada directa.

Elimine las advertencias de integridad de Nextcloud restaurando los archivos correctos.

Utilice el informe de archivos no válidos para identificar código de Nextcloud modificado, faltante o adicional, restaurar archivos de confianza de forma segura y verificar el resultado.

Conecta Gmail o Microsoft 365 a Nextcloud Mail mediante OAuth2.

Configura OAuth2 para Nextcloud Mail con Gmail o Microsoft 365, verifica la recepción y el envío, y resuelve los fallos comunes de consentimiento y SMTP.

Elimine de forma segura el modo de mantenimiento de Nextcloud atascado con OCC.

Elimine de forma segura el modo de mantenimiento de Nextcloud atascado con OCC.

Utilice OCC para restaurar el acceso a Nextcloud, verificar el estado de la migración de la base de datos y elegir el comando adecuado para las instalaciones de archivos, Docker o Snap.