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.
IBM has a slightly more complex, but possibly ‘better’ procedure at http://www-03.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/TD105262