Bug 457530
| Summary: | multipath conflicts with scsi_id and ignores multipath.conf | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Paulo Rodrigues <paulo.s.rodrigues> | ||||||
| Component: | device-mapper-multipath | Assignee: | Ben Marzinski <bmarzins> | ||||||
| Status: | CLOSED WONTFIX | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||
| Severity: | high | Docs Contact: | |||||||
| Priority: | low | ||||||||
| Version: | 9 | CC: | agk, bmarzins, dwysocha, mbroz, prockai, zing | ||||||
| Target Milestone: | --- | ||||||||
| Target Release: | --- | ||||||||
| Hardware: | i386 | ||||||||
| OS: | Linux | ||||||||
| Whiteboard: | |||||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||||
| Doc Text: | Story Points: | --- | |||||||
| Clone Of: | Environment: | ||||||||
| Last Closed: | 2009-07-15 08:15:07 UTC | Type: | --- | ||||||
| Regression: | --- | Mount Type: | --- | ||||||
| Documentation: | --- | CRM: | |||||||
| Verified Versions: | Category: | --- | |||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||
| Embargoed: | |||||||||
| Attachments: |
|
||||||||
|
Description
Paulo Rodrigues
2008-08-01 11:46:01 UTC
There will be a new multipath packages that fixes the scsi_id defaults shortly. Can you please post you're /etc/multipath.conf file, and the results of running # multipath -v3 Multipath is using the getuid_callout from the config file just fine for me. I have two guesses why it doesn't work for you: 1. multipath requires a space between the title of a section in multipath.conf, and the open bracket. This is know bug and will be fixed. 2. You set the new getuid_callout in the "defaults" section, but you actually have a device with a default device configuration. Check in /usr/share/doc/device-mapper-multipath-0.4.8/multipath.conf.defaults and see if one of the devices with its own default configuration matches your "vendor" and "product" strings. If so, you need to copy that device config into the a "devices" section in /etc/multipath.conf, and fix getuid_callout there. This is multipath.conf:
blacklist {
devnode sda
# devnode "^sdc"
# devnode "^sde"
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]*]"
devnode "dasd[a-z]+[0-9]*"
}
defaults {
udev_dir /dev
polling_interval 120
selector "round-robin 0"
default_path_grouping_policy failover
getuid_callout "/sbin/scsi_id -g -u /dev/%n"
prio_callout /sbin/mpath_prio_emc
path_checker emc_clariion
rr_min_io 100
rr_weight priorities
failback immediate
no_path_retry 3
user_friendly_name yes
}
multipaths {
multipath {
wwid 36006016026801e004c2fe9bd13afdc11
alias mpath0
path_grouping_policy failover
path_checker readsector0
path_selector "round-robin 0"
failback immediate
}
}
And this is the output of multipath -v3:
dm-0: blacklisted
dm-1: blacklisted
ram0: blacklisted
ram1: blacklisted
ram10: blacklisted
ram11: blacklisted
ram12: blacklisted
ram13: blacklisted
ram14: blacklisted
ram15: blacklisted
ram2: blacklisted
ram3: blacklisted
ram4: blacklisted
ram5: blacklisted
ram6: blacklisted
ram7: blacklisted
ram8: blacklisted
ram9: blacklisted
sda: blacklisted
sdd: not found in pathvec
sdd: mask = 0x1f
sdd: bus = 1
sdd: dev_t = 8:48
sdd: size = 1974712832
sdd: vendor = DGC
sdd: product = RAID 5
sdd: rev = 0324
sdd: h:b:t:l = 2:0:0:0
sdd: tgt_node_name = 0x50060160c1e08559
sdd: serial = CK200074400486
sdd: getprio = /sbin/mpath_prio_emc /dev/%n (controller setting)
sdd: prio = 1
sdd: getuid = /sbin/scsi_id -g -u -s /block/%n (controller setting)
sdd: uid = 36006016026801e004c2fe9bd13afdc11 (callout)
sde: not found in pathvec
sde: mask = 0x1f
sde: bus = 1
sde: dev_t = 8:64
sde: size = 1974712832
sde: vendor = DGC
sde: product = RAID 5
sde: rev = 0324
sde: h:b:t:l = 2:0:1:0
sde: tgt_node_name = 0x50060160c1e08559
sde: serial = CK200074400486
sde: getprio = /sbin/mpath_prio_emc /dev/%n (controller setting)
sde: prio = 0
sde: getuid = /sbin/scsi_id -g -u -s /block/%n (controller setting)
sde: uid = 36006016026801e004c2fe9bd13afdc11 (callout)
sdf: not found in pathvec
sdf: mask = 0x1f
sdf: bus = 1
sdf: dev_t = 8:80
sdf: size = 1974712832
sdf: vendor = DGC
sdf: product = RAID 5
sdf: rev = 0324
sdf: h:b:t:l = 1:0:1:0
sdf: tgt_node_name = 0x50060160c1e08559
sdf: serial = CK200074400486
sdf: getprio = /sbin/mpath_prio_emc /dev/%n (controller setting)
sdf: prio = 0
sdf: getuid = /sbin/scsi_id -g -u -s /block/%n (controller setting)
sdf: uid = 36006016026801e004c2fe9bd13afdc11 (callout)
sdg: not found in pathvec
sdg: mask = 0x1f
sdg: bus = 1
sdg: dev_t = 8:96
sdg: size = 1974712832
sdg: vendor = DGC
sdg: product = RAID 5
sdg: rev = 0324
sdg: h:b:t:l = 1:0:0:0
sdg: tgt_node_name = 0x50060160c1e08559
sdg: serial = CK200074400486
sdg: getprio = /sbin/mpath_prio_emc /dev/%n (controller setting)
sdg: prio = 1
sdg: getuid = /sbin/scsi_id -g -u -s /block/%n (controller setting)
sdg: uid = 36006016026801e004c2fe9bd13afdc11 (callout)
sr0: blacklisted
===== paths list =====
uuid hcil dev dev_t pri dm_st chk_st vend/pr
36006016026801e004c2fe9bd13afdc11 2:0:0:0 sdd 8:48 1 [undef][undef] DGC,RAI
36006016026801e004c2fe9bd13afdc11 2:0:1:0 sde 8:64 0 [undef][undef] DGC,RAI
36006016026801e004c2fe9bd13afdc11 1:0:1:0 sdf 8:80 0 [undef][undef] DGC,RAI
36006016026801e004c2fe9bd13afdc11 1:0:0:0 sdg 8:96 1 [undef][undef] DGC,RAI
params = 1 queue_if_no_path 1 emc 4 1 round-robin 0 1 1 8:96 1000 round-robin 0 1 1 8:48 1000 round-robin 0 1 1 8:64 1000 round-robin 0 1 1 8:80 1000
status = 2 0 1 0 4 1 A 0 1 0 8:96 A 0 E 0 1 0 8:48 A 0 E 0 1 0 8:64 A 0 E 0 1 0 8:80 A 0
sdg: mask = 0x4
sdg: path checker = emc_clariion (controller setting)
sdg: state = 2
sdd: mask = 0x4
sdd: path checker = emc_clariion (controller setting)
sdd: state = 2
sde: mask = 0x4
sde: path checker = emc_clariion (controller setting)
sde: state = 2
sdf: mask = 0x4
sdf: path checker = emc_clariion (controller setting)
sdf: state = 2
I had replaced /sbin/scsi_id with:
#!/bin/bash
a=$*
b=`echo $* | sed s/\-s// | sed s/block/dev/`
/sbin/scsi_id.backup $b
and renamed scsi_id to scsi_id.backup so that it worked.
Now, I undid that, and added a device stanza (copied from the defaults file) to multipath.conf, like this:
device {
vendor "DGC"
product "*"
bl_product "LUN_Z"
path_grouping_policy group_by_prio
getuid_callout "/sbin/scsi_id -g -u /dev/%n"
prio_callout "/sbin/mpath_prio_emc /dev/%n"
hardware_handler "1 emc"
features "1 queue_if_no_path"
path_checker emc_clariion
failback immediate
}
and the result of multipath -v3 is:
dm-0: blacklisted
dm-1: blacklisted
ram0: blacklisted
ram1: blacklisted
ram10: blacklisted
ram11: blacklisted
ram12: blacklisted
ram13: blacklisted
ram14: blacklisted
ram15: blacklisted
ram2: blacklisted
ram3: blacklisted
ram4: blacklisted
ram5: blacklisted
ram6: blacklisted
ram7: blacklisted
ram8: blacklisted
ram9: blacklisted
sda: blacklisted
sdd: not found in pathvec
sdd: mask = 0x1f
sdd: bus = 1
sdd: dev_t = 8:48
sdd: size = 1974712832
sdd: vendor = DGC
sdd: product = RAID 5
sdd: rev = 0324
sdd: h:b:t:l = 2:0:0:0
sdd: tgt_node_name = 0x50060160c1e08559
sdd: serial = CK200074400486
sdd: getprio = /sbin/mpath_prio_emc /dev/%n (controller setting)
sdd: prio = 1
sdd: getuid = /sbin/scsi_id -g -u -s /block/%n (controller setting)
/sbin/scsi_id: invalid option -- 's'
error calling out /sbin/scsi_id -g -u -s /block/sdd
sde: not found in pathvec
sde: mask = 0x1f
sde: bus = 1
sde: dev_t = 8:64
sde: size = 1974712832
sde: vendor = DGC
sde: product = RAID 5
sde: rev = 0324
sde: h:b:t:l = 2:0:1:0
sde: tgt_node_name = 0x50060160c1e08559
sde: serial = CK200074400486
sde: getprio = /sbin/mpath_prio_emc /dev/%n (controller setting)
sde: prio = 0
sde: getuid = /sbin/scsi_id -g -u -s /block/%n (controller setting)
/sbin/scsi_id: invalid option -- 's'
error calling out /sbin/scsi_id -g -u -s /block/sde
sdf: not found in pathvec
sdf: mask = 0x1f
sdf: bus = 1
sdf: dev_t = 8:80
sdf: size = 1974712832
sdf: vendor = DGC
sdf: product = RAID 5
sdf: rev = 0324
sdf: h:b:t:l = 1:0:1:0
sdf: tgt_node_name = 0x50060160c1e08559
sdf: serial = CK200074400486
sdf: getprio = /sbin/mpath_prio_emc /dev/%n (controller setting)
sdf: prio = 0
sdf: getuid = /sbin/scsi_id -g -u -s /block/%n (controller setting)
/sbin/scsi_id: invalid option -- 's'
error calling out /sbin/scsi_id -g -u -s /block/sdf
sdg: not found in pathvec
sdg: mask = 0x1f
sdg: bus = 1
sdg: dev_t = 8:96
sdg: size = 1974712832
sdg: vendor = DGC
sdg: product = RAID 5
sdg: rev = 0324
sdg: h:b:t:l = 1:0:0:0
sdg: tgt_node_name = 0x50060160c1e08559
sdg: serial = CK200074400486
sdg: getprio = /sbin/mpath_prio_emc /dev/%n (controller setting)
sdg: prio = 1
sdg: getuid = /sbin/scsi_id -g -u -s /block/%n (controller setting)
/sbin/scsi_id: invalid option -- 's'
error calling out /sbin/scsi_id -g -u -s /block/sdg
sr0: blacklisted
===== paths list =====
uuid hcil dev dev_t pri dm_st chk_st vend/prod/rev
2:0:0:0 sdd 8:48 1 [undef][undef] DGC,RAID 5
2:0:1:0 sde 8:64 0 [undef][undef] DGC,RAID 5
1:0:1:0 sdf 8:80 0 [undef][undef] DGC,RAID 5
1:0:0:0 sdg 8:96 1 [undef][undef] DGC,RAID 5
params = 1 queue_if_no_path 1 emc 4 1 round-robin 0 1 1 8:96 1000 round-robin 0 1 1 8:48 1000 round-robin 0 1 1 8:64 1000 round-robin 0 1 1 8:80 1000
status = 2 0 1 0 4 1 A 0 1 0 8:96 A 0 E 0 1 0 8:48 A 0 E 0 1 0 8:64 A 0 E 0 1 0 8:80 A 0
sdg: mask = 0x4
sdg: path checker = emc_clariion (controller setting)
sdg: state = 2
sdd: mask = 0x4
sdd: path checker = emc_clariion (controller setting)
sdd: state = 2
sde: mask = 0x4
sde: path checker = emc_clariion (controller setting)
sde: state = 2
sdf: mask = 0x4
sdf: path checker = emc_clariion (controller setting)
sdf: state = 2
Also, now I notice, I'm on device-mapper-multipath-0.4.7-16.fc9.i386 not 0.4.8
the config_space_fix.patch isn't right. I have a conf file that tries to overwrite certain device parameters, which this patch then parses the device as being blacklisted instead. I can see it in "show config" in multipathd and my parameters don't get recognized. If I revert, things are "ok". Zing, can you post your /etc/multipath.conf file, so that I can try to reproduce it on my machine. If you post it as an attachment, then there will be no chance of having the whitespace changed. Thanks. Created attachment 315168 [details]
my multipath.conf
Here's my current multipath.conf that gets incorrectly parsed.
Created attachment 315169 [details]
show config output
This is what my "show config" looks like for the above.
Oops. There was a regression in the config_space_fix.patch. Thanks for pointing it out, Zing. This message is a reminder that Fedora 9 is nearing its end of life. Approximately 30 (thirty) days from now Fedora will stop maintaining and issuing updates for Fedora 9. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as WONTFIX if it remains open with a Fedora 'version' of '9'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version prior to Fedora 9's end of life. Bug Reporter: Thank you for reporting this issue and we are sorry that we may not be able to fix it before Fedora 9 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora please change the 'version' of this bug to the applicable version. If you are unable to change the version, please add a comment here and someone will do it for you. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. The process we are following is described here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping Fedora 9 changed to end-of-life (EOL) status on 2009-07-10. Fedora 9 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. Thank you for reporting this bug and we are sorry it could not be fixed. |