Wie korreliere ich /dev/sd-Geräte mit der Hardware, die sie repräsentieren?

Wie korreliere ich /dev/sd-Geräte mit der Hardware, die sie repräsentieren?

Ein Laufwerk beginnt zu versagen und ich kenne das Gerät nur anhand seiner /dev/sdbGerätedateibezeichnung. Wie kann ich diese Gerätedatei einem tatsächlichen Hardwaregerät zuordnen, um zu wissen, welches Laufwerk physisch ausgetauscht werden muss?

Bonus:/dev/disk/Was passiert, wenn ich und die Unterverzeichnisse bei dieser Installation nicht vorhanden sind ? (Was leider nicht der Fall ist)

Antwort1

Sie können hier nachschauen /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

Oder wenn Sie keines haben /sys, können Sie hier nachschauen /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

Antwort2

hdparm -i /dev/sdb

Dadurch sollten Sie die Modell- und Seriennummer des Laufwerks erhalten.

Antwort3

Wie der unnachahmliche Gilles sagtein dieser Antwort seines, wenn Ihr Kernel dies verwendet, udevkönnen Sie den udevadmfolgenden Befehl zum Abfragen eines Geräts verwenden:

udevadm info -n /dev/sda -a

(Leider wird in einigen Fällen [doppelt traurig ist, dass dies in diesem Fall für mich zutrifft] udev nicht verwendet und/oder udevadm ist nicht verfügbar.)

Antwort4

Ich habe 4 Methoden. Die erste ist die einfachste:

dmesg | egrep "sd[a-z]"

Bei den anderen bin ich nicht sicher, ob sie /dev/disk brauchen, außer bei diesem:

ls -lF /dev/disk/by-uuid

Die Anderen:

blkid -o list -c /dev/null

Und das Offensichtliche:

fdisk -l

verwandte Informationen