J'ai écrit une ligne basée sur la réponse de Tobi Hahn.
Par exemple, vous voulez savoir quel appareil signifie ata3 :
ata=3; ls -l /sys/block/sd* | grep $(grep $ata /sys/class/scsi_host/host*/unique_id | awk -F'/' '{print $5}')
Cela produira quelque chose comme ça
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
Utilisez cette commande :
ls -l /sys/block/sd* | sed 's/.*\(sd.*\) -.*\(ata.*\)\/h.*/\2 => \1/'
Sur mon système, cela produit la sortie :
ata1 => sda
ata2 => sdb
ata3 => sdc
ata4 => sdd
ata7 => sde
ata8 => sdf
Cela fonctionnera même si tous les disques ont le même modèle de lecteur (entre ces 6 disques, il n'y a que deux modèles différents). Notez que cela dépend de la dénomination sysfs et fonctionne dans mon noyau 3.10.17. Je sais qu'à un moment donné dans le passé, il n'était pas aussi simple de récupérer les mappages, mais je ne sais pas pour quelle version du noyau cela fonctionnera.
Si cela ne fonctionne pas pour vous, consultez ce lien pour une manière plus détournée de déterminer les mappages :http://www.miriup.de/index.php?option=com_content&view=article&id=84:mapping-linux-kernel- ata-errors-to-a-device&catid=8:linux&Itemid=25
Il s'avère que faire la cartographie était plus facile que je ne le pensais.
dmesg | grep ata2 | head
donne le mappage du noyau du lecteur pendant le processus de démarrage. Ou vous pouvez simplement opter pour ata2.00
tout de suite.
[ 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)
Comme vous pouvez le voir, l'une de ces lignes contient le numéro de modèle de mon lecteur (ST31000340NS
) que je peux ensuite utiliser pour mapper sur un /dev
fichier :
$ readlink /dev/disk/by-id/*ST31000340NS* | head -n1
../../sda