¿Cómo correlaciono los dispositivos /dev/sd con el hardware que representan?

¿Cómo correlaciono los dispositivos /dev/sd con el hardware que representan?

Una unidad está empezando a fallar y solo conozco el dispositivo por su /dev/sdbdesignación de archivo. ¿Cuáles son las formas que puedo utilizar para correlacionar ese archivo de dispositivo con un dispositivo de hardware real para saber qué unidad reemplazar físicamente?

Prima:¿Qué pasa si no tengo /dev/disk/sus subdirectorios en esta instalación? (Lo cual, lamentablemente, no hago)

Respuesta1

Puedes mirar en /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

O si no lo tienes /syspuedes mirar /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

Respuesta2

hdparm -i /dev/sdb

Eso debería darle el modelo y el número de serie de la unidad.

Respuesta3

Como mencionó el inimitable Gillesen esta respuesta suya, si su kernel lo usa, udevpuede usar el udevadmcomando para interrogar a un dispositivo:

udevadm info -n /dev/sda -a

(Lamentablemente, en algunos casos [doblemente triste es que en este caso es cierto para mí] udev no se usa y/o udevadm no está disponible).

Respuesta4

Tengo 4 métodos. El primero es el más fácil:

dmesg | egrep "sd[a-z]"

Para los demás, no estoy seguro de si necesitan /dev/disk excepto este:

ls -lF /dev/disk/by-uuid

Los demás:

blkid -o list -c /dev/null

Y lo obvio:

fdisk -l

información relacionada