Example of a multipath I/O configuration for IBM TotalStorage DS8000
This example shows the special configuration for storage devices like IBM® Total Storage DS8000® with multibus as the path grouping policy.
Procedure
- Set the FCP devices online:
# chccwdev -e 5222 Setting device 0.0.5222 online Done # chccwdev -e 1722 Setting device 0.0.1722 online Done
- The zfcp device driver automatically attaches remote storage
ports to the FCP device configuration when
the device is set online as well as when remote storage ports
are added. If you are unsure whether all ports are attached, you can
use the port_rescan attribute. Issue, for example:
# echo 1 > /sys/bus/ccw/drivers/zfcp/0.0.1722/port_rescan
If you are using NPIV for your setup, LUNs are detected automatically and no further configuration is necessary.
If you are not using NPIV for your setup, write the LUNs to the unit_add attribute of the target port:# echo 0x401040d000000000 > /sys/bus/ccw/devices/zfcp/0.0.1722/0x500507630313c562/unit_add # echo 0x401040d100000000 > /sys/bus/ccw/devices/zfcp/0.0.1722/0x500507630313c562/unit_add # echo 0x401040d200000000 > /sys/bus/ccw/devices/zfcp/0.0.1722/0x500507630313c562/unit_add # echo 0x401040d300000000 > /sys/bus/ccw/devices/zfcp/0.0.1722/0x500507630313c562/unit_add # echo 0x401040d000000000 > /sys/bus/ccw/devices/zfcp/0.0.5222/0x500507630310c562/unit_add # echo 0x401040d100000000 > /sys/bus/ccw/devices/zfcp/0.0.5222/0x500507630310c562/unit_add # echo 0x401040d200000000 > /sys/bus/ccw/devices/zfcp/0.0.5222/0x500507630310c562/unit_add # echo 0x401040d300000000 > /sys/bus/ccw/devices/zfcp/0.0.5222/0x500507630310c562/unit_add
- Load the dm_multipath module:
# modprobe dm_multipath
- Use the multipath command to detect
multiple paths to devices for failover or performance reasons and
coalesce them:
# multipath create: 36005076303ffc56200000000000010d0 undef IBM,2107900 size=5.0G features='1 queue_if_no_path' hwhandler='0' wp=undef `-+- policy='round-robin 0' prio=2 status=undef |- 0:0:24:1087389712 sda 8:0 undef ready running `- 1:0:20:1087389712 sde 8:64 undef ready running create: 36005076303ffc56200000000000010d1 undef IBM,2107900 size=5.0G features='1 queue_if_no_path' hwhandler='0' wp=undef `-+- policy='round-robin 0' prio=2 status=undef |- 0:0:24:1087455248 sdb 8:16 undef ready running `- 1:0:20:1087455248 sdf 8:80 undef ready running create: 36005076303ffc56200000000000010d2 undef IBM,2107900 size=5.0G features='1 queue_if_no_path' hwhandler='0' wp=undef `-+- policy='round-robin 0' prio=2 status=undef |- 0:0:24:1087520784 sdc 8:32 undef ready running `- 1:0:20:1087520784 sdg 8:96 undef ready running create: 36005076303ffc56200000000000010d3 undef IBM,2107900 size=5.0G features='1 queue_if_no_path' hwhandler='0' wp=undef `-+- policy='round-robin 0' prio=2 status=undef |- 0:0:24:1087586320 sdd 8:48 undef ready running `- 1:0:20:1087586320 sdh 8:112 undef ready running
Note: The priority displays only after you call multipath for the first time. - Start the multipathd daemon to run a proper working multipath
environment:
# /etc/init.d/multipathd start
- Use the multipath command to display
the resulting multipath configuration:
# multipath -ll 36005076303ffc56200000000000010d2 dm-2 IBM,2107900 size=5.0G features='1 queue_if_no_path' hwhandler='0' wp=rw `-+- policy='round-robin 0' prio=2 status=enabled |- 0:0:24:1087520784 sdc 8:32 active ready running `- 1:0:20:1087520784 sdg 8:96 active ready running 36005076303ffc56200000000000010d1 dm-1 IBM,2107900 size=5.0G features='1 queue_if_no_path' hwhandler='0' wp=rw `-+- policy='round-robin 0' prio=2 status=enabled |- 0:0:24:1087455248 sdb 8:16 active ready running `- 1:0:20:1087455248 sdf 8:80 active ready running 36005076303ffc56200000000000010d0 dm-0 IBM,2107900 size=5.0G features='1 queue_if_no_path' hwhandler='0' wp=rw `-+- policy='round-robin 0' prio=2 status=enabled |- 0:0:24:1087389712 sda 8:0 active ready running `- 1:0:20:1087389712 sde 8:64 active ready running 36005076303ffc56200000000000010d3 dm-3 IBM,2107900 size=5.0G features='1 queue_if_no_path' hwhandler='0' wp=rw `-+- policy='round-robin 0' prio=2 status=enabled |- 0:0:24:1087586320 sdd 8:48 active ready running `- 1:0:20:1087586320 sdh 8:112 active ready running