problems with scsi device id and scsi_id
I have been using multipath for some time to handle fibre connections to my san. After upgrading the systems to centos5 (from centos4), multipathing ceased to work because of changes in udev and the unique ids returned by scsi_id. This change happened between versions 077 and 078.
In version 077, both paths return the same id:
[root@sys-app101 ~]# udev-077/extras/scsi_id/scsi_id -g -u -s /block/sdg 36000402001fc11026fdcd8b200000000
[root@sys-app101 ~]# udev-077/extras/scsi_id/scsi_id -g -u -s /block/sdw 36000402001fc11026fdcd8b200000000
In version 078, the paths return different ids:
[root@sys-app101 ~]# udev-078/extras/scsi_id/scsi_id -g -u -s /block/sdg 3010383106000402001fc11026fdcd8b2000000000114460402000000 [root@sys-app101 ~]# udev-078/extras/scsi_id/scsi_id -g -u -s /block/sdw 3010383106000402001fc11026fdcd8b2000000000114460401000000
This is a problem because multipath uses `/sbin/scsi_id -g -u -s /block/%n' to probe each path for a particular device. Is this an intentional change of behavior and is there a new/better way to identify two paths pointing to the same device? Is there any consequence of replacing my system scsi_id binary (095) with one build from an older version of udev? System info follows.
Thanks in advance,
Matt Harrington
[root@sys-app101 udev-078]# uname -a
Linux sys-app101.eons.dev 2.6.18-8.1.10.el5.centos.plus #1 SMP Tue Sep 18 05:08:16 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux
[root@sys-app101 ~]# cat /etc/udev/udev.conf
# udev.conf
# The initial syslog(3) priority: "err", "info", "debug" or its
# numerical equivalent. For runtime debugging, the daemons internal # state can be changed with: "udevcontrol log_priority=<value>". udev_log="err"
[root@sys-app101 ~]# cat /etc/scsi_id.config
#
# scsi_id configuration
#
# lower or upper case has no affect on the left side. Quotes (") are
# required for spaces in values. Model is the same as the SCSI
# INQUIRY product identification field. Per the SCSI INQUIRY, the vendor
# is limited to 8 bytes, model to 16 bytes.
#
# The first matching line found is used. Short matches match longer ones,
# if you do not want such a match space fill the extra bytes. If no model
# is specified, only the vendor string need match.
#
# options=<any scsi_id command line options>
# vendor=string[,model=string],options=<per-device scsi_id options># some libata drives require vpd page 0x80 vendor="ATA",options=-p 0x80
[root@sys-app101 ~]# udev-077/extras/scsi_id/scsi_id -v -g -u -s /block/sdgset_options: option 'g'set_options: option 'u'set_options: option 's' arg '/block/sdg'scsi_id: target_path /sys/block/sdgscsi_id: class_dev 0x0xbfb0010; class_dev_parent 0x(nil)create_tmp_dev: (sdg)get_major_minor: dev value 8:96create_tmp_dev: tmpdev '/dev/tmp-scsi-maj8-min96-17247'get_file_options: vendor='NEXSAN
'; model='SATABeast
'get_file_options: config file line 17: vendor 'ATA'; model '(null)'; options '-p 0x80'get_file_options: no matchscsi_id: per dev options: good 1; page code 0x0; callout ''scsi_id: buffer unaligned 0x0xbfb0c90; aligned 0x0xbfb0e00scsi_get_serial: opening /dev/tmp-scsi-maj8-min96-17247scsi_inquiry: 1:0:0:10 evpd 1, page 0x0scsi_get_serial: 1:0:0:10: Checking page0scsi_inquiry: 1:0:0:10 evpd 1, page 0x83do_scsi_page83_inquiry: 1:0:0:10 id desc 3/6/1do_scsi_page83_inquiry: used36000402001fc11026fdcd8b200000000
scsi_id: 36000402001fc11026fdcd8b200000000
[root@sys-app101 ~]# udev-077/extras/scsi_id/scsi_id -v -g -u -s /block/sdwset_options: option 'g'set_options: option 'u'set_options: option 's' arg '/block/sdw'scsi_id: target_path /sys/block/sdwscsi_id: class_dev 0x0x10567010; class_dev_parent 0x(nil)create_tmp_dev: (sdw)get_major_minor: dev value 65:96create_tmp_dev: tmpdev '/dev/tmp-scsi-maj65-min96-17248'get_file_options: vendor='NEXSAN
'; model='SATABeast
'get_file_options: config file line 17: vendor 'ATA'; model '(null)'; options '-p 0x80'get_file_options: no matchscsi_id: per dev options: good 1; page code 0x0; callout ''scsi_id: buffer unaligned 0x0x10567c90; aligned 0x0x10567e00scsi_get_serial: opening /dev/tmp-scsi-maj65-min96-17248scsi_inquiry: 2:0:2:10 evpd 1, page 0x0scsi_get_serial: 2:0:2:10: Checking page0scsi_inquiry: 2:0:2:10 evpd 1, page 0x83do_scsi_page83_inquiry: 2:0:2:10 id desc 3/6/1do_scsi_page83_inquiry: used36000402001fc11026fdcd8b200000000scsi_id: 36000402001fc11026fdcd8b200000000
[root@sys-app101 ~]# udev-078/extras/scsi_id/scsi_id -v -g -u -s /block/sdgset_options: option 'g'set_options: option 'u'set_options: option 's' arg '/block/sdg'scsi_id: target_path /sys/block/sdgscsi_id: class_dev 0x0x3d9b010; class_dev_parent 0x(nil)create_tmp_dev: (sdg)get_major_minor: dev value 8:96create_tmp_dev: tmpdev '/dev/tmp-scsi-maj8-min96-17249'get_file_options: vendor='NEXSAN
'; model='SATABeast
'get_file_options: config file line 17: vendor 'ATA'; model '(null)'; options '-p 0x80'get_file_options: no matchscsi_id: per dev options: good 1; page code 0x0; callout ''scsi_id: buffer unaligned 0x0x3d9bc90; aligned 0x0x3d9be00scsi_get_serial: opening /dev/tmp-scsi-maj8-min96-17249scsi_inquiry: 1:0:0:10 evpd 1, page 0x0scsi_get_serial: 1:0:0:10: Checking page0scsi_inquiry: 1:0:0:10 evpd 1, page 0x83check_fill_0x83_prespc3: using pre-spc3-83 for 1:0:0:10. 3010383106000402001fc11026fdcd8b2000000000114460402000000scsi_id: 3010383106000402001fc11026fdcd8b2000000000114460402000000
[root@sys-app101 ~]# udev-078/extras/scsi_id/scsi_id -v -g -u -s /block/sdwset_options: option 'g'set_options: option 'u'set_options: option 's' arg '/block/sdw'scsi_id: target_path /sys/block/sdwscsi_id: class_dev 0x0xce8d010; class_dev_parent 0x(nil)create_tmp_dev: (sdw)get_major_minor: dev value 65:96create_tmp_dev: tmpdev '/dev/tmp-scsi-maj65-min96-17250'get_file_options: vendor='NEXSAN
'; model='SATABeast
'get_file_options: config file line 17: vendor 'ATA'; model '(null)'; options '-p 0x80'get_file_options: no matchscsi_id: per dev options: good 1; page code 0x0; callout ''scsi_id: buffer unaligned 0x0xce8dc90; aligned 0x0xce8de00scsi_get_serial: opening /dev/tmp-scsi-maj65-min96-17250scsi_inquiry: 2:0:2:10 evpd 1, page 0x0scsi_get_serial: 2:0:2:10: Checking page0scsi_inquiry: 2:0:2:10 evpd 1, page 0x83check_fill_0x83_prespc3: using pre-spc3-83 for 2:0:2:10. 3010383106000402001fc11026fdcd8b2000000000114460401000000scsi_id: 3010383106000402001fc11026fdcd8b2000000000114460401000000
-------------------------------------------------------------------------
SF.Net email is sponsored by: The Future of Linux Business White Paper from Novell. From the desktop to the data center, Linux is going mainstream. Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel