¿Qué unidad de disco duro es cuál?

38

Quiero saber qué unidad de disco duro corresponde a qué ruta de dispositivo. Es trivial hacer coincidir las estadísticas del disco duro (marca, tamaño) con la ruta de desarrollo, pero quiero más. Quiero saber qué unidad es cuál dentro de mi caso. ¿Cuál es una buena manera de obtener esta información?

Restricciones

  • Soy perezoso. No quiero desgarrar mi servidor para eliminar todas las unidades, luego volver a agregar una por una.
  • Los reinicios son aceptables.
  • Las unidades se juntan de manera inconveniente en la caja. La información de la etiqueta está oculta.
  • El caso puede ser abierto. La mayoría de los discos son SATA, por lo que en teoría son intercambiables en caliente. Desenchufar los cables es un juego justo.

Prima

Otorgaré la respuesta a la mejor / más fácil respuesta gui o cli, y daré una recompensa por la siguiente mejor respuesta del otro tipo. Yo prefiero una respuesta CLI, pero entiendo que mucha otra gente podrá apreciar un buen método de apuntar y hacer clic.

djeikyb
fuente

Respuestas:

26

hdparm -i /dev/sdX le proporciona el número de serie, que es la forma más simple que conozco para distinguir los discos duros de la misma marca y tamaño.

El número de serie normalmente se imprime en una etiqueta en el disco, por lo que aunque necesita abrir el estuche para encontrarlo, no es necesario desmontar la computadora.

Ejemplo:

$ sudo hdparm -i /dev/sdb | grep -i serial
 Model=SAMSUNG HD253GJ, FwRev=1AJ10001, SerialNo=S24JJ90Z505435

Si quieres más información lshw -c storage -c diskda la salida más legible. Son casi los mismos datos que Disk Utility, solo en formato de línea de comando.

Aquí hay un ejemplo anotado de la configuración más compleja a la que tengo acceso, con cuatro controladores de disco, siete discos duros, un DVD ROM y un disco USB.

La salida se ha reducido a tamaño para centrarse en las partes interesantes:

[server ~]$ sudo lshw -c storage -c disk
  *-storage   
  # a 2-port PCI-E SATA controller
       description: SATA controller
       product: 88SE9123 PCIe SATA 6.0 Gb/s controller
       vendor: Marvell Technology Group Ltd.
     *-disk
          description: ATA Disk
          product: WDC WD15EADS-00P
          vendor: Western Digital
  # 'physical id' corresponds to port number, first port is 0
          physical id: 0  
          logical name: /dev/sdg
          serial: WD-WMAVU0849124
          size: 1397GiB (1500GB)
     *-cdrom
          description: DVD reader
          product: BD-ROM BR-5100S
          vendor: Optiarc
          physical id: 1
          logical name: /dev/cdrom1
          logical name: /dev/dvd1
          logical name: /dev/scd0
          serial: [Optiarc BD-ROM BR-5100S 1.02 May20 ,2008
  *-storage
  # mobo controller for eSATA ports. Not used.
       description: SATA controller
       product: JMB362/JMB363 Serial ATA Controller
       vendor: JMicron Technology Corp.
  *-ide
  # mobo controller for IDE. Not used.
       description: IDE interface
       product: JMB362/JMB363 Serial ATA Controller
       vendor: JMicron Technology Corp.
  *-storage
  # the primary SATA controller, six ports
       description: SATA controller
       product: 82801JI (ICH10 Family) SATA AHCI Controller
       vendor: Intel Corporation
  # 'disk:0' means port 0, same as physical id
     *-disk:0
          description: ATA Disk
          product: WDC WD1600BEVS-0
          vendor: Western Digital
          physical id: 0
          logical name: /dev/sda
          serial: WD-WXEY08T58317
          size: 149GiB (160GB)
     *-disk:1
          description: ATA Disk
          product: ST32000542AS
          vendor: Seagate
          physical id: 1
          logical name: /dev/sdb
          serial: 5XW1RTDS
          size: 1863GiB (2TB)
     *-disk:2
          description: ATA Disk
          product: ST32000542AS
          vendor: Seagate
          physical id: 2
          logical name: /dev/sdc
          serial: 5XW23W0W
          size: 1863GiB (2TB)
     [...]
  *-scsi
  # the USB disk, as evidenced by the bus info 
       physical id: 1
       bus info: usb@1:1
       capabilities: emulated scsi-host
     *-disk
          description: SCSI Disk
          product: 10EAVS External
          vendor: WD
          physical id: 0.0.0
          logical name: /dev/sdh
          serial: WD-WCAU46029507
          size: 931GiB (1TB)

Creo que la Utilidad de Discos es más rápida de leer; La versión de línea de comandos tiene la ventaja de ser utilizable sobre ssh y en scripts.

Y sigo pensando que el número de serie es la solución más confiable :)

La "ID física" de cada unidad corresponde al lugar donde está conectada a la placa base. y comienza con 0. por lo que una identificación física de 2 significaría que la unidad está conectada al tercer puerto sata de su mobo u otro dispositivo aplicable.

jg-faustus
fuente
Interesante. Es bueno tener la serie / etiqueta, pero en mi caso los discos están repletos en un soporte que bloquea la vista de la etiqueta. Lo mejor que puedo hacer es rastrear los cables. No vi nada hdparm -iinmediatamente útil, pero tendré que leer la página de manual para ver si no puedo obtener más información.
djeikyb
Jaja, la serie es de hecho la más confiable, pero esto proporciona el mapa útil del reconocimiento de dispositivos Linux -> conexiones físicas ... a través de una interfaz de línea de comandos. ¡Gracias!
djeikyb
34

Utilidad de disco

Esta es una aplicación GUI que le dará información sobre el modelo, el tamaño, el número de serie y la ruta del dispositivo de sus unidades. Se instala por defecto en el escritorio de Ubuntu. Puede presionar el botón Ubuntu Dash y buscar "utilidad de disco" para encontrarlo, o ejecutarlo en la terminal con palimpsest.

Utilidad de disco

Alano
fuente
44
y solo necesitas usar una mano y un dedo, eso es lo que yo llamo conservación de energía "salvar el planeta usa la utilidad de disco"
Allan
44
Creo que esta será la respuesta, con "Ubicación: Puerto X del adaptador de host SATA" como la característica más importante. Sin embargo, también me encantaría ver algunas respuestas cli. Octavian y Faustus tienen soluciones interesantes en ese sentido
djeikyb
18

Abra la caja y escuche las unidades con una copia enrollada de "The Linux Journal". Luego, ejecute un dd en cada unidad para generar ruido de disco.

Nota: ¡esto no funcionará en SSD!

jjg
fuente
2
Estetoscopio ftw
Jeremy
1
Me encanta esta respuesta Prefiero el resultado técnico de palimpsesty lshw, pero este es un tercio cercano.
djeikyb
Los SSD no generan ruido. Además, la solución no funcionará si tiene más de una unidad y hay otros procesos que leen de dos unidades simultáneamente.
Sergiy Kolodyazhnyy
Además, esto no ayudará si está trabajando con un servidor remoto a través de ssho RDP
Sergiy Kolodyazhnyy
2
¿Qué podría ser ese sonido de "silbido"?
jjg
10

Puede obtener esa información de / sys (o / dev, para el caso):

anthony@Zia:~$ ls -l /sys/block/ | grep sd.
lrwxrwxrwx 1 root root 0 Feb 25 13:30 sda -> ../devices/pci0000:00/0000:00:1f.2/host2/target2:0:0/2:0:0:0/block/sda
lrwxrwxrwx 1 root root 0 Feb 25 13:30 sdb -> ../devices/pci0000:00/0000:00:1f.2/host3/target3:0:0/3:0:0:0/block/sdb
lrwxrwxrwx 1 root root 0 Feb 25 13:30 sdc -> ../devices/pci0000:00/0000:00:1f.2/host4/target4:0:0/4:0:0:0/block/sdc
lrwxrwxrwx 1 root root 0 Feb 25 13:30 sdd -> ../devices/pci0000:00/0000:00:1f.2/host5/target5:0:0/5:0:0:0/block/sdd

Entonces, puedes ver que mis cuatro discos están en puertos (hosts / objetivos) 2 a 5.

También puedes hacer ls -l on /dev/disk/by-pathy verlo allí.

derobert
fuente
2
+1 para acceder a la información básica de / sys y / dev. Todavía me gusta más la información agregada de las soluciones aceptadas, pero saber cómo obtener y leer la información base es invaluable. Esta es una parte faltante de la respuesta más amplia que @ jg-faustus y @Allan dieron
djeikyb
De hecho, si ejecuta strace -e trace=open lsblky strace -e trace=open lsblk, esa es exactamente la información que se está leyendo. Esta respuesta merece más votos a favor.
Sergiy Kolodyazhnyy
8

Recomiendo hwinfo --disk.

Esto enumerará toda la información relevante para sus discos duros. Si necesita más información sobre sus particiones, puede usarla hwinfo --partition.

Puede combinar los dos anteriores con la --shortopción de obtener una representación más corta.

Octavian A. Damiean
fuente
Esto parece muy prometedor, especialmente las líneas SysFS y Device Files, pero no estoy seguro de cómo traducirlas al inglés.
djeikyb
5

Hardinfo es una GUI que le permitirá recopilar la información de su sistema, que puede incluir, entre otros, los dispositivos de almacenamiento conectados físicamente y los sistemas de archivos, como se muestra en las siguientes capturas de pantalla:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Sitio web de Hardinfo: http://hardinfo.berlios.de/HomePage

Geppettvs D'Constanzo
fuente
4
  • cat /proc/partitions muestra particiones / disco detectados por el núcleo, puede averiguar por el tamaño

ingrese la descripción de la imagen aquí

  • smartctl -i /dev/sda

ingrese la descripción de la imagen aquí

chorro
fuente
3

La forma más rápida y fácil

1. Abra Gnome-Terminal

2. Ingrese sudo blkid

3. Ingrese la contraseña

4. Le dirá qué unidad es cuál en un formato fácil de leer

era878
fuente
2

Si quieres un camino sin poder ver las etiquetas, que yo sepa, ninguna de las otras respuestas lo hace. Desmontaría todas las unidades (si es posible, puede que tenga que arrancar desde un CD en vivo para hacer esto). Todas las unidades ahora deberían girar hacia abajo. Luego puede montar cada uno progresivamente y escuchar o sentir cuál gira. De esta manera, solo necesita la tapa de su estuche, pero no necesita ver las etiquetas, lo cual es bueno si están enredados.

Simples

Slipstream
fuente
1

Pregunta central:

Quiero saber qué unidad de disco duro corresponde a qué ruta de dispositivo.

Enfoques de línea de comando

  1. El enfoque básico y más práctico es mediante el examen del /dev/sistema de archivos. Hay varios directorios /dev/disk/que contienen enlaces simbólicos a los archivos del dispositivo, y esos directorios están organizados en el UUID, id, ruta en el /syssistema de archivos y etiqueta (si el dispositivo / partición tiene uno). Por ejemplo, conociendo el UUID de la unidad que deseo encontrar, podría hacer algo como esto:

    $ find /dev/disk/by-uuid/ -mindepth 1 -printf "%p >>> %l\n"
    /dev/disk/by-uuid/8e344ab1-5eb5-4e20-becd-4147fffd439f >>> ../../sdb6
    /dev/disk/by-uuid/483CDA9D3CDA84FA >>> ../../sdb5
    /dev/disk/by-uuid/32AE5766AE5721A1 >>> ../../sdb4
    /dev/disk/by-uuid/7852-5217 >>> ../../sdb2
    /dev/disk/by-uuid/D668510B6850EC2D >>> ../../sdb1
    /dev/disk/by-uuid/B8E453D4E453940A >>> ../../sdb3
    /dev/disk/by-uuid/86df21bf-d95f-435c-9292-273bdbcba056 >>> ../../sda1
    
  2. Ubuntu viene por defecto con UDisksel administrador de discos. Tiene un par de utilidades que uno puede usar. La información del método n. ° 1 ya se analiza para la conveniencia del usuario. Por ejemplo, para encontrar simplemente qué dispositivo corresponde a qué modelo de disco duro, podríamos hacer esto:

    $ udisksctl  status
    MODEL                     REVISION  SERIAL               DEVICE
    --------------------------------------------------------------------------
    Radeon R7                 1.01      A22MD061520000172    sda     
    TOSHIBA MQ01ABF050        AM0P3M    Z4GRCSXAT            sdb     
    

    Se puede obtener información avanzada a través udisksctl info -b /dev/sda1de un dispositivo específico o udisksctl dumpde todos los dispositivos. udisksctl monitorse puede usar para conectar / desconectar las unidades físicamente.

En particular, si desea hacer coincidir UUID con una unidad específica, puede filtrar udisksctl infocon grep:

    $ udisksctl info -b /dev/sda1 | grep 'IdUUID:\|Id:'                                                   
    Id:                         by-id-ata-Radeon_R7_A22MD061520000172-part1
    IdUUID:                     86df21bf-d95f-435c-9292-273bdbcba056

Enfoques GUI:

Utilizando la información que se UDisksenvía al bus de comunicación entre procesos conocido como dbus, he escrito un indicador para Ubuntu con el escritorio de Unity (aunque también se puede usar en otros). Originalmente se escribió para el Indicador de uso del sistema de archivos (consulte el enlace para obtener instrucciones de instalación). Permite visualizar la información de todas las unidades montadas convenientemente y algunas otras características, como hacer clic en la partición / dispositivo y abrir el directorio correspondiente en el administrador de archivos.

ingrese la descripción de la imagen aquí

Sergiy Kolodyazhnyy
fuente
Hay mucha buena información aquí. Pero su consejo de dev / sys fs plantea la pregunta: "¿Cómo sé qué disco físico tiene una partición con este uuid?". Que es lo que pregunté en primer lugar.
djeikyb
@djeikyb Esa es una de las cosas que estaba resolviendo mientras trabajaba en el indicador que mencioné, y udisksctlprobablemente sea el enfoque más simple: puede filtrarlo con grep para las líneas de dispositivo + UUID. Lo editaré en mi pregunta. En cuanto a las soluciones personalizadas, eso, por supuesto, puede ser programado con perl o python o incluso script de shell, donde lo atraviesa /dev/disk/by-idy lo combina con enlaces simbólicos /dev/disk/by-uuid.
Sergiy Kolodyazhnyy
@djeikyb Entonces, básicamente, quieres saber qué conectores usa cada unidad, ¿verdad? y sin saber el modelo o el disco duro?
Sergiy Kolodyazhnyy
@djeikyb Lo he leído y se centran en el número de serie de cada disco. . .que es lo que también proporcioné en udisksctl statusparte.
Sergiy Kolodyazhnyy
@djeikyb Interesante. La Utilidad de Discos Predeterminada palimpset, aparentemente ha sido renombrada como gnome-disks-utility, pero ya no tiene la "Ubicación". Al menos no en 16.04 que estoy corriendo
Sergiy Kolodyazhnyy