# rm-rf.es

Configurar nombres persistentes en multipath

Cuando trabajamos con multipath es crítico que si varios sistemas acceden a los mismos volúmenes/discos en multipath, el nombre del mapeo sea persistente y el mismo entre todos. Es decir, evitar que cuando se añadan o quiten dispositivos en el sistema el identificador del mapeo pueda cambiar y afectar a todo lo que ataca al disco. El binding de multipath es persistente dentro de un mismo sistema, pero cuando trabajamos con varios servidores nos vemos obligados a homogeneizar los nombres.

Antes de nada, os recomiendo leer el artículo que hice sobre DM-Multipath en RedHat y CentOS  porque os dirá como instalar, configurar y utilizar multipath.

Una vez leído, hay que saber que se pueden forzar de forma persistente los nombres de los mapeos a través del archivo de configuración /etc/multipath.conf. Lo haremos dentro de un bloque llamado «multipaths» que contendrá la declaración de cada multipath junto con su nombre persistente y su WWID (World Wide Identifier).

Por defecto, la nomenclatura para los mpaths es mpath[a-z]. Si queremos averiguar los WWID de cada mapeo simplemente accedemos a la shell de multipath y lo consultamos:

# multipathd -k
multipathd> show multipaths
name     sysfs uuid
mpatha dm-5  a2asdq34addd13fee4f2027800011011
mpathb dm-6  asd34fsdfsdf13fee4f2027800011012

También lo podemos visualizar consultando el estado de los caminos:

# multipath -ll
mpatha (a2asdq34addd13fee4f2027800011011) dm-6 PURE,FlashArray
size=500G features='0' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=1 status=active
| `- 0:0:0:11 sdb 8:16 active ready running
`-+- policy='round-robin 0' prio=1 status=enabled
`- 3:0:0:11 sdd 8:48 active ready running
mpathb (asd34fsdfsdf13fee4f2027800011012) dm-5 PURE,FlashArray
size=500G features='0' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=1 status=active
| `- 0:0:0:10 sda 8:0  active ready running
`-+- policy='round-robin 0' prio=1 status=enabled
`- 3:0:0:10 sdc 8:32 active ready running

Sólo queda entonces añadir la configuración correspondiente en el archivo de configuración y reiniciar el demonio multipathd. En este caso los vamos a llamar volumen01 y volumen02:

/etc/multipath.conf
multipaths {
      multipath {
          wwid "a2asdq34addd13fee4f2027800011011"
          alias volumen01
                }
      multipath {
          wwid "asd34fsdfsdf13fee4f2027800011012"
          alias volumen02
                }
}
# /etc/init.d/multipathd restart

Y ya vemos los nuevos nombres persistentes:

multipathd> show multipaths
name     sysfs uuid
volumen01 dm-5  a2asdq34addd13fee4f2027800011011
volumen02 dm-6  asd34fsdfsdf13fee4f2027800011012
# ls -l /dev/mapper/
total 0
lrwxrwxrwx 1 root root       7 Dec 11 08:27 volumen01 -> ../dm-6
lrwxrwxrwx 1 root root       7 Dec 11 08:27 volumen02 -> ../dm-5
Salir de la versión móvil