Actualizar el tamaño de un dispositivo multipath

Cuando modificamos el tamaño de un volumen servido por multipath veremos que pese a hacer un rescan de las HBA el tamaño seguirá siendo el antiguo. Para poder actualizar esta información hay que trabajar directamente con multipathd y forzar en el mapeo correspondiente un redimensionamiento del volumen lógico.

Pongamos el siguiente ejemplo:

# multipath -ll
mapth1(210043210000000000e13955cc3757502) dm-11 HP, MSA2040
sze=299G features='0' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=1 status=enabled
| `- 19:0:0:1 sdc 8:32  active ready  running
`-+- policy='round-robin 0' prio=1 status=enabled
  `- 18:0:0:1 sdh 8:112 active ready  running

Una vez que hemos actualizado el tamaño del volumen/lun en el storage (a 400GB por ejemplo), primero tendremos que actualizar todos los caminos que componen el dispositivo multipath, en este caso sdc y sdh:

# echo 1 > /sys/block/sdc/device/rescan
# echo 1 > /sys/block/sdh/device/rescan

Una vez actualizados los dispositivos de bloque, pasamos a decir a multipathd que actualice la información del mapeo con el siguiente comando:

# multipathd -k'resize map mpath1'

Después, ya deberíamos ver el nuevo tamaño en el mapping:

# multipath -ll
mapth1(210043210000000000e13955cc3757502) dm-11 HP, MSA2040
sze=399G features='0' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=1 status=enabled
| `- 19:0:0:1 sdc 8:32  active ready  running
`-+- policy='round-robin 0' prio=1 status=enabled
  `- 18:0:0:1 sdh 8:112 active ready  running