Example of a multipath I/O configuration for IBM TotalStorage DS6000

The following example describes the configuration of one IBM® TotalStorage DS6000 SCSI device that is attached through four different FCP channels.

About this task

The example shows the special configuration for storage devices with group_by_prio as the path grouping policy. The Asymmetric Logical Unit Access (ALUA) tool is used to get the priority for each device. The ALUA tool is part of the multipath-tools.

Procedure

  1. Set the FCP devices online:
    # chccwdev -e c20f
    Setting device 0.0.c20f online
    Done
    # chccwdev -e c01f
    Setting device 0.0.c01f online
    Done

    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 0x4011404500000000 > /sys/bus/ccw/drivers/zfcp/0.0.c20f/0x500507630e8601f9/unit_add
    # echo 0x4011404600000000 > /sys/bus/ccw/drivers/zfcp/0.0.c20f/0x500507630e8601f9/unit_add
    # echo 0x4011404700000000 > /sys/bus/ccw/drivers/zfcp/0.0.c20f/0x500507630e8601f9/unit_add
    # echo 0x4011404800000000 > /sys/bus/ccw/drivers/zfcp/0.0.c20f/0x500507630e8601f9/unit_add
    # echo 0x4011404500000000 > /sys/bus/ccw/drivers/zfcp/0.0.c01f/0x500507630e0001f9/unit_add
    # echo 0x4011404600000000 > /sys/bus/ccw/drivers/zfcp/0.0.c01f/0x500507630e0001f9/unit_add
    # echo 0x4011404700000000 > /sys/bus/ccw/drivers/zfcp/0.0.c01f/0x500507630e0001f9/unit_add
    # echo 0x4011404800000000 > /sys/bus/ccw/drivers/zfcp/0.0.c01f/0x500507630e0001f9/unit_add
  2. Load the dm_multipath module:
    # modprobe dm_multipath
  3. Use the multipath command to detect multiple paths to devices for failover or performance reasons and coalesce them:
    # multipath
    create: 3600507630efe01f90000000000001145 undef IBM,1750500
    size=1.0G features='1 queue_if_no_path' hwhandler='0' wp=undef
    |-+- policy='round-robin 0' prio=50 status=undef
    | `- 0:0:0:1078280209 sda   8:0   undef ready  running
    `-+- policy='round-robin 0' prio=10 status=undef
      `- 1:0:0:1078280209 sde   8:64  undef ready  running
    create: 3600507630efe01f90000000000001146 undef IBM,1750500
    size=1.0G features='1 queue_if_no_path' hwhandler='0' wp=undef
    |-+- policy='round-robin 0' prio=50 status=undef
    | `- 0:0:0:1078345745 sdb   8:16  undef ready  running
    `-+- policy='round-robin 0' prio=10 status=undef
      `- 1:0:0:1078345745 sdf   8:80  undef ready  running
    create: 3600507630efe01f90000000000001147 undef IBM,1750500
    size=1.0G features='1 queue_if_no_path' hwhandler='0' wp=undef
    |-+- policy='round-robin 0' prio=50 status=undef
    | `- 0:0:0:1078411281 sdc   8:32  undef ready  running
    `-+- policy='round-robin 0' prio=10 status=undef
      `- 1:0:0:1078411281 sdg   8:96  undef ready  running
    create: 3600507630efe01f90000000000001148 undef IBM,1750500
    size=1.0G features='1 queue_if_no_path' hwhandler='0' wp=undef
    |-+- policy='round-robin 0' prio=50 status=undef
    | `- 0:0:0:1078476817 sdd   8:48  undef ready  running
    `-+- policy='round-robin 0' prio=10 status=undef
      `- 1:0:0:1078476817 sdh   8:112 undef ready  running
    Note: The priority displays only after you call multipath for the first time.
  4. Start the multipathd daemon to run a working multipath environment:
    # /etc/init.d/multipathd start
  5. Use the multipath command to display the resulting multipath configuration:
    # multipath -ll
    3600507630efe01f90000000000001148 dm-3 IBM,1750500
    size=1.0G features='1 queue_if_no_path' hwhandler='0' wp=rw
    |-+- policy='round-robin 0' prio=50 status=enabled
    | `- 0:0:0:1078476817 sdd   8:48  active ready  running
    `-+- policy='round-robin 0' prio=10 status=enabled
      `- 1:0:0:1078476817 sdh   8:112 active ready  running
    3600507630efe01f90000000000001147 dm-2 IBM,1750500
    size=1.0G features='1 queue_if_no_path' hwhandler='0' wp=rw
    |-+- policy='round-robin 0' prio=50 status=enabled
    | `- 0:0:0:1078411281 sdc   8:32  active ready  running
    `-+- policy='round-robin 0' prio=10 status=enabled
      `- 1:0:0:1078411281 sdg   8:96  active ready  running
    3600507630efe01f90000000000001146 dm-1 IBM,1750500
    size=1.0G features='1 queue_if_no_path' hwhandler='0' wp=rw
    |-+- policy='round-robin 0' prio=50 status=enabled
    | `- 0:0:0:1078345745 sdb   8:16  active ready  running
    `-+- policy='round-robin 0' prio=10 status=enabled
      `- 1:0:0:1078345745 sdf   8:80  active ready  running
    3600507630efe01f90000000000001145 dm-0 IBM,1750500
    size=1.0G features='1 queue_if_no_path' hwhandler='0' wp=rw
    |-+- policy='round-robin 0' prio=50 status=enabled
    | `- 0:0:0:1078280209 sda   8:0   active ready  running
    `-+- policy='round-robin 0' prio=10 status=enabled
      `- 1:0:0:1078280209 sde   8:64  active ready  running