Clúster
Un solo servidor de OPanel es, en sí mismo, un clúster de uno. Al sumar más servidores, todos comparten la misma base de datos de la plataforma, la misma autoridad de certificación del clúster y el mismo panel — ni clientes ni personal ven servidores individuales, solo capacidad.
Cada servidor asume uno o más roles:
| Rol | Qué ejecuta |
|---|---|
control |
El controlador: API, interfaz web, motor de tareas, facturación, la autoridad de certificación del clúster |
web |
Los sitios: nginx, PHP-FPM por sitio |
edge |
HTTP/HTTPS/HTTP/3 público, TLS bajo demanda, el WAF |
ssh |
La puerta de enlace SFTP/SSH de clientes |
db |
Bases de datos MariaDB de los clientes |
cache |
Un pool compartido de Valkey |
opanel install le da al primer servidor todos los roles. Los servidores que sumás después se
unen solo con los roles que necesitan.
Sumar un servidor
Sección titulada «Sumar un servidor»Un servidor que se une comparte la base de datos de la plataforma, la CA del clúster y el panel del primer servidor; los sitios nuevos van al servidor que tenga lugar dentro del pool del plan.
-
En un servidor de control existente, crea un token de unión de un solo uso para los roles del nuevo servidor:
Ventana de terminal opanel cluster token create --roles web,edge --pool default --ttl 1hEsto imprime el comando
opanel joinexacto a correr, incluyendo la dirección del controlador y la huella digital de la CA del clúster. -
Si el nuevo servidor tiene el rol
edge, haz que todos los edges compartan los mismos certificados TLS:Ventana de terminal opanel cluster share-certificates -
En el servidor nuevo, un Debian 13 recién instalado con el paquete
opanel, ejecuta el comando impreso como root:Ventana de terminal opanel join --controller 10.0.0.1:7444 --token opj_... --ca-sha256 <fingerprint>El servidor verifica al controlador contra la huella digital fijada de la CA antes de enviar el token, así que el token es inútil para cualquiera que lo intercepte camino a un destino que no sea tu controlador. Después instala los paquetes que sus roles necesitan, genera sus propias claves, recibe sus certificados y arranca sus servicios.
Flag Para qué sirve --node-nameNombre del servidor en el clúster (por defecto: su hostname). --node-addressDirección por la que otros servidores lo alcanzan (por defecto: la dirección que usó para llegar al controlador). --public-ipv4,--public-ipv6Direcciones públicas de un servidor edge, para las verificaciones de DNS de dominios. -
Verificalo:
opanel doctoren el servidor nuevo, yGET /api/v1/nodesdesde la consola lo muestra en línea y sincronizado en alrededor de un minuto.
Dale a los servidores una red privada para el tráfico de clúster — no viaja cifrado entre los edges y los servidores web. Apuntá los dominios de los clientes a las direcciones públicas de cada servidor edge, o a un balanceador de carga delante de ellos.
Pools de nodos y ubicación
Sección titulada «Pools de nodos y ubicación»Los planes apuntan a un pool de nodos (por ejemplo standard, premium-nvme, eu-west); los
clientes nunca eligen un servidor específico. Al crear un sitio nuevo, OPanel filtra los servidores
web candidatos (rol, estado, pertenencia al pool, versión de PHP, margen de disco y memoria) y
puntúa el resto según el uso reciente de CPU, memoria y disco más la cantidad de sitios, eligiendo
el mejor lugar. Las bases de datos se ubican en un pool de bases de datos de la misma manera.
Mover sitios y drenar servidores
Sección titulada «Mover sitios y drenar servidores»Los operadores mueven sitios individuales, drenan un servidor antes de un mantenimiento y actúan sobre las sugerencias del rebalanceador — los clientes solo ven una nota en el registro de actividad del sitio.
- Mover un sitio:
POST /api/v1/sites/{id}/move. Los archivos se copian en segundo plano mientras el sitio sigue sirviendo desde su servidor actual; el corte hacia el nuevo servidor tarda segundos una vez que la copia está al día. El servidor anterior conserva una copia detenida durante una ventana de reversión (24 horas por defecto) por si necesitas volver rápido. - Poner en cuarentena un servidor (
POST /api/v1/nodes/{id}/cordon): dejar de enviarle sitios nuevos; sus sitios actuales quedan donde están. - Drenar un servidor (
POST /api/v1/nodes/{id}/drain): ponerlo en cuarentena y mover todos sus sitios afuera, de a pocos, antes de bajarlo por mantenimiento o retirarlo.GET /api/v1/nodes/{id}/drainmuestra el progreso y marca cualquier sitio cuyo movimiento haya fallado repetidamente. - Sacar de cuarentena (
POST /api/v1/nodes/{id}/uncordon): que el servidor vuelva a recibir sitios nuevos.
El rebalanceador
Sección titulada «El rebalanceador»Cada 15 minutos, OPanel puntúa los servidores web de cada pool según CPU, memoria, disco y cantidad
de sitios. Cuando un pool se mantiene desequilibrado durante tres evaluaciones seguidas, el
rebalanceador propone mover algunos sitios chicos y activos del servidor más cargado al más
tranquilo. Por defecto solo sugiere estos movimientos (GET /api/v1/rebalancer/proposals) para
que un operador los acepte o los descarte; activá rebalancerAutoMoves en la configuración de
ubicación para que arranque un movimiento por pool en forma automática. Los sitios fijados nunca se
proponen.
| Ajuste de ubicación | Valor por defecto | Para qué sirve |
|---|---|---|
maxMovesPerNode |
2 | Movimientos simultáneos que tocan un mismo servidor |
maxMovesPerPool |
4 | Movimientos simultáneos en un mismo pool |
rollbackWindowHours |
24 | Cuánto se conserva la copia previa de un sitio movido |
transferMBPerSecond |
100 | Tope de throughput por flujo de transferencia |
rebalancerThreshold |
0.25 | Diferencia de carga que dispara propuestas de rebalanceo |
rebalancerAutoMoves |
apagado | Dejar que el rebalanceador arranque movimientos por su cuenta |