[CentOS] How to map ata#.# numbers to /dev/sd numbers?
Robert Heller
heller at deepsoft.com
Fri Jan 29 00:18:36 UTC 2010
At Thu, 28 Jan 2010 17:05:41 -0500 CentOS mailing list <centos at centos.org> wrote:
>
> [ Sorry to merge messages; I appear to have lost Peter's post, so I'm
> replying to Peter and Mark in the same message ]
>
> Peter Kjellstrom wrote:
> > > On Thursday 28 January 2010, Stephen Harris wrote:
> > >> to determine what ata7.01 maps to in terms of /dev/sd# values?
>
> > > This seems quite hard to do. The following hack will match scsi hosts to
> > > libata-driver + number:
>
> Hmm, interesting:
>
> % for d in /sys/class/scsi_host/host*
> do
> echo "$d $(cat $d/proc_name) $(cat $d/unique_id)"
> done
> /sys/class/scsi_host/host0 ahci 1
> /sys/class/scsi_host/host1 ahci 2
> /sys/class/scsi_host/host2 ahci 3
> /sys/class/scsi_host/host3 ahci 4
> /sys/class/scsi_host/host4 ahci 5
> /sys/class/scsi_host/host5 ahci 6
> /sys/class/scsi_host/host6 sata_sil24 7
> /sys/class/scsi_host/host7 sata_sil24 8
> /sys/class/scsi_host/host8 usb-storage 0
>
> So in this case ata7 appears to map to host6. Now the usb-storage entry
> looks odd. Do I have to magically know that ahci and sata_sil24 both map
> to "ata" entries?
>
> >From lsscsi I see, for host 6
> [6:0:0:0] disk ATA ST31000340AS SD15 /dev/sdc
> [6:1:0:0] disk ATA ST31000340AS SD15 /dev/sdd
> [6:2:0:0] disk ATA ST31000340AS SD15 /dev/sde
> [6:3:0:0] disk ATA ST31000340AS AD14 /dev/sdf
>
> So I have to guess the second number in ata#.# represents the LUN of the
> device on that bus, so ata7.1 -> host6 -> [6:1:0:0] -> sdd
>
> This looks like an unreliable method of detection. But it may be possible!
>
> m.roth at 5-cent.us wrote:
> > Have you checked dmesg? For example,
>
> Yeah, but dmesg has two problems that I can think of
> 1) it may disappear if the number of kernel messages grows sufficiently
> large
/var/log/dmesg
>
> 2) The ID number wasn't obvious
> scsi6 : sata_sil24
> scsi7 : sata_sil24
> ata7: SATA max UDMA/100 host m128 at 0xfe7fbf80 port 0xfe7fc000 irq 169
> ata8: SATA max UDMA/100 host m128 at 0xfe7fbf80 port 0xfe7fe000 irq 169
>
> How does that tell me ata7 matches scsi6? We can't rely on ordering
> (see below).
Ata numbers seem to start with 1 (one) and scsi hosts start with 0
(zero), so, ataN => scsi<N-1>, unless you either have real SCSI
controllers or PATA controllers that use SCSI-flavored drivers. The USB
drivers will be loaded later, so the USB disks will have higher SCSI
host numners.
>
> Further,
>
> ata7: SATA link up 3.0 Gbps (SStatus 123 SControl 0)
> ata7.15: Port Multiplier 1.1, 0x1095:0x3726 r23, 6 ports, feat 0x1/0x9
> ata7.00: hard resetting link
> ata7.00: SATA link up 1.5 Gbps (SStatus 113 SControl 320)
> ata7.01: hard resetting link
> ata7.01: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
> ata7.02: hard resetting link
> ata7.02: SATA link up 1.5 Gbps (SStatus 113 SControl 0)
> ata7.03: hard resetting link
> floppy0: no floppy controllers found
> ata7.03: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
> ata7.04: hard resetting link
> ata7.04: SATA link down (SStatus 0 SControl 320)
> ata7.05: hard resetting link
> ata7.05: SATA link up 1.5 Gbps (SStatus 113 SControl 320)
> ata7.00: ATA-8: ST31000340AS, SD15, max UDMA/133
> ata7.00: 1953525168 sectors, multi 16: LBA48 NCQ (depth 31/32)
> ata7.00: configured for UDMA/100
> ata7.01: ATA-8: ST31000340AS, SD15, max UDMA/133
> ata7.01: 1953525168 sectors, multi 0: LBA48 NCQ (depth 31/32)
> ata7.01: configured for UDMA/100
> ata7.02: ATA-8: ST31000340AS, SD15, max UDMA/133
> ata7.02: 1953525168 sectors, multi 0: LBA48 NCQ (depth 31/32)
> ata7.02: configured for UDMA/100
> ata7.03: ATA-8: ST31000340AS, AD14, max UDMA/133
> ata7.03: 1953525168 sectors, multi 0: LBA48 NCQ (depth 31/32)
> ata7.03: configured for UDMA/100
> ata7: EH complete
> Vendor: Maxtor Model: 6Y120P0 Rev: YAR4
> Type: Direct-Access ANSI SCSI revision: 02
> SCSI device sdb: 240121728 512-byte hdwr sectors (122942 MB)
> sdb: Write Protect is off
> sdb: Mode Sense: 53 00 00 08
> sdb: assuming drive cache: write through
> SCSI device sdb: 240121728 512-byte hdwr sectors (122942 MB)
> sdb: Write Protect is off
> sdb: Mode Sense: 53 00 00 08
> sdb: assuming drive cache: write through
> sdb:<6>ata8: SATA link up 3.0 Gbps (SStatus 123 SControl 0)
> ata8.15: Port Multiplier 1.1, 0x1095:0x3726 r23, 6 ports, feat 0x1/0x9
> ata8.00: hard resetting link
> ata8.00: SATA link up 1.5 Gbps (SStatus 113 SControl 320)
>
> As can be seen, different parts of detection appear to be interleaved
> (floppy detection message, sdb detection message - disk in a USB disk
> enclosure!) so I can't seem to rely on ordering of messages in dmesg to
> accurately determine which device has been assigned what ID.
>
> dmesg really gets messy when you have lots of disks!
>
> Thanks for the feedback so far!
>
--
Robert Heller -- 978-544-6933
Deepwoods Software -- Download the Model Railroad System
http://www.deepsoft.com/ -- Binaries for Linux and MS-Windows
heller at deepsoft.com -- http://www.deepsoft.com/ModelRailroadSystem/
More information about the CentOS
mailing list