Ho scritto una battuta sulla base della risposta di Tobi Hahn.
Ad esempio, vuoi sapere quale dispositivo sta per ata3:
ata=3; ls -l /sys/block/sd* | grep $(grep $ata /sys/class/scsi_host/host*/unique_id | awk -F'/' '{print $5}')
Produrrà qualcosa di simile
lrwxrwxrwx 1 root root 0 Jan 15 15:30 /sys/block/sde -> ../devices/pci0000:00/0000:00:1f.5/host2/target2:0:0/2:0:0:0/block/sde
Usa questo comando:
ls -l /sys/block/sd* | sed 's/.*\(sd.*\) -.*\(ata.*\)\/h.*/\2 => \1/'
Sul mio sistema questo produce l'output:
ata1 => sda
ata2 => sdb
ata3 => sdc
ata4 => sdd
ata7 => sde
ata8 => sdf
Funzionerà anche se tutti i dischi hanno lo stesso modello di unità (tra quei 6 dischi ci sono solo due modelli diversi). Nota che questo dipende dalla denominazione di sysfs e funziona nel mio kernel 3.10.17. So che a un certo punto in passato non era così pulito recuperare le mappature, ma non sono sicuro di quale sia la prima versione del kernel per cui funzionerà.
Se non funziona per te, vedi questo link per un modo più indiretto di determinare le mappature:http://www.miriup.de/index.php?option=com_content&view=article&id=84:mapping-linux-kernel- errori-ata-su-un-dispositivo&catid=8:linux&Itemid=25
È venuto fuori che eseguire la mappatura è stato più facile di quanto pensassi.
dmesg | grep ata2 | head
fornisce la mappatura dell'unità da parte del kernel durante il processo di avvio. Oppure potresti semplicemente scegliere ata2.00
subito.
[ 2.448300] ata2: SATA max UDMA/133 abar [email protected] port 0xfeb0b180 irq 19
[ 2.940139] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[ 2.942143] ata2.00: ATA-8: ST31000340NS, SN05, max UDMA/133
[ 2.942149] ata2.00: 1953525168 sectors, multi 16: LBA48 NCQ (depth 31/32)
[ 2.944573] ata2.00: configured for UDMA/133
(and some stuff I'd rather never have to see about drive errors)
Come puoi vedere, una di queste righe contiene il numero del modello della mia unità (ST31000340NS
) che posso quindi utilizzare per mappare a un /dev
file:
$ readlink /dev/disk/by-id/*ST31000340NS* | head -n1
../../sda