Bug 226995

Summary: Device mapper device aliases not created as specified
Product: Red Hat Enterprise Linux 5 Reporter: Sanjay Rao <srao>
Component: device-mapper-multipathAssignee: Ben Marzinski <bmarzins>
Status: CLOSED NOTABUG QA Contact: Corey Marthaler <cmarthal>
Severity: medium Docs Contact:
Priority: medium    
Version: 5.0CC: agk, bmarzins, christophe.varoqui, dwysocha, egoggin, junichi.nomura, kueda, lmb, mbroz, prockai, tranlan
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-06-12 22:28:12 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:

Description Sanjay Rao 2007-02-02 15:40:16 UTC
Description of problem:

This is ia follow up to BZ 226791 but the problem is specifically related to
aliases so I opened this BZ. This will make it easy to seach for alias related
issues.

My multipath.conf file has the aliases defined for 4 devices but only 2 aliases
are created and the other 2 devices get the user_friendly_names

[root@perf6 mpath]# cd /dev/mpath/
[root@perf6 mpath]# pwd
/dev/mpath
[root@perf6 mpath]# ls -l
total 0
lrwxrwxrwx 1 root root 7 Feb  1 19:43 mpath4 -> ../dm-4
lrwxrwxrwx 1 root root 7 Feb  1 19:43 mpath5 -> ../dm-5
lrwxrwxrwx 1 root root 7 Feb  1 19:42 oramp1 -> ../dm-2
lrwxrwxrwx 1 root root 7 Feb  1 19:42 oramp2 -> ../dm-3

As you can see, 2 of the devices have the alias names and other 2 have user
friendly names



[root@perf6 ~]# cat /etc/multipath.conf

# This is an example configuration file for device mapper multipath.
# For a complete list of the default configuration values, see
# /usr/share/doc/device-mapper-multipath-0.4.5/multipath.conf.defaults
# For a list of configuration options with descriptions, see
# /usr/share/doc/device-mapper-multipath-0.4.5/multipath.conf.annotated
#
#
# Blacklist all devices by default. Remove this to enable multipathing
# on the default devices. 
#blacklist {
#        devnode "*"
#}
#
## By default, devices with vendor = "IBM" and product = "S/390.*" are
## blacklisted. To enable mulitpathing on these devies, uncomment the
## following lines.
#blacklist_exceptions {
#       device {
#               vendor  "IBM"
#               product "S/390.*"
#       }
#}
#
## Use user friendly names, instead of using WWIDs as names.
## This is a template multipath-tools configuration file
## Uncomment the lines relevent to your environment
##
defaults {
#       udev_dir                /dev
#       polling_interval        10
#       selector                "round-robin 0"
#       path_grouping_policy    multibus
#       getuid_callout          "/sbin/scsi_id -g -u -s /block/%n"
#       prio_callout            /bin/true
#       path_checker            readsector0
#       rr_min_io               100
#       rr_weight               priorities
#       failback                immediate
#       no_path_retry           fail
        user_friendly_names     yes
}
##
## The wwid line in the following blacklist section is shown as an example
## of how to blacklist devices by wwid.  The 3 devnode lines are the
## compiled in default blacklist. If you want to blacklist entire types
## of devices, such as all scsi devices, you should use a devnode line.
## However, if you want to blacklist specific devices, you should use
## a wwid line.  Since there is no guarantee that a specific device will
## not change names on reboot (from /dev/sda to /dev/sdb for example)
## devnode lines are not recommended for blacklisting specific devices.
##

blacklist {
        wwid 20010b9fc0813836e
        wwid 20010b9fc08148885
}

#devnode_blacklist {
#       wwid 20010b9fc0813836e
#       devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
#       devnode "^hd[a-z]"
#       devnode "^cciss!c[0-9]d[0-9]*"
#}
#
multipaths {
        multipath {
                wwid                    3600805f30015987000000000768a0019
                alias                   oramp1
        }
        multipath {
                wwid                    3600805f30015987000000000d643001a
                alias                   oramp2
        }
        mulitpath {
                wwid                    3600805f3001598700000000086fc001b
                alias                   oramp3
        }
        mulitpath {
                wwid                    3600805f300159870000000000984001c
                alias                   oramp4
        }
}
devices {
#       device {
#               vendor                  "COMPAQ  "
#               product                 "HSV110 (C)COMPAQ"
#               path_grouping_policy    multibus
#               getuid_callout          "/sbin/scsi_id -g -u -s /block/%n"
#               path_checker            readsector0
#               path_selector           "round-robin 0"
#               hardware_handler        "0"
#               failback                15
#               rr_weight               priorities
#               no_path_retry           queue
#       }
        device {
                vendor                  "COMPAQ|HP  "
                product                 "MSA1*"
                path_grouping_policy    group_by_serial
        }
}


The wwid of the 4 devices have also been listed below to rule out the
possibility of wrong wwids entered in the conf file.


[root@perf6 ~]# scsi_id -g -s /block/sdc
3600805f30015987000000000768a0019
[root@perf6 ~]# scsi_id -g -s /block/sdd
3600805f30015987000000000d643001a
[root@perf6 ~]# scsi_id -g -s /block/sde
3600805f3001598700000000086fc001b
[root@perf6 ~]# scsi_id -g -s /block/sdf
3600805f300159870000000000984001c


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Here is an output of multipath -v6

[root@perf6 ~]# multipath -v6
dm-0: blacklisted
dm-1: blacklisted
dm-2: blacklisted
dm-3: blacklisted
dm-4: blacklisted
dm-5: blacklisted
dm-6: blacklisted
dm-7: blacklisted
fd0: blacklisted
hdb: blacklisted
md0: blacklisted
ram0: blacklisted
ram10: blacklisted
ram11: blacklisted
ram12: blacklisted
ram13: blacklisted
ram14: blacklisted
ram15: blacklisted
ram1: blacklisted
ram2: blacklisted
ram3: blacklisted
ram4: blacklisted
ram5: blacklisted
ram6: blacklisted
ram7: blacklisted
ram8: blacklisted
ram9: blacklisted
sda: not found in pathvec
sda: mask = 0x1f
sda: bus = 1
sda: dev_t = 8:0
sda: size = 142264000
sda: vendor = COMPAQ
sda: product = BD07287B4C
sda: rev = HPB5
sda: h:b:t:l = 0:0:4:0
sda: serial = D20KRZAK
sda: path checker = readsector0 (config file default)
sda: state = 2
sda: getprio = NULL (internal default)
sda: prio = 1
sda: getuid = /sbin/scsi_id -g -u -s /block/%n (config file default)
sda: uid = 20010b9fc0813836e (callout)
sdb: not found in pathvec
sdb: mask = 0x1f
sdb: bus = 1
sdb: dev_t = 8:16
sdb: size = 142264000
sdb: vendor = COMPAQ
sdb: product = BD07287B4C
sdb: rev = HPB5
sdb: h:b:t:l = 0:0:6:0
sdb: serial = D20LYCWK
sdb: path checker = readsector0 (config file default)
sdb: state = 2
sdb: getprio = NULL (internal default)
sdb: prio = 1
sdb: getuid = /sbin/scsi_id -g -u -s /block/%n (config file default)
sdb: uid = 20010b9fc08148885 (callout)
sdc: not found in pathvec
sdc: mask = 0x1f
sdc: bus = 1
sdc: dev_t = 8:32
sdc: size = 142239510
sdc: vendor = COMPAQ
sdc: product = MSA1000 VOLUME
sdc: rev = 4.32
sdc: h:b:t:l = 2:0:0:5
sdc: tgt_node_name = 0x500805f300159870
sdc: serial = P56350GX3RJ0FJ
sdc: path checker = readsector0 (config file default)
sdc: state = 2
sdc: getprio = NULL (internal default)
sdc: prio = 1
sdc: getuid = /sbin/scsi_id -g -u -s /block/%n (config file default)
sdc: uid = 3600805f30015987000000000768a0019 (callout)
sdd: not found in pathvec
sdd: mask = 0x1f
sdd: bus = 1
sdd: dev_t = 8:48
sdd: size = 142239510
sdd: vendor = COMPAQ
sdd: product = MSA1000 VOLUME
sdd: rev = 4.32
sdd: h:b:t:l = 2:0:0:6
sdd: tgt_node_name = 0x500805f300159870
sdd: serial = P56350GX3RJ0FJ
sdd: path checker = readsector0 (config file default)
sdd: state = 2
sdd: getprio = NULL (internal default)
sdd: prio = 1
sdd: getuid = /sbin/scsi_id -g -u -s /block/%n (config file default)
sdd: uid = 3600805f30015987000000000d643001a (callout)
sde: not found in pathvec
sde: mask = 0x1f
sde: bus = 1
sde: dev_t = 8:64
sde: size = 142239510
sde: vendor = COMPAQ
sde: product = MSA1000 VOLUME
sde: rev = 4.32
sde: h:b:t:l = 2:0:0:7
sde: tgt_node_name = 0x500805f300159870
sde: serial = P56350GX3RJ0FJ
sde: path checker = readsector0 (config file default)
sde: state = 2
sde: getprio = NULL (internal default)
sde: prio = 1
sde: getuid = /sbin/scsi_id -g -u -s /block/%n (config file default)
sde: uid = 3600805f3001598700000000086fc001b (callout)
sdf: not found in pathvec
sdf: mask = 0x1f
sdf: bus = 1
sdf: dev_t = 8:80
sdf: size = 71119755
sdf: vendor = COMPAQ
sdf: product = MSA1000 VOLUME
sdf: rev = 4.32
sdf: h:b:t:l = 2:0:0:8
sdf: tgt_node_name = 0x500805f300159870
sdf: serial = P56350GX3RJ0FJ
sdf: path checker = readsector0 (config file default)
sdf: state = 2
sdf: getprio = NULL (internal default)
sdf: prio = 1
sdf: getuid = /sbin/scsi_id -g -u -s /block/%n (config file default)
sdf: uid = 3600805f300159870000000000984001c (callout)
sdg: not found in pathvec
sdg: mask = 0x1f
sdg: bus = 1
sdg: dev_t = 8:96
sdg: size = 142239510
sdg: vendor = COMPAQ
sdg: product = MSA1000 VOLUME
sdg: rev = 4.32
sdg: h:b:t:l = 3:0:0:5
sdg: tgt_node_name = 0x500805f300159870
sdg: serial = P56350GX3RJ0FJ
sdg: path checker = readsector0 (config file default)
sdg: state = 2
sdg: getprio = NULL (internal default)
sdg: prio = 1
sdg: getuid = /sbin/scsi_id -g -u -s /block/%n (config file default)
sdg: uid = 3600805f30015987000000000768a0019 (callout)
sdh: not found in pathvec
sdh: mask = 0x1f
sdh: bus = 1
sdh: dev_t = 8:112
sdh: size = 142239510
sdh: vendor = COMPAQ
sdh: product = MSA1000 VOLUME
sdh: rev = 4.32
sdh: h:b:t:l = 3:0:0:6
sdh: tgt_node_name = 0x500805f300159870
sdh: serial = P56350GX3RJ0FJ
sdh: path checker = readsector0 (config file default)
sdh: state = 2
sdh: getprio = NULL (internal default)
sdh: prio = 1
sdh: getuid = /sbin/scsi_id -g -u -s /block/%n (config file default)
sdh: uid = 3600805f30015987000000000d643001a (callout)
sdi: not found in pathvec
sdi: mask = 0x1f
sdi: bus = 1
sdi: dev_t = 8:128
sdi: size = 142239510
sdi: vendor = COMPAQ
sdi: product = MSA1000 VOLUME
sdi: rev = 4.32
sdi: h:b:t:l = 3:0:0:7
sdi: tgt_node_name = 0x500805f300159870
sdi: serial = P56350GX3RJ0FJ
sdi: path checker = readsector0 (config file default)
sdi: state = 2
sdi: getprio = NULL (internal default)
sdi: prio = 1
sdi: getuid = /sbin/scsi_id -g -u -s /block/%n (config file default)
sdi: uid = 3600805f3001598700000000086fc001b (callout)
sdj: not found in pathvec
sdj: mask = 0x1f
sdj: bus = 1
sdj: dev_t = 8:144
sdj: size = 71119755
sdj: vendor = COMPAQ
sdj: product = MSA1000 VOLUME
sdj: rev = 4.32
sdj: h:b:t:l = 3:0:0:8
sdj: tgt_node_name = 0x500805f300159870
sdj: serial = P56350GX3RJ0FJ
sdj: path checker = readsector0 (config file default)
sdj: state = 2
sdj: getprio = NULL (internal default)
sdj: prio = 1
sdj: getuid = /sbin/scsi_id -g -u -s /block/%n (config file default)
sdj: uid = 3600805f300159870000000000984001c (callout)
===== paths list =====
uuid                              hcil    dev dev_t pri dm_st  chk_st  vend/pr
20010b9fc0813836e                 0:0:4:0 sda 8:0   1   [undef][ready] COMPAQ,
20010b9fc08148885                 0:0:6:0 sdb 8:16  1   [undef][ready] COMPAQ,
3600805f30015987000000000768a0019 2:0:0:5 sdc 8:32  1   [undef][ready] COMPAQ,
3600805f30015987000000000d643001a 2:0:0:6 sdd 8:48  1   [undef][ready] COMPAQ,
3600805f3001598700000000086fc001b 2:0:0:7 sde 8:64  1   [undef][ready] COMPAQ,
3600805f300159870000000000984001c 2:0:0:8 sdf 8:80  1   [undef][ready] COMPAQ,
3600805f30015987000000000768a0019 3:0:0:5 sdg 8:96  1   [undef][ready] COMPAQ,
3600805f30015987000000000d643001a 3:0:0:6 sdh 8:112 1   [undef][ready] COMPAQ,
3600805f3001598700000000086fc001b 3:0:0:7 sdi 8:128 1   [undef][ready] COMPAQ,
3600805f300159870000000000984001c 3:0:0:8 sdj 8:144 1   [undef][ready] COMPAQ,
params = 0 0 1 1 round-robin 0 2 1 8:48 1000 8:112 1000 
status = 1 0 0 1 1 A 0 2 0 8:48 A 0 8:112 A 0 
*word = 0, len = 1
*word = 0, len = 1
*word = 1, len = 1
*word = 1, len = 1
*word = round-robin, len = 11
*word = 0, len = 1
*word = 2, len = 1
*word = 1, len = 1
*word = 8:48, len = 4
*word = 1000, len = 4
*word = 8:112, len = 5
*word = 1000, len = 4
*word = 1, len = 1
*word = 0, len = 1
*word = 1, len = 1
*word = A, len = 1
*word = 2, len = 1
*word = 0, len = 1
*word = A, len = 1
*word = 0, len = 1
*word = A, len = 1
*word = 0, len = 1
params = 0 0 1 1 round-robin 0 2 1 8:32 1000 8:96 1000 
status = 1 0 0 1 1 A 0 2 0 8:32 A 0 8:96 A 0 
*word = 0, len = 1
*word = 0, len = 1
*word = 1, len = 1
*word = 1, len = 1
*word = round-robin, len = 11
*word = 0, len = 1
*word = 2, len = 1
*word = 1, len = 1
*word = 8:32, len = 4
*word = 1000, len = 4
*word = 8:96, len = 4
*word = 1000, len = 4
*word = 1, len = 1
*word = 0, len = 1
*word = 1, len = 1
*word = A, len = 1
*word = 2, len = 1
*word = 0, len = 1
*word = A, len = 1
*word = 0, len = 1
*word = A, len = 1
*word = 0, len = 1
params = 0 0 1 1 round-robin 0 2 1 8:80 1000 8:144 1000 
status = 1 0 0 1 1 A 0 2 0 8:80 A 0 8:144 A 0 
*word = 0, len = 1
*word = 0, len = 1
*word = 1, len = 1
*word = 1, len = 1
*word = round-robin, len = 11
*word = 0, len = 1
*word = 2, len = 1
*word = 1, len = 1
*word = 8:80, len = 4
*word = 1000, len = 4
*word = 8:144, len = 5
*word = 1000, len = 4
*word = 1, len = 1
*word = 0, len = 1
*word = 1, len = 1
*word = A, len = 1
*word = 2, len = 1
*word = 0, len = 1
*word = A, len = 1
*word = 0, len = 1
*word = A, len = 1
*word = 0, len = 1
params = 0 0 1 1 round-robin 0 2 1 8:64 1000 8:128 1000 
status = 1 0 0 1 1 A 0 2 0 8:64 A 0 8:128 A 0 
*word = 0, len = 1
*word = 0, len = 1
*word = 1, len = 1
*word = 1, len = 1
*word = round-robin, len = 11
*word = 0, len = 1
*word = 2, len = 1
*word = 1, len = 1
*word = 8:64, len = 4
*word = 1000, len = 4
*word = 8:128, len = 5
*word = 1000, len = 4
*word = 1, len = 1
*word = 0, len = 1
*word = 1, len = 1
*word = A, len = 1
*word = 2, len = 1
*word = 0, len = 1
*word = A, len = 1
*word = 0, len = 1
*word = A, len = 1
*word = 0, len = 1
20010b9fc0813836e: blacklisted
20010b9fc08148885: blacklisted
sdc: ownership set to oramp1
sdc: not found in pathvec
sdc: mask = 0xc
sdc: state = 2
sdc: prio = 1
sdg: ownership set to oramp1
sdg: not found in pathvec
sdg: mask = 0xc
sdg: state = 2
sdg: prio = 1
oramp1: pgfailover = -1 (internal default)
oramp1: pgpolicy = group_by_serial (controller setting)
oramp1: selector = round-robin 0 (internal default)
oramp1: features = 0 (internal default)
oramp1: hwhandler = 0 (internal default)
oramp1: rr_weight = 1 (internal default)
oramp1: minio = 1000 (config file default)
oramp1: no_path_retry = NONE (internal default)
pg_timeout = NONE (internal default)
oramp1: set ACT_NOTHING (map unchanged)
sdd: ownership set to oramp2
sdd: not found in pathvec
sdd: mask = 0xc
sdd: state = 2
sdd: prio = 1
sdh: ownership set to oramp2
sdh: not found in pathvec
sdh: mask = 0xc
sdh: state = 2
sdh: prio = 1
oramp2: pgfailover = -1 (internal default)
oramp2: pgpolicy = group_by_serial (controller setting)
oramp2: selector = round-robin 0 (internal default)
oramp2: features = 0 (internal default)
oramp2: hwhandler = 0 (internal default)
oramp2: rr_weight = 1 (internal default)
oramp2: minio = 1000 (config file default)
oramp2: no_path_retry = NONE (internal default)
pg_timeout = NONE (internal default)
oramp2: set ACT_NOTHING (map unchanged)
Found matching wwid [3600805f3001598700000000086fc001b] in bindings file.
Setting alias to mpath4
sde: ownership set to mpath4
sde: not found in pathvec
sde: mask = 0xc
sde: state = 2
sde: prio = 1
sdi: ownership set to mpath4
sdi: not found in pathvec
sdi: mask = 0xc
sdi: state = 2
sdi: prio = 1
mpath4: pgfailover = -1 (internal default)
mpath4: pgpolicy = group_by_serial (controller setting)
mpath4: selector = round-robin 0 (internal default)
mpath4: features = 0 (internal default)
mpath4: hwhandler = 0 (internal default)
mpath4: rr_weight = 1 (internal default)
mpath4: minio = 1000 (config file default)
mpath4: no_path_retry = NONE (internal default)
pg_timeout = NONE (internal default)
mpath4: set ACT_NOTHING (map unchanged)
Found matching wwid [3600805f300159870000000000984001c] in bindings file.
Setting alias to mpath5
sdf: ownership set to mpath5
sdf: not found in pathvec
sdf: mask = 0xc
sdf: state = 2
sdf: prio = 1
sdj: ownership set to mpath5
sdj: not found in pathvec
sdj: mask = 0xc
sdj: state = 2
sdj: prio = 1
mpath5: pgfailover = -1 (internal default)
mpath5: pgpolicy = group_by_serial (controller setting)
mpath5: selector = round-robin 0 (internal default)
mpath5: features = 0 (internal default)
mpath5: hwhandler = 0 (internal default)
mpath5: rr_weight = 1 (internal default)
mpath5: minio = 1000 (config file default)
mpath5: no_path_retry = NONE (internal default)
pg_timeout = NONE (internal default)
mpath5: set ACT_NOTHING (map unchanged)

Comment 1 Ben Marzinski 2007-06-12 22:28:12 UTC
The config file is wrong.

The multipaths subsections for the devices with user-friendly-names have a typo
"mulitpath" should be "multipath"