Un lecteur commence à tomber en panne et je ne connais le périphérique que par son /dev/sdb
désignation du fichier du périphérique. Quels sont les moyens que je peux utiliser pour corréler ce fichier de périphérique à un périphérique matériel réel pour savoir quel lecteur remplacer physiquement?
Bonus: Et si je n'ai pas /dev/disk/
et ses sous-répertoires sur cette installation? (Ce qui, malheureusement, je ne le fais pas)
Vous pouvez regarder dans /sys/block
:
-bash-3.2$ ls -ld /sys/block/sd*/device
lrwxrwxrwx 1 root root 0 Jun 8 21:09 /sys/block/sda/device -> ../../devices/pci0000:00/0000:00:1f.2/Host0/target0:0:0/0:0:0:0
lrwxrwxrwx 1 root root 0 Jun 8 21:10 /sys/block/sdb/device -> ../../devices/pci0000:00/0000:00:1f.2/Host1/target1:0:0/1:0:0:0
lrwxrwxrwx 1 root root 0 Jun 8 21:10 /sys/block/sdc/device -> ../../devices/pci0000:00/0000:00:1f.2/Host2/target2:0:0/2:0:0:0
lrwxrwxrwx 1 root root 0 Jun 8 21:10 /sys/block/sdd/device -> ../../devices/pci0000:00/0000:00:1f.2/Host3/target3:0:0/3:0:0:0
Ou si vous n'avez pas /sys
, vous pouvez regarder /proc/scsi/scsi
:
-bash-3.2$ cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: ST31000340AS Rev: SD1A
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: ST31000340AS Rev: SD1A
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi2 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: ST31000340AS Rev: SD1A
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi3 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: ST31000340AS Rev: SD1A
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi4 Channel: 00 Id: 00 Lun: 00
Vendor: PepperC Model: Virtual Disc 1 Rev: 0.01
Type: CD-ROM ANSI SCSI revision: 03
hdparm -i /dev/sdb
Cela devrait vous donner le modèle et le numéro de série du lecteur.
Comme l'inimitable Gilles l'a mentionné dans cette réponse , si votre noyau utilise udev
vous pouvez utiliser la commande udevadm
pour interroger un périphérique:
udevadm info -n /dev/sda -a
(Malheureusement, dans certains cas [doublement triste, c'est vrai dans ce cas pour moi] udev n'est pas utilisé et/ou udevadm n'est pas disponible.)
Si vous pouvez voir le voyant du lecteur ou écouter le bruit du disque, vous pouvez exécuter
Sudo cat /dev/sdb >/dev/null
et voyez quel disque devient soudainement continuellement actif. Ou, si vous allez par le bruit,
Sudo find /mount/point >/dev/null
ce qui fera bouger davantage les têtes (il peut être préférable de ne pas le faire sur le disque défaillant, et d'utiliser à la place un processus d'élimination avec les autres disques).
J'ai 4 méthodes. Le premier est le plus simple:
dmesg | egrep "sd[a-z]"
Pour les autres, je ne sais pas s'ils ont besoin de/dev/disk sauf pour celui-ci:
ls -lF /dev/disk/by-uuid
Les autres:
blkid -o list -c /dev/null
Et l'évidence:
fdisk -l
En supposant qu'il s'agit de Linux, la chose la plus évidente est de vérifier dans dmesg où le noyau initialise le périphérique pour la première fois. Il enregistre le modèle de lecteur.
Voici quelques moyens que je connais pour trouver le nom du périphérique SCSI
dmesg | egrep "sd[a-z]"
lsblk --scsi
(du paquet util-linux> = v2.22)lshw -C disk
ls -ld /sys/block/sd*/device