Linux: Native Multipath Failover on SLES 9

1. The multipath-tools package is not installed as part of a default installation of the operating system. The recommended multipath-tools rpm package is available from the Novell
website. The SLES 9 SP3 installation CD includes the multipath-tools package.

2. Verify that the required version of uDev has been installed for your environment. To query the uDev version, execute the command:

# rpm -q udev
If required, upgrade the uDev package and then execute the command to create a new device under the ‘/dev’ directory.

# udevstart
3. Novell recommends that ‘subfs’ auto-mount be disabled when using MPIO. This is achieved by editing the ‘/etc/sysconfig/hotplug’ and setting the value:

HOTPLUG_USE_SUBFS=no

Also, to prevent significant boot-up delays, edit /etc/sysconfig/boot and set the value:
DISABLE_BLKID=yes

4. Load the dm_multipath kernel module if it is not already loaded.

# modprobe dm_multipath
5. Replace the default /etc/multipath.conf with the following multipath.conf file recommended by EMC for attach to EMC storage.

Follow the instructions in the annotated multipath.conf file for masking internal scsi disks or disks that need to be excluded from multipath control.

## This is the /etc/multipath.conf file recommended for
## EMC storage devices.
##
## OS : SLES 9 SP3
## Arrays : CLARiiON and SYMMETRIX
##
## The blacklist is the enumeration of all devices that are to be
## excluded from multipath control
devnode_blacklist {
## Replace the wwid with the output of the command
## ‘scsi_id -g -u -s /block/[internal scsi disk name]’
## Enumerate the wwid for all internal scsi disks.
## Optionally, the wwid of VCM database may also be listed here.
wwid 20010b9fd080b7321
devnode “^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*”
devnode “^hd[a-z][[0-9]*]”
devnode “^cciss!c[0-9]d[0-9]*[p[0-9]*]”
}
devices {
## Device attributes for EMC SYMMETRIX
device {
vendor “EMC “
product “SYMMETRIX”
path_grouping_policy multibus
getuid_callout “/sbin/scsi_id -g -u -s /block/%n”
path_selector “round-robin 0”
features “0”
hardware_handler “0”
failback immediate
}
## Device attributes for EMC CLARiiON
device {
vendor “DGC”
product “*”
path_grouping_policy group_by_prio
getuid_callout “/sbin/scsi_id -g -u -s /block/%n”
prio_callout “/sbin/mpath_prio_emc /dev/%n”
hardware_handler “1 emc”
features “1 queue_if_no_path”
no_path_retry 300
path_checker emc_clariion
failback immediate
}
}

6. Perform a dry run and evaluate the setup by running the multipath command.

• With Symmetrix Logical Units, the output will look similar to:

# multipath –v2 -d
create: 360060480000190100501533030383842
[size=898 MB][features=”0″][hwhandler=”0″]
_ round-robin 0 [prio=4]
_ 2:0:2:105 sdaa 65:160 [ready]
_ 2:0:3:105 sdas 66:192 [ready]
_ 3:0:2:105 sdcj 69:112 [ready]
_ 3:0:3:105 sddb 70:144 [ready]
create: 360060480000190100501533030383843
[size=898 MB][features=”0″][hwhandler=”0″]
_ round-robin 0 [prio=4]
_ 2:0:2:106 sdab 65:176 [ready]
_ 2:0:3:106 sdat 66:208 [ready]
_ 3:0:2:106 sdck 69:128 [ready]
_ 3:0:3:106 sddc 70:160 [ready]
create: 360060480000190100501533030383844
[size=898 MB][features=”0″][hwhandler=”0″]
_ round-robin 0 [prio=4]
_ 2:0:2:107 sdac 65:192 [ready]
_ 2:0:3:107 sdau 66:224 [ready]
_ 3:0:2:107 sdcl 69:144 [ready]
_ 3:0:3:107 sddd 70:176 [ready]
create: 360060480000190100501533030383845
[size=898 MB][features=”0″][hwhandler=”0″]
_ round-robin 0 [prio=4]
_ 2:0:2:108 sdad 65:208 [ready]
_ 2:0:3:108 sdav 66:240 [ready]
_ 3:0:2:108 sdcm 69:160 [ready]
_ 3:0:3:108 sdde 70:192 [ready]

• With CLARiiON Logical Units, the output will look similar to:

# multipath –v2 –d
create: 360060160aa4018002ae6839182a8da11
[size=3 GB][features=”1 queue_if_no_path”][hwhandler=”1 emc”]
_ round-robin 0 [prio=2]
_ 3:0:0:6 sdbe 67:128 [ready]
_ 2:0:0:6 sdbk 67:128 [ready]
_ round-robin 0
_ 3:0:1:6 sdbr 68:80 [ready]
_ 2:0:1:6 sdi 8:128 [ready]
create: 360060160aa4018002ce6839182a8da11
[size=3 GB][features=”1 queue_if_no_path”][hwhandler=”1 emc”]
_ round-robin 0 [prio=2]
_ 3:0:0:7 sdbf 67:144 [ready]
_ 2:0:0:7 sdbl 67:128 [ready]
_ round-robin 0
_ 3:0:1:7 sdbs 68:96 [ready]
_ 2:0:1:7 sdj 8:144 [ready]
create: 360060160aa4018002de6839182a8da11
[size=3 GB][features=”1 queue_if_no_path”][hwhandler=”1 emc”]
_ round-robin 0 [prio=2]
_ 3:0:1:8 sdbt 68:112 [ready]
_ 2:0:1:8 sdk 8:160 [ready]
_ round-robin 0
_ 3:0:0:8 sdbg 67:160 [ready]
_ 2:0:0:8 sdbm 67:128 [ready]
create: 360060160aa4018002ee6839182a8da11
[size=3 GB][features=”1 queue_if_no_path”][hwhandler=”1 emc”]
_ round-robin 0 [prio=2]
_ 3:0:0:9 sdbh 67:176 [ready]
_ 2:0:0:9 sdbn 67:128 [ready]
_ round-robin 0
_ 3:0:1:9 sdbu 68:128 [ready]
_ 2:0:1:9 sdl 8:176 [ready]

7. If the listing is appropriate, commit the configuration as follows.

a. Start the required multipath processes.

# /etc/init.d/boot.multipath start
# /etc/init.d/multipathd start

b. Perform an ‘lsmod’ and verify that the processes are running.

• With Symmetrix attach the following modules should be listed:

# lsmod |grep dm
dm_round_robin 20480 1
dm_multipath 38544 2 dm_round_robin
dm_mod 77536 10 dm_multipath

• With CLARiiON attach the following modules will be listed:

# lsmod |grep dm
dm_emc 10880 1
dm_round_robin 7680 1
dm_multipath 25352 3 dm_emc,dm_round_robin
dm_mod 61312 1 dm_multipath

8. To get a listing of the current setup do:

# multipath -ll
9. Integrate the startup of the appropriate daemons in the boot sequence as follows:

# insserv boot.device-mapper multipathd boot.multipath
10. Device-mapper (dm) names and sd device names may not be persistent across reboots. There are two mechanisms to achieve persistence:

• Use of scsi_id based persistent names.

The scsi_id based persistent names are populated under the “/dev/disk/by-name” directory.

• Use of LVM-2 on top of device-mapper.

To enable LVM access to devices that are under multipath control, edit the /etc/lvm/lvm.conf and add “device-mapper” to the “types” extension. By default, device mapper uses the major number of 253.

types = [ "device-mapper", 253 ]

Configure logical volumes as necessary. LVM based entries in ‘/etc/fstab’ are supported. In the normal boot process, the device mapper and the multipath daemons start before LVM starts the discovery process.

You may optionally reboot the host to verify that the required processes automatically startup.

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA * Time limit is exhausted. Please reload the CAPTCHA.

This site uses Akismet to reduce spam. Learn how your comment data is processed.