[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[dm-devel] resizing multipathed luns attached to EMC cx500




Hi,

I'm running latest greatest RHEL 4 kernel, device-mapper tools, etc on a Sun V40z, using dual Qlogic 2340 HBA attached to Brocade SAN (EMC badged 3850), tied to our EMC CX500.

I'm trying to determine if it's possible to resize a multipathed LUN while there are active LVM2 volume groups.

Lots of searching, and list archive trawling has told me that I should be able to just invoke multipath from the command line, and it will see the new size, and I run merrily along with pvresize and lvresize..

After expanding the lun in navisphere, however, i can't see the new size of the block device without deactivating all VG on the multipathed device-mapped device.

Here is the test LUN, that the OS sees as 8GB, even though it's been grown on EMC to 19GB:

# multipath -l mpath3
mpath3 (3600601608a9112009cd9fafafebdda11)
[size=8 GB][features="1 queue_if_no_path"][hwhandler="1 emc"]
\_ round-robin 0 [active]
 \_ 1:0:1:2 sdf 8:80  [active][ready]
 \_ 2:0:1:2 sdj 8:144 [active][ready]
\_ round-robin 0 [enabled]
 \_ 1:0:0:2 sdd 8:48  [active][ready]
 \_ 2:0:0:2 sdh 8:112 [active][ready]

 vgchange -an test3
  0 logical volume(s) in volume group "test3" now active
[root halfoat ds ~]# multipath -l mpath3
mpath3 (3600601608a9112009cd9fafafebdda11)
[size=8 GB][features="1 queue_if_no_path"][hwhandler="1 emc"]
\_ round-robin 0 [active]
 \_ 1:0:1:2 sdf 8:80  [active][ready]
 \_ 2:0:1:2 sdj 8:144 [active][ready]
\_ round-robin 0 [enabled]
 \_ 1:0:0:2 sdd 8:48  [active][ready]
 \_ 2:0:0:2 sdh 8:112 [active][ready]

Next, turn off the VG, and flush multipath table
# vgchange -an test3
  0 logical volume(s) in volume group "test3" now active
# multipath -f mpath3

# for i in f j d h ; do blockdev --getsize /dev/sd$i ; done
39845888
39845888
39845888
39845888

BANG, it's got the new size:
# multipath
create: mpath3 (3600601608a9112009cd9fafafebdda11)
[size=19 GB][features="1 queue_if_no_path"][hwhandler="1 emc"]
\_ round-robin 0 [prio=2]
 \_ 1:0:1:2 sdf 8:80  [ready]
 \_ 2:0:1:2 sdj 8:144 [ready]
\_ round-robin 0
 \_ 1:0:0:2 sdd 8:48  [ready]
 \_ 2:0:0:2 sdh 8:112 [ready]

Next, I grow the LUN again on EMC, and try to skip some steps..

# for i in f j d h ; do blockdev --rereadpt /dev/sd$i ; done
# multipath
device-mapper: dm-emc: long trespass command will be send
device-mapper: dm-emc: honor reservation bit will not be set (default)
device-mapper: device 8:80 too small for target
device-mapper: dm-multipath: error getting device
device-mapper: error adding target to table
device-mapper ioctl cmd 9 failed: Invalid argument


So, yeah, is there a way to get dm to see the new size of the block device without: un mounting all fs, and vgchange all volgroups on the device ?

thanks

-sharif


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]