1

Agregar almacenamiento iSCSI multipath al Clúster Proxmox VE 9.0

Hola a tod@s,

En este post vamos a ver cómo agregar almacenamiento iSCSI multipath al clúster Proxmox VE 9.0

Recordamos la topología:

  • Para empezar, vamos a instalar en cada nodo los paquetes para el iniciador iSCSI y DM-Multipath, para ello, ejecutamos, apt install -y open-iscsi y apt install -y multipath-tools:

  • Habilitamos e iniciamos los servicios para iscsid, ejecutamos, systemctl enable –now iscsid.service y systemctl enable –now open-iscsi.service:

  • Habilitamos e iniciamos los servicios para multipathd, ejecutamos, systemctl enable –now multipathd.service:

  • Comprobamos el estado de ambos servicios con systemctl status iscsid.service y systemctl status multipathd.service:

  • Ahora vamos a ajustar /etc/iscsi/iscsid.conf, Proxmox recomienda reducir node.session.timeo.replacement_timeout = 15 para iSCSI, por defecto en 120s, lo pasamos a 15s, y para que la sesión sea persistente al arranque modificamos node.startup = automatic, para ello, editamos nano /etc/iscsi/iscsid.conf, esta modificación ayuda a que los timeouts de sesión sean más ágiles y evita esperas largas cuando tenemos fallos:

  • Reiniciamos el servicio iscsid, systemctl restart iscsid.service y systemctl restart open-iscsi.service:

  • Ahora vamos a descubrir los targets (IQNs) que nos ofrece nuestra cabina en cada IP/portal, esto no cambia ficheros manualmente, sino que guarda la información de esos targets en el directorio /etc/iscsi/nodes/ automáticamente, iscsiadm -m discovery -t st -p 10.10.2.4 y iscsiadm -m discovery -t st -p 10.10.3.4:

  • Hacemos login en ambos portales, iscsiadm -m node -T iqn.1991-05.com.microsoft:saniscsipve-iscsitarget1saniscsipve-target -p 10.10.2.4 -l y iscsiadm -m node -T iqn.1991-05.com.microsoft:saniscsipve-iscsitarget1saniscsipve-target -p 10.10.3.4 -l, con esto conectamos los nodos pve a la cabina a través de las dos redes iSCSI:

  • Para que el login sea persistente y se reconecte en cada reinicio, debemos de ejecutar, iscsiadm -m node -T iqn.1991-05.com.microsoft:saniscsipve-iscsitarget1saniscsipve-target -p 10.10.2.4 -o update -n node.startup -v automatic y iscsiadm -m node -T iqn.1991-05.com.microsoft:saniscsipve-iscsitarget1saniscsipve-target -p 10.10.3.4 -o update -n node.startup -v automatic:

  • Comprobamos que ambos caminos están activos con, iscsiadm -m session -P3:

  • Si accedemos a nuestra cabina SAN iSCSI, podemos ver, que ya tenemos los discos, en este caso, las LUNs conectadas:

  • Ejecutamos en cada nodo, ls -l /dev/disk/by-path | grep 10.10 y como vemos la LUN0 tiene dos caminos, por 10.2.4 que aparece como /sdc y por 10.10.3.4 que aparece como /sde, la LUN1 tiene dos caminos, por 10.10.2.4 que aparece como /sdd y por 10.10.3.4 que aparece como /sdf:

  • Ahora, Multipath se basa en el WWID único de cada LUN, para obtenerlo ejecutamos:
  • Para LUN0, /lib/udev/scsi_id -g -u -d /dev/sdc y /lib/udev/scsi_id -g -u -d /dev/sde, ambos deben devolver el mismo WWID:

  • Para LUN1, /lib/udev/scsi_id -g -u -d /dev/sdd y /lib/udev/scsi_id -g -u -d /dev/sdf, ambos deben devolver el mismo WWID:

  • Añadimos el WWID de cada LUN para que multipath lo gestione.
  • Para LUN0, multipath -a 360003ff44dc75adcbda106c1b22f4b5b
  • Para LUN1, multipath -a 360003ff44dc75adc922dc286607e2e6f

  • Recargamos multipath con multipath -r:

  • Verificamos multipath con multipath -ll, esto significa que multipath creó un dispositivo /dev/dm-0 que representa a la LUN0, y dentro están los dos caminos activos (sdc y sde), y otro dispositivo /dev/dm-1 que representa a la LUN1, y dentro están los dos caminos activos (sdd y sdf):

  • Si ejecutamos ls -l /dev/mapper/ vemos lo siguiente:
  • 360003ff44dc75adc922dc286607e2e6f, es el WWID de la LUN1.
  • 360003ff44dc75adcbda106c1b22f4b5b, es el WWID de la LUN0.
  • Ambos son enlaces simbólicos a los dispositivos multipath , /dev/dm-0 y /dev/dm-1
  • control, es el dispositivo de control interno de multipath.

  • Ahora, la creación del Physical Volumen (PV) y Volume Group (VG), solo la vamos a hacer en un nodo, en este caso en el nodo 1, pvelab01.
  • Para LUN0, pvcreate /dev/mapper/360003ff44dc75adcbda106c1b22f4b5b y vgcreate vg_iscsi0 /dev/mapper/360003ff44dc75adcbda106c1b22f4b5b
  • Para LUN1, pvcreate /dev/mapper/360003ff44dc75adc922dc286607e2e6f y vgcreate vg_iscsi1 /dev/mapper/360003ff44dc75adc922dc286607e2e6f

  • Si accedemos a todos los nodos > Discos > LVM, vemos que se han creado los Volume Group:

  • Para terminar, accedemos a Centro de datos > Almacenamiento > Agregar > LVM:

  • Sobre General, le indicamos el ID, Almacenamiento de base, Grupo del volumen, Contenido, Nodos, Activar, Compartido (importante activar para las migraciones en vivo), Agregar, para agregar la LUN0:

  • Agregamos también la otra LUN1:

  • Como podemos ver en, Centro de datos > Almacenamiento, tenemos los dos datastores añadidos:

  • Aquí vemos, que los tres nodos, ya disponen del almacenamiento compartido por iSCSI y con Multipath:

 

Saludos y espero que os sea de ayuda 😉

 

Jose Ramon Ramos Gata

Técnico Superior STI

Un comentario

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.