Online resizing of multipath devices in Linux dm-multipath
Linux doesn’t automatically re-size multipath devices, so this procedure must be used to have online re-sizing of multipath. (Offline re-size is automatic, just remove the mapping and reload)
this example will use multipath device /dev/mpath/testdisk, with scsi disks /dev/sdx and /dev/sdy
Resize the lun on the underlying storage layer (iscsi / san)
-
Check which sd? devices are relevant, and re-scan these:
multipath -ll testdisk
blockdev –rereadpt /dev/sdx
blockdev –rereadpt /dev/sdy
blockdev –getsz /dev/sdx
blockdev –getsz /dev/sdy
Take note of the new size returned by getsz.
-
Dump the dmsetup table to a file (and a backup)
dmsetup table testdisk | tee mapping.bak mapping.cur
-
Edit the table stored in ‘mapping.cur’
vi mapping.cur, replace field 2 (size) with the new size from getsz
-
Suspend I/O, reread the table, and resume I/O
dmsetup suspend testdisk; dmsetup reload testdisk mapping.cur; dmsetup resume testdisk
The multipath device should now be resized:
multipath -ll
You can now resize the filesystem on the multipath device, or the LVM-PV if you use LVM on the LUN.