Con este artículo, aprenderás a configurar un clúster de servidores NFS redundante y altamente disponible utilizando iSCSI con DM-Multipath.
El objetivo de este escenario es crear un almacenamiento de NFS redundante y tolerante a fallos con una conmutación por error automática, asegurando casi siempre la máxima disponibilidad de las exportaciones NFS.
Esta entrada en particular cubrirá la configuración del iniciador iSCSI para ambos servidores NFS y la configuración para las multirutas de mapeo de dispositivos (DM-Multipath).
Para este entorno, hay dos servidores ejecutados en Ubuntu 14.04.2 LTS con dos tarjetas de red configuradas en cada servidor (uno de ellos proporciona el servicio de NFS a los clientes y el otro se conecta a la red de área de almacenamiento iSCSI). Para el dispositivo de almacenamiento de este ya se han configurado dos adaptadores físicos y dos interfaces de red para cada adaptador, para así tener acceso redundante a la red y proporcionar dos rutas físicas al dispositivo de almacenamiento.
Ambos servidores NFS tendrán el dispositivo LUN conectado usando un InitiatorName diferente y tendrán la configuración de las multirutas de mapeo de dispositivos (esto permite configurar múltiples rutas input/output entre los nodos del servidor y las matrices de almacenamiento en un solo dispositivo). Estas rutas input/output son conexiones de red de área de almacenamiento físicas que pueden incluir cables separados, interruptores y controladores. Básicamente, es como si los servidores NFS tuvieran un único dispositivo de bloque.
El software del clúster utilizado es Corosnyc y el gestor de recursos es Pacemaker. Pacemaker será el responsable de asignar una VIP (una dirección IP virtual), montar el sistema de archivos desde el dispositivo de bloque e iniciar el servicio NFS con las exportaciones específicas para los clientes en el nodo activo del clúster. En caso de fallo del nodo activo del clúster, los recursos se migrarán al nodo pasivo y los servicios continuarán funcionando como si no hubiera pasado nada. Hay un artículo secundario en opentodo.net que continúa con la explicación sobre cómo configurar Corosync y Pacemaker en particular. Puedes encontrarlo aquí.
¡Empecemos con la configuración!
Configuración del iniciador iSCSI
-Instala las dependencias:
-Servidor 1
Modifica el archivo de configuración /etc/iscsi/initiatorname.iscsi
:
-Servidor 2
-Modifica el archivo de configuración /etc/iscsi/initiatorname.iscsi
:
NOTA: los identificadores del inciador en ambos servidores son diferentes, pero están asociados al mismo dispositivo LUN.
–Ejecuta un descubrimiento en dispositivos iSCSI:
–Conéctate e inicia sesión con el dispositivo iSCSI:
–Comprueba las sesiones establecidas con el dispositivo iSCSI de la red de área de almacenamiento:
–A estas alturas, los dispositivos de bloque deberían estar disponibles en ambos servidores como dispositivos locales conectados. Puedes comprobarlo simplemente ejecutando fdisk
:
En este caso, /dev/sda
es el disco local para el servidor y /dev/sdb
y /dev/sdc
corresponden a los dispositivos de bloqueo iSCSI (un dispositivo para cada adaptador). Ahora, necesitamos configurar una multirruta de mapeo de dispositivos para estos dos, /dev/sdb
y /dev/sdc
. Esto es en caso de ue uno de los adaptadores falle y un dispositivo LUN continúe funcionando en nuestro sistema y la ruta múltiple cambie el disco utilizado por nuestro dispositivo de bloque.
Configuración de ruta múltiple:
–Primero necesitamos recuperar y generar un identificador SCSI único para conformar en la configuración de la ruta múltiple, ejecutando el siguiente comando para uno de los dispositivos iSCSI:
–Crea la configuración del archivo de ruta múltiple /etc/multipath.conf
con el siguiente contenido:
– Reinicia el servicio de herramientas multirruta:
– Comprueba de nuevo los discos disponibles en el sistema:
Como puedes ver ahora tenemos un nuevo dispositivo de bloque que utiliza la configuración de alias en el archivo de configuración multirruta /dev/mapper/nfs
. El disco en el que he dividido e implementado el sistema de archivos es el dispositivo de bloque /dev/mapper/nfs-part1
, por lo que puedes montarlo en tu sistema con la utilidad mount.
–Puedes comprobar el estado de salud del dispositivo de bloque multirruta y si ambos dispositivos están operativos ejecutando el siguiente comando:
Referencias
Device Mapper Multipath
Setting up iSCSI Multipath in Ubuntu
La entrada original escrita por Iván Mora (SysOps Engineer @ CAPSiDE) puede encontrarse en opentodo.net.
Para ir a la segunda entrada de la serie sobre servidores en alta disponibilidad escrita por Iván, haz clic aquí.
TAGS: corosync, dm-multipath, how-to, iscsi, nfs server, pacemaker, storage, Ubuntu
Comentarios