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 😉
