Configuration
The main configuration file is
/etc/multipath.conf. The following configuration file is for use with a Hitachi SAN. It uses a custom priority callout binary (see below).
defaults {
polling_interval 120
udev_dir /dev
default_path_grouping_policy failover
rr_weight priorities
failback immediate
}
blacklist {
devnode cciss
devnode fd
devnode hd
devnode md
devnode sr
devnode scd
devnode st
devnode ram
devnode raw
devnode loop
devnode sda # internal disk
}
devices {
device {
vendor "HITACHI"
product "DF600F"
path_grouping_policy group_by_prio
prio_callout "/sbin/pp_hds_modular %d"
path_checker readsector0
getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
}
device {
vendor "HITACHI"
product "DF600F-CM"
path_grouping_policy group_by_prio
prio_callout "/sbin/pp_hds_modular %d"
path_checker readsector0
getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
}
device {
vendor "HITACHI"
product "OPEN-V"
path_grouping_policy multibus
path_checker readsector0
getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
}
device {
vendor "HITACHI"
product "OPEN-V-CM"
path_grouping_policy multibus
path_checker readsector0
getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
}
}
Note: We have reduced the rather high polling_interval from 120 seconds to 5 seconds.
Note: devnode_blacklist changed to blacklist in 0.4.7.
Hitachi priority-callout
Along with the configuration we got the source code of the referenced priority-callout/sbin/pp_hds_modular from Hitachi.
We first had to compile and install the binary for our platform.
gcc pp_hds_modular.c -o pp_hds_modular
Configure initscripts
boot.multipath
On Novell SuSE, add/etc/init.d/boot.multipath to the default runlevel by issuing:
chkconfig -a boot.multipath/etc/init.d/boot.multipath calls a
sleep 1after starting multipathing. This might not be enough when you have boot.lvm called directly after it (which is the default when using both multipath and LVM). There is a delay until the devices are visible. The delay is caused by subfs. You can either replace the
sleep 1 with sleep 15, or disable subfs altogether in /etc/sysconfig/hotplug
## Type: yesno ## Default: no # # enable subfs mounts of hotpluged devices # -HOTPLUG_USE_SUBFS=yes +HOTPLUG_USE_SUBFS=no
multipathd
On Novell SuSE, add/etc/init.d/multipathd to the default runlevel by issuing:
chkconfig -a multipathd