En este tutorial, le mostraremos cómo configurar el clúster de alta disponibilidad de Nginx usando Pacemaker en CentOS 7. Para tener un servidor Nginx que pueda operar de forma continua sin fallas durante mucho tiempo, debemos configurar el servidor con instancias de Nginx activo-pasivo . Pacemaker es un software de administración de clústeres de código abierto que logra la máxima disponibilidad de sus servicios. Es un administrador de clústeres de alta disponibilidad avanzado y escalable distribuido por ClusterLabs, administra todos los servicios de clústeres y utiliza las capacidades de mensajería y membresía del motor de clústeres subyacente.
1. requisitos previos
Para seguir este tutorial, debe tener:
- 2 o más servidores
- Sistema operativo CentOS 7
- acceso raíz a cada uno de los servidores
2. Iniciar sesión y actualizar CentOS
ssh root@IP_Address -p7022
yum update yum upgrade
Edite el archivo /etc/hosts en ambos servidores con cualquier editor de texto de terminal de su agrado
nano /etc/hosts
Agregue las siguientes líneas al archivo /etc/hosts
192.168.0.22 webserver-01 192.168.0.23 webserver-02
3. Instale el repositorio Epel y Nginx
Se necesita el repositorio Extra Packages for Enterprise Linux (EPEL) para instalar Nginx. Ejecute los siguientes comandos en ambos servidores.
yum install epel-release -y yum install nginx -y
systemctl enable nginx systemctl start nginx
4. Cambiar la página de índice de Nginx predeterminada
Una vez terminado, debemos realizar cambios en la página de índice de Nginx predeterminada en ambos servidores.
Ejecute el siguiente comando en el servidor uno
echo ‘
servidor web-01
’ > /usr/share/nginx/html/index.html
Ejecute el siguiente comando en el servidor dos
echo ‘
servidor web-02
’ > /usr/share/nginx/html/index.html
5. Instalar y configurar marcapasos
En esta sección, instalaremos la pila de marcapasos. Tienes que completar este paso en ambos servidores.
yum install corosync pacemaker pcs -y
Una vez completada la instalación, habilite todos los servicios para que se inicien automáticamente al iniciar el sistema mediante los siguientes comandos systemctl.
systemctl enable pacemaker systemctl enable corosync systemctl enable pcsd
6. Sincronizar la configuración
La instalación creará un usuario del sistema 'hacluster'. También necesitamos ejecutar pcsd para sincronizar la configuración
systemctl start pcsd
7. Crea una contraseña
Luego, cree una nueva contraseña para el usuario 'hacluster' que se creó automáticamente durante la instalación anterior, necesitamos usar la misma contraseña para todos los servidores
passwd hacluster
8. Crear clústeres
A continuación, ejecute este comando a continuación
pcs cluster auth webserver-01 webserver-02
En este punto, estamos listos para configurar el clúster.
pcs cluster setup –name rosecluster webserver-01 webserver-02
rosecluster es el nombre del clúster, mientras que webserver-01 y webserver-02 son los servidores que formarán parte de rosecluster.
Habilítelo en el arranque e inícielo ahora.
pcs cluster enable –all pcs cluster start –all
Podemos comprobar el estado del clúster con este comando:
pcs status
9. Deshabilitar STONITH
STONITH o Shoot The Other Node In The Head es la implementación de esgrima en Pacemaker. Si está en producción, es mejor habilitar STONITH. Dado que no estamos usando el dispositivo de vallado, desactivaremos el STONITH.
Al ejecutar el comando pcs status, verá una advertencia en la salida que indica que no hay dispositivos STONITH configurados y STONITH no está deshabilitado:
ADVERTENCIA:no hay dispositivos stonith y stonith habilitado no es falso
Desactive STONITH con el siguiente comando pcs.
pcs property set stonith-enabled=false
10. Ignorar la política de quórum
En este tutorial, configuraremos Pacemaker para ignorar el quórum:
pcs property set no-quorum-policy=ignore
Verifique la lista de propiedades y asegúrese de que stonith y la política de quórum estén deshabilitados.
pcs property list
11. Agregar recursos
La IP flotante es la dirección IP que se puede migrar instantáneamente de un servidor a otro en la misma red, se usa para admitir la conmutación por error en un clúster de alta disponibilidad. En este tutorial, la dirección IP flotante para Pacemaker High-Availability será '192.168.0.100'. Por ahora, vamos a agregar dos recursos, el recurso de dirección IP flotante con el nombre 'v_ip' y un nuevo recurso para el servidor web Nginx llamado 'webserver'.
Agregue la nueva dirección IP flotante 'v_ip' usando el siguiente comando.
pcs resource create v_ip ocf:heartbeat:IPaddr2 ip=192.168.0.100 cidr_netmask=32 op monitor interval=20s
A continuación, podemos agregar el segundo recurso al clúster. El agente de recursos del servicio es ocf:heartbeat:nginx llamado 'servidor web'.
pcs resource create webserver ocf:heartbeat:nginx configfile=/etc/nginx/nginx.conf op monitor timeout=”5s” interval=”5s”
Asegúrese de que no haya ningún error, luego verifique los recursos.
pcs status resources
Si ve dos recursos; 'v_ip' y 'webserver', significa que se han agregado la IP flotante y el servidor web Nginx.
12. Configurar restricciones
En este paso, le indicaremos al servidor que haga que ambos recursos creados anteriormente se ejecuten en el mismo host. Estableceremos una restricción de colocación para los recursos con una puntuación de INFINITY.
pcs constraint colocation add webserver v_ip INFINITY
Configure el recurso Nginx (servidor web) para que siempre se ejecute en el mismo host donde v_ip está activo.
pcs constraint order v_ip then webserver
Para comprobar que los recursos se ejecutan en el mismo host, podemos invocar:
pcs status
13. Pruebe el clúster.
Vaya a http://192.168.0.100 en su navegador web, verá la página Nginx predeterminada del servidor web-01.
Luego, invoque el siguiente comando para detener el clúster en el servidor web-01:
pcs cluster stop webserver-01
Ahora, si actualiza la página en http://192.168.0.100, obtendrá la página Nginx predeterminada del servidor web-02.
Enhorabuena, ha configurado correctamente un clúster activo-pasivo de alta disponibilidad de Nginx con Pacemaker. Si tiene un sitio web muy ocupado, puede considerar ejecutar su sitio web en un Nginx HA. Hay muchos sitios web conocidos que se ejecutan en Nginx HA y utilizan Nginx HA para entregar su contenido de forma rápida, confiable y segura.
Por supuesto, no tiene que configurar el clúster de alta disponibilidad de Nginx usando Pacemaker en CentOS 7, si usa una de nuestras soluciones de alojamiento de Nginx, en cuyo caso simplemente puede pedirle ayuda a nuestros administradores expertos de Linux. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.
PD . Si le gustó esta publicación sobre cómo configurar el clúster de alta disponibilidad de Nginx usando Pacemaker en CentOS 7, compártala con sus amigos en las redes sociales usando los botones a la izquierda o simplemente deje una respuesta a continuación. Gracias.