Configure el clúster Squid de dos nodos con Pacemaker en CentOS 7/RHEL 7

Como todos sabemos, el calamar es un servidor proxy de almacenamiento en caché que admite protocolos como HTTP, HTTPS, FTP y más. En otras palabras, calamar es conocido como un servidor proxy web que ayuda a los ISP y otras organizaciones a reducir su ancho de banda y también mejora considerablemente el tiempo de respuesta, ya que almacena en caché localmente el contenido más frecuente. Cada vez que llega una nueva solicitud, Squid la sirve desde su caché si está en caché; de lo contrario, la obtendrá del servidor remoto y guardará su contenido en caché para futuras solicitudes.

Squid-Clustering-CentOS7

En este artículo, demostraremos cómo configurar la agrupación en clústeres de squid (servidor proxy) de dos nodos utilizando Pacemaker en el sistema CentOS 7 o RHEL 7.

Los siguientes son los detalles de mi laboratorio que he usado para este artículo,

  • Servidor Squid 1 (squid01.linuxtechi.lan) – 192.168.1.21 – CentOS mínimo 7 / RHEL 7
  • Squid Server 2 (squid02.linuxtechi.lan) – 192.168.1.22 – Mínimo CentOS 7 / RHEL 7
  • Servidor Squid VIP – 192.168.1.20
  • Cortafuegos habilitado
  • SELinux habilitado

Paso: 1) Agregue el nombre de host en el archivo /etc/hosts y aplique todas las actualizaciones

Agregue las siguientes líneas en el archivo /etc/hosts de ambos servidores Squid.

192.168.1.21 squid01.linuxtechi.lan squid01
192.168.1.22 squid02.linuxtechi.lan squid02

Instale todas las actualizaciones usando el comando de actualización debajo de yum y luego reinicie los nodos

[[email protected] ~]# yum update -y && reboot
[[email protected] ~]# yum update -y && reboot

Paso: 2) Instale los paquetes de agentes de esgrima y marcapasos en ambos servidores Squid

Ejecute el siguiente comando yum en ambos servidores para instalar paquetes de marcapasos, PC y esgrima,

[[email protected] ~]# yum install pcs pacemaker fence-agents-all -y
[[email protected] ~]# yum install pcs pacemaker fence-agents-all -y

Una vez que los paquetes anteriores estén instalados en ambos servidores, inicie y habilite el servicio de marcapasos (pcsd) usando los siguientes comandos,

[[email protected] ~]# systemctl start pcsd.service
[[email protected] ~]# systemctl enable pcsd.service

[[email protected] ~]# systemctl start pcsd.service
[[email protected] ~]# systemctl enable pcsd.service

Como en mi configuración de regazo, el servicio de firewall del sistema operativo se está ejecutando y está habilitado, así que configure las reglas de firewall para alta disponibilidad o servicio de agrupación, ejecute lo siguiente «cortafuegos-cmd” comandos en los cortes de calamar,

[[email protected] ~]# firewall-cmd --permanent --add-service=high-availability
success
[[email protected] ~]# firewall-cmd --reload
success
[[email protected] ~]#
[[email protected] ~]# firewall-cmd --permanent --add-service=high-availability
success
[[email protected] ~]# firewall-cmd --reload
success
[[email protected] ~]#

Paso: 3) Autorizar servidores squid y formar un grupo squid

Para formar un clúster, ambos nodos / servidores deben autorizarse, primero configuremos la contraseña de «hacluster” usuario,

[[email protected] ~]# echo "password_here" | passwd --stdin hacluster
[[email protected] ~]# echo "password_here" | passwd --stdin hacluster

Ahora usa el siguiente “autenticación de clúster de PC” desde cualquiera de los servidores squid para autorizar ambos servidores utilizando las credenciales de hacluster.

[[email protected] ~]# pcs cluster auth squid01.linuxtechi.lan squid02.linuxtechi.lan
Username: hacluster
Password:
squid02.linuxtechi.lan: Authorized
squid01.linuxtechi.lan: Authorized
[[email protected] ~]#

Utilice a continuación “configuración del grupo de PC«comando desde cualquiera de los nodos para formar un clúster, en mi caso lo estoy ejecutando desde squid01 y el nombre de mi clúster es»calamar_racimo

[[email protected] ~]# pcs cluster setup --start --name squid_cluster squid01.linuxtechi.lan squid02.linuxtechi.lan

La salida del comando anterior debería ser algo como lo siguiente:

Squid-Cluster-CentOS7

Habilite el servicio de clúster de pcs para que se inicie automáticamente durante el reinicio, ejecute el siguiente comando desde cualquiera de los servidores squid

[[email protected] ~]# pcs cluster enable --all
squid01.linuxtechi.lan: Cluster Enabled
squid02.linuxtechi.lan: Cluster Enabled
[[email protected] ~]#

Use los siguientes comandos para verificar el estado del clúster,

[[email protected] ~]# pcs cluster status
[[email protected] ~]# pcs status

Paso: 4) Instale el paquete Squid en ambos servidores y deshabilite el cercado

Ejecute el siguiente comando yum en ambos servidores para instalar paquetes de squid (servidor proxy),

[[email protected] ~]# yum install squid -y
[[email protected] ~]# yum install squid -y

Permita el puerto squid (3128) en el firewall del sistema operativo usando el siguiente comando

[[email protected] ~]# firewall-cmd --permanent --add-service=squid
success
[[email protected] ~]# firewall-cmd --reload
success
[[email protected] ~]#
[[email protected] ~]# firewall-cmd --permanent --add-service=squid
success
[[email protected] ~]# firewall-cmd --reload
success
[[email protected] ~]#

En mi laboratorio no tengo ningún agente o dispositivo de esgrima, así que lo estoy deshabilitando usando los siguientes comandos,

[[email protected] ~]# pcs property set stonith-enabled=false
[[email protected] ~]# pcs property set no-quorum-policy=ignore
[[email protected] ~]#

Paso: 5) Configurar los recursos de Squid Cluster y el grupo de clústeres

En la configuración de mi laboratorio, tengo dos discos compartidos de 1 GB y 12 GB, estos discos están asignados a ambos servidores.

En clúster montaremos el /etc/calamar (es decir, archivos de configuración de squid) sistema de archivos en disco de 1 GB y «/var/carrete/calamar” (es decir, el directorio de caché de squid) se montará en un disco de 12 GB

  • /dev/sdb (disco de 1 GB) – /etc/squid
  • /dev/sdc (disco de 12 GB) – /var/spool/squid

Como estos discos son visibles en ambos servidores Squid, cree una partición en /dev/sdb y /dev/sdc usando el comando fdisk desde cualquiera de los servidores Squid y luego formatéelos con el sistema de archivos xfs usando el comando mkfs.xfs

Actualmente, todos los archivos de configuración de squid están en la carpeta local /etc/squid. Copie los datos del sistema de archivos local /etc/squid al disco compartido (/dev/sdb1)

[[email protected] ~]# mount /dev/sdb1 /mnt/
[[email protected] ~]# cp -av /etc/squid/* /mnt/
[[email protected] ~]# umount /mnt/

Ahora cree dos recursos del sistema de archivos, uno para el sistema de archivos /etc/squid y otro para /var/spool/squid

Ejecuta lo siguiente “pcs recurso crear«comando desde cualquiera de los servidores squid para crear un recurso del sistema de archivos, en mi caso tomando el nombre del recurso del sistema de archivos como»calamares1” & “calamares2” y el nombre del grupo como “calamar

[[email protected] ~]# pcs resource create squidfs1 Filesystem device=/dev/sdb1 directory=/etc/squid fstype=xfs --group squidgrp
[[email protected] ~]# pcs resource create squidfs2 Filesystem device=/dev/sdc1 directory=/var/spool/squid fstype=xfs --group squidgrp 
[[email protected] ~]#

Defina el recurso squid (servicio systemd) usando el comando pcs resource, ejecute el siguiente comando desde cualquiera de los servidores squid

[[email protected] ~]# pcs resource create proxy systemd:squid op monitor interval=10s --group squidgrp
[[email protected] ~]#

Defina squid vip para su grupo, en mi caso usaré «192.168.1.20” como squid vip, esta IP flotará entre estos servidores, los usuarios finales o los clientes de squid usarán esta IP como IP del servidor proxy de squid mientras configuran sus configuraciones de proxy y también usarán el puerto de squid predeterminado 3128.

[[email protected] ~]# pcs resource create squid_vip ocf:heartbeat:IPaddr2 ip=192.168.1.20 cidr_netmask=24 op monitor interval=30s --group squidgrp
[[email protected] ~]#

Ahora verifique si todos los recursos del clúster están iniciados o no. Correr «estado de las piezasComando desde cualquiera de los servidores Squid.

[[email protected] ~]# pcs status
Cluster name: squid_cluster
Stack: corosync
Current DC: squid01.linuxtechi.lan (version 1.1.19-8.el7_6.4-c3c624ea3d) - partition with quorum
Last updated: Wed Mar 27 06:59:59 2019
Last change: Wed Mar 27 06:59:02 2019 by root via cibadmin on squid01.linuxtechi.lan

2 nodes configured
4 resources configured

Online: [ squid01.linuxtechi.lan squid02.linuxtechi.lan ]
Full list of resources:
 Resource Group: squidgrp
     squidfs1   (ocf::heartbeat:Filesystem):    Started squid01.linuxtechi.lan
     squidfs2   (ocf::heartbeat:Filesystem):    Started squid01.linuxtechi.lan
     proxy      (systemd:squid):        Started squid01.linuxtechi.lan
     squid_vip  (ocf::heartbeat:IPaddr2):       Started squid01.linuxtechi.lan

Daemon Status:
  corosync: active/enabled
  pacemaker: active/enabled
  pcsd: active/enabled
[r[email protected] ~]#

Como podemos ver arriba, todos los recursos se inician en el servidor squid01. Verifiquemos el estado del servicio Squid y squid vip

[[email protected] ~]# systemctl status squid
[[email protected] ~]# ip a s

La salida de los dos comandos anteriores debería ser algo como lo siguiente:

Squid-Servicio-Estado-CentOS7

Eso es todo de este artículo, ahora puede configurar las ACL que se adapten a su entorno en el archivo /etc/squid.conf. Por favor, comparta sus opiniones y comentarios.

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *