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

  1. 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
  2. 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
  3. Load the dm_multipath module:
    # modprobe dm_multipath
  4. 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.
  5. Start the multipathd daemon to run a proper working multipath environment:
    # /etc/init.d/multipathd start 
  6. 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