<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-15"
http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Hi, <br>
<br>
multipath seems to work on gentoo, I have to load the modules in proper
order, this is my configuration:<br>
<br>
cat /etc/conf.d/local.start<br>
# /etc/conf.d/local.start<br>
<br>
# This is a good place to load any misc programs<br>
# on startup ( use 1>&2 to hide output)<br>
/sbin/modprobe dm-emc<br>
/sbin/modprobe qla2300<br>
/bin/sleep 5<br>
/sbin/udevstart<br>
/etc/init.d/multipathd start<br>
<br>
is critical the command udevstart without only one path is seen,<br>
<br>
I experienced a kernel oops with kernel-2.6.12 (both vanilla-sources
and gentoo-sources) when I load qla2300 module, here are the logs:<br>
<br>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Generator" content="Kate, the KDE Advanced Text Editor">
<pre>Unable to handle kernel NULL pointer dereference at virtual address 00000000
printing eip:
f8f262c8
*pde = 00000000
Oops: 0000 [#1]
SMP
Modules linked in: dm_round_robin qla2300 qla2xxx dm_emc dm_multipath dm_mod
CPU: 1
EIP: 0060:[<f8f262c8>] Not tainted VLI
EFLAGS: 00010086 (2.6.12-gentoo-r10)
EIP is at rr_select_path+0x8/0x50 [dm_round_robin]
eax: f30311cc ebx: 00000000 ecx: f7f4d08c edx: f30311cc
esi: f46f1580 edi: 00000001 ebp: f46f1580 esp: f75f1ee0
ds: 007b es: 007b ss: 0068
Process kmpathd/1 (pid: 5836, threadinfo=f75f0000 task=c2171530)
Stack: f30311c0 f8f12bf6 f30311cc f46f15b8 f46f1580 f7f4d080 f8f12cd9 f46f1580
f30311c0 f46f1580 f7f4d080 00000000 f46f158c f8f12fd9 f46f1580 00000001
c2171530 00000246 00000000 f46f1590 f46f15c8 f7f4d080 f46f15cc f46f1580
Call Trace:
[<f8f12bf6>] __choose_path_in_pg+0x26/0x60 [dm_multipath]
[<f8f12cd9>] __choose_pgpath+0xa9/0xc0 [dm_multipath]
[<f8f12fd9>] process_queued_ios+0xd9/0x100 [dm_multipath]
[<c012b229>] worker_thread+0x1b9/0x260
[<f8f12f00>] process_queued_ios+0x0/0x100 [dm_multipath]
[<c01163c0>] default_wake_function+0x0/0x20
[<c01163c0>] default_wake_function+0x0/0x20
[<c012b070>] worker_thread+0x0/0x260
[<c012f85a>] kthread+0xba/0xc0
[<c012f7a0>] kthread+0x0/0xc0
[<c0101015>] kernel_thread_helper+0x5/0x10
Code: 40 08 8b 10 8b 48 04 89 11 89 4a 04 8b 13 89 42 04 89 10 89 58 04 89 03 31 c0 5b c3 8d b4 26 00 00 00 00 53 8b 44 24 08 8b 58 04 <8b> 03 39 d8 74 32 89 c1 8b 50 04 8b 00 85 c9 89 50 04 89 02 8b
<4>device-mapper: dm-emc: long trespass command will be send
device-mapper: dm-emc: honor reservation bit will not be set (default)
Unable to handle kernel NULL pointer dereference at virtual address 00000000
printing eip:
f8f262c8
*pde = 00000000
Oops: 0000 [#2]
SMP
Modules linked in: dm_round_robin qla2300 qla2xxx dm_emc dm_multipath dm_mod
CPU: 0
EIP: 0060:[<f8f262c8>] Not tainted VLI
EFLAGS: 00010086 (2.6.12-gentoo-r10)
EIP is at rr_select_path+0x8/0x50 [dm_round_robin]
eax: f748c8cc ebx: 00000000 ecx: f7f4d00c edx: f748c8cc
esi: f46f1680 edi: 00000001 ebp: f46f1680 esp: f7517ee0
ds: 007b es: 007b ss: 0068
Process kmpathd/0 (pid: 5835, threadinfo=f7516000 task=f7f0e530)
Stack: f748c8c0 f8f12bf6 f748c8cc f46f16b8 f46f1680 f7f4d000 f8f12cd9 f46f1680
f748c8c0 f46f1680 f7f4d000 00000000 f46f168c f8f12fd9 f46f1680 c200c558
f7f0e530 00000246 00000000 f46f1690 f46f16c8 f7f4d000 f46f16cc f46f1680
Call Trace:
[<f8f12bf6>] __choose_path_in_pg+0x26/0x60 [dm_multipath]
[<f8f12cd9>] __choose_pgpath+0xa9/0xc0 [dm_multipath]
[<f8f12fd9>] process_queued_ios+0xd9/0x100 [dm_multipath]
[<c012b229>] worker_thread+0x1b9/0x260
[<f8f12f00>] process_queued_ios+0x0/0x100 [dm_multipath]
[<c01163c0>] default_wake_function+0x0/0x20
[<c01163c0>] default_wake_function+0x0/0x20
[<c012b070>] worker_thread+0x0/0x260
[<c012f85a>] kthread+0xba/0xc0
[<c012f7a0>] kthread+0x0/0xc0
[<c0101015>] kernel_thread_helper+0x5/0x10
Code: 40 08 8b 10 8b 48 04 89 11 89 4a 04 8b 13 89 42 04 89 10 89 58 04 89 03 31 c0 5b c3 8d b4 26 00 00 00 00 53 8b 44 24 08 8b 58 04 <8b> 03 39 d8 74 32 89 c1 8b 50 04 8b 00 85 c9 89 50 04 89 02 8b
<4>device-mapper: dm-emc: long trespass command will be send
device-mapper: dm-emc: honor reservation bit will not be set (default)
Unable to handle kernel NULL pointer dereference at virtual address 00000000
printing eip:
f8f262c8
*pde = 00000000
Oops: 0000 [#3]
SMP
Modules linked in: dm_round_robin qla2300 qla2xxx dm_emc dm_multipath dm_mod
CPU: 2
EIP: 0060:[<f8f262c8>] Not tainted VLI
EFLAGS: 00010086 (2.6.12-gentoo-r10)
EIP is at rr_select_path+0x8/0x50 [dm_round_robin]
eax: f7e4850c ebx: 00000000 ecx: f7f4d10c edx: f7e4850c
esi: f46e4880 edi: 00000001 ebp: f46e4880 esp: f777dee0
ds: 007b es: 007b ss: 0068
Process kmpathd/2 (pid: 5837, threadinfo=f777c000 task=f7d11a40)
Stack: f7e48500 f8f12bf6 f7e4850c f46e48b8 f46e4880 f7f4d100 f8f12cd9 f46e4880
f7e48500 f46e4880 f7f4d100 00000000 f46e488c f8f12fd9 f46e4880 c201c9d0
f7d11a40 00000246 00000000 f46e4890 f46e48c8 f7f4d100 f46e48cc f46e4880
Call Trace:
[<f8f12bf6>] __choose_path_in_pg+0x26/0x60 [dm_multipath]
[<f8f12cd9>] __choose_pgpath+0xa9/0xc0 [dm_multipath]
[<f8f12fd9>] process_queued_ios+0xd9/0x100 [dm_multipath]
[<c012b229>] worker_thread+0x1b9/0x260
[<f8f12f00>] process_queued_ios+0x0/0x100 [dm_multipath]
[<c01163c0>] default_wake_function+0x0/0x20
[<c01163c0>] default_wake_function+0x0/0x20
[<c012b070>] worker_thread+0x0/0x260
[<c012f85a>] kthread+0xba/0xc0
[<c012f7a0>] kthread+0x0/0xc0
[<c0101015>] kernel_thread_helper+0x5/0x10
Code: 40 08 8b 10 8b 48 04 89 11 89 4a 04 8b 13 89 42 04 89 10 89 58 04 89 03 31 c0 5b c3 8d b4 26 00 00 00 00 53 8b 44 24 08 8b 58 04 <8b> 03 39 d8 74 32 89 c1 8b 50 04 8b 00 85 c9 89 50 04 89 02 8b
<4>device-mapper: dm-emc: long trespass command will be send</pre>
however kernel-2.6.13 works fine (both vanilla and gentoo-sources)<br>
<br>
here are my multipath configuration<br>
<br>
grep -v "#" /etc/multipath.conf<br>
defaults {<br>
multipath_tool "/sbin/multipath -v0"<br>
udev_dir /dev<br>
polling_interval 10<br>
default_selector "round-robin 0"<br>
default_getuid_callout "/sbin/scsi_id -g -u -s /block/%n"<br>
default_prio_callout "/bin/true"<br>
failback immediate<br>
}<br>
multipaths {<br>
<br>
multipath {<br>
wwid
3600601608c901200ccfe543f4053d911<br>
alias 200Gb<br>
path_grouping_policy failover<br>
path_checker readsector0<br>
path_selector "round-robin 0"<br>
failback immediate<br>
}<br>
multipath {<br>
wwid
3600601608c9012006269b8f63b87d911<br>
alias 5Gb<br>
path_grouping_policy failover<br>
path_checker readsector0<br>
path_selector "round-robin 0"<br>
failback immediate<br>
}<br>
multipath {<br>
wwid
3600601608c9012008ae5de2cc985d911<br>
alias 300Gb<br>
path_grouping_policy failover<br>
path_checker readsector0<br>
path_selector "round-robin 0"<br>
failback immediate<br>
}<br>
}<br>
<br>
The tests aren't very accurate because the machine is 100 Km away,
tomorrow I'll do more accurate tests, I'll post results,<br>
<br>
big thanks to Cristophe for multipath-tools,<br>
big thanks to gistolero for his accurate testing on gentoo, your posts
are very useful for me,<br>
<br>
any suggestions to improve my setup are welcome,<br>
<br>
I have to install naviagent? On redhat naviagent register powerpath
name to cx 300, it works with multipath?<br>
<br>
Nicola<br>
<br>
P.S. for gistolero, I haven't your problem with multipathd (or so
seems) however my hardware is different, I think also that the need to
run udevstart is a gentoo bug, today gentoo has releases udev-0.68-r1
with start-stop script, if you read start script there is udevstart,
however I haven't yet tested this script because they require unstable
baselayout-1.12<br>
<br>
<br>
<br>
</body>
</html>