[dm-devel] Re: Problems with path groups in multipath-tools
Juha Koivisto
Juha.Koivisto at hut.fi
Fri Feb 25 12:56:13 UTC 2005
I'm not sure if my previous message is going to make it to the list (by
now it hasn't yet, at least according to the web archive), but I solved
my problem already. It turns out that in order to use a shell script as
prio_callout (in multipath.conf), the command needs to be explicitly
executed with /bin/sh.
This works (at least for me):
/etc/multipath.conf:
---cut---
devices {
device {
vendor "DGC "
product "*"
path_grouping_policy group_by_prio
prio_callout "/bin/sh /usr/local/sbin/get_path_prio %n"
#getuid_callout "/sbin/scsi_id -g -s /block/%n"
#path_checker emc_clariion
path_selector "round-robin 0"
hardware_handler "1 emc"
}
}
---cut---
/usr/local/sbin/get_path_prio:
---cut---
#/bin/sh
PATH=/bin:/usr/bin
prio=1
if [ -e /sys/block/$1/device ]; then
target=`ls -l /sys/block/$1/device | tr / "\n" | grep target.:.:`
if [ -e /sys/class/fc_transport/$target/port_name ]; then
id=`cut -c 10 < /sys/class/fc_transport/$target/port_name`
case $id in
0 | 1 | 2 | 3 )
prio=1
;;
8 | 9 | a | b | A | B )
prio=2
;;
esac
fi
fi
echo $prio
---cut---
I don't know if I should use emc_clarion as path_checker (it sees the
non-active paths as "ready", while the default readsector0 reports them
as faulty), but I guess that's not very important right now.
Please Cc: me in replies, I'm not subscribed to the list.
--
Juha.Koivisto at hut.fi
More information about the dm-devel
mailing list