Configurar Cluster RedHat 7 con almacenamiento iSCSI

Logo RedHat

Hoy veremos como crear un cluster activo-pasivo con dos nodos de RedHat 7 y un almacenamiento presentado por iSCSI, algo que se suele dar bastante en entornos de producción y que seguramente antes de finalizar el año tendréis que realizar en algún cliente si no es que estáis ya enfrascados en alguna instalación de este tipo.

 

Podéis seguir este artículo acompañado del vídeo que publiqué en mi canal de Youtube en el siguiente enlace

El entorno:

Ya que no he tenido mucho tiempo para preparar esta demo, aclaro que no he realizado distinción de redes, pero se deben hacer en caso de que os encontréis en un entorno de producción; al igual que activar jumbo frames y modificar los MTU 🙂

Almacenamiento:

Ya que para hacer el vídeo no dispongo de una cabina o no es muy ético grabar un vídeo del entorno de un cliente, he utilizado una FreeNas para dotar al entorno de almacenamiento presentado por un tercero vía iSCSI.

Tarjetas de red:

Gestión: 192.168.96.145

iSCSI 1: 192.168.96.146

iSCSI 2: 192.168.96.147

Las dos tarjes de iSCSI serán las que estén presentando el mismo portal.

Desde el FreeNAS presentaremos un disco de 20GB

En este artículo no trataremos el como configurar FreeNAS para presentar almacenamiento por iSCSI

Servidor 1:

Gestión (em1): 192.168.96.149

iSCSI 1 (em2): 192.168.96.148

iSCSI 2 (em3): 192.168.96.150

Servidor 2:

Gestión (em1):192.168.96.143

iSCSI 1 (em2): 192.168.96.144

iSCSI 2 (em3): 192.168.96.151

Definimos los servidores en el fichero hosts

En ambos servidores agregaremos en el fichero /etc/hosts lo siguiente:

192.168.96.149 servidor1.pruebas.local servidor1
192.168.96.143 servidor2.pruebas.local servidor2

Cuando lo tengamos agregado en ambos servidores, comprobamos lanzando un ping que llegamos a ellos por los nombres o fqdn’s definidos

Instalando paquetes necesarios en los dos servidores

Si durante el proceso de instalación de los dos Servidores de RedHat no habéis seleccionado el paquete de «Cliente de redes de almacenamiento», tendréis que instalar estos paquetes desde consola, por lo que lo realizaréis ejecutando los siguiente comandos:

sudo yum install iscsi* -y
sudo yum install device-mapper*

Designar las interfaces que utilizaremos para iSCSI

Como en nuestro ejemplo tendremos dos interfaces iSCSI por servidor, definiremos las dos.

iscsiadm -m iface -I em2 -o new
iscsiadm -m iface -I em3 -o new

 

Descubriendo el almacenamiento

Este paso hay que hacerlo desde los dos servidores y desde las dos interfaces de red destinadas a iSCSI para cada servidor.

iscsiadm -m discovery -t st -p 192.168.96.146 -I em2
iscsiadm -m discovery -t st -p 192.168.96.146 -I em3

La ejecución de estos dos comandos nos debería devolver algo parecido a lo siguiente y que nos dará los iqn que debemos agregar:

192.168.96.146:3260, 257 iqn.2005-10.org.freenas.ctl:cluster
192.168.96.147:3260, 257 iqn.2005-10.org.freenas.ctl:cluster

Agregamos los iqn:

iscsiadm -m node -T iqn.2005-10.org.freenas.ctl:cluster -p 192.168.96.146 -l -I em2
iscsiadm -m node -T iqn.2005-10.org.freenas.ctl:cluster -p 192.168.96.147 -l -I em3

Verificamos desde los servidores que vemos los discos iSCSI

lsscsi --scsi_id

lsscsi --scsi_id

Habilitando multipath

Lo siguientes comandos los ejecutaremos en ambos servidores:

mpathconf --enable
systemctl restart multipathd.service
systemctl enable multipathd.service

Verificamos multipath

Ahora comprobamos con el siguiente comando que los discos presentados los tenemos en multipath

multipath -ll

multipath -ll

Ejecutamos el siguiente comando para verificar que tenemos los mpath:

lsblk

salida lsblk

Se puede verificar que debajo tanto de sdb como de sdc nos aparecen los mpatha

Ejecutamos partprobe

Esto hay que realizarlo sobre ambos servidores:

partprobe /dev/mapper/mpatha

Cada vez que lo ejecutéis comprobar ejecutando después un lsblk que os aparece ya definido el mpatha1

mpatha1

Instalando y configurando servicios de cluster

Para este ejemplo he decidido instalar un Servidor Web ya que es un claro ejemplo de servicio en cluster.

Instalamos el servidor web en los dos servidores ejecutando:

yum install httpd

Instalamos la parte de alta disponibilidad en ambos servidores:

yum install pcs fence-agents-all pacemaker -y

Agregamos reglas al firewall

firewall-cmd --permanent --add-service=high-availability
firewall-cmd --add-service=high-availability

Podemos verificar que se han agregado correctamente con:

firewall-cmd --list-services

Modificando la contraseña del usuario hacluster

Todos los servidores miembros del cluster deben tener la misma contraseña para el usuario «hacluster», por lo que la modificaremos en todos ejecutando el comando:

passwd hacluster

Habilitamos e iniciamos pcsd

Esto lo ejecutaremos en ambos servidores

systemctl start pcsd.service
systemctl enable pcsd.service

En uno de los dos servidores iniciamos la configuración del cluster:

pcs cluster auth servidor1 servidor2

El usuario y contraseña que nos pedirá es el de «hacluster» que la definimos en el punto anterior

Definimos un nombre para el cluster que estamos generando (en mi caso le he puesto clusterrh)

pcs cluster setup --start --name clusterrh servidor1 servidor2

Habilitamos el cluster ejecutando:

pcs cluster enable --all

Verificamos el estado del cluster con el siguiente comando:

pcs cluster status

Nos debe mostrar que tenemos los dos servidores en estado Online

 

Puedes seguir este tutorial en mi canal de Youtube: https://youtu.be/8NVPVOMGkv4

Sobre Bosco López

/dev/null

Te puede interesar también

Notificaciones de Nagios vía Telegram

En este artículo veremos como configurar nuestro Nagios para que nos informe de las distintas …

Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.