Quale unità disco fisso è quale?


38

Voglio sapere quale unità disco fisso corrisponde a quale percorso del dispositivo. È banale abbinare le statistiche del disco rigido (marca, dimensioni) con il percorso di sviluppo, ma ne voglio di più. Voglio sapere quale unità è quale nel mio caso. Qual è un buon modo per ottenere queste informazioni?

vincoli

  • Io sono pigro. Non voglio fare a pezzi il mio server per rimuovere tutte le unità, quindi aggiungerle una ad una.
  • I riavvii sono accettabili.
  • Le unità vengono scomposte inavvertitamente nel case. Le informazioni sull'etichetta sono nascoste.
  • Il caso può essere aperto. La maggior parte dei dischi sono SATA, quindi teoricamente sostituibili a caldo. Scollegare i cavi è un gioco equo.

indennità

Assegnerò la risposta alla risposta gui / cli migliore / più semplice e darò una generosità alla prossima risposta migliore dell'altro tipo. Io preferisco una risposta cli, ma capisco che un sacco di altre persone potranno apprezzare un buon metodo point-and-click.

Risposte:


26

hdparm -i /dev/sdX ti dà il numero seriale, che è il modo più semplice che conosco per distinguere i dischi rigidi della stessa marca e dimensione.

Il numero seriale è normalmente stampato su un'etichetta sul disco, quindi anche se è necessario aprire la custodia per trovarlo, non è necessario smontare il computer.

Esempio:

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

Se si desidera ulteriori informazioni, si lshw -c storage -c diskottiene l'output più leggibile. Sono praticamente gli stessi dati di Utility Disco, solo nel formato da riga di comando.

Ecco un esempio annotato dalla configurazione più complessa a cui ho accesso, con quattro controller di disco, sette dischi rigidi, un DVD ROM e un disco USB.

L'output è stato ridimensionato per concentrarsi sulle parti interessanti:

[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)

Penso che l'Utility Disco sia più veloce da leggere; la versione da riga di comando ha il vantaggio di essere utilizzabile su ssh e negli script.

E penso ancora che il numero di serie sia la soluzione più affidabile :)

L '"ID fisico" di ogni unità corrisponde a dove è collegato alla scheda madre. e inizia con 0. quindi un ID fisico di 2 significherebbe che l'unità è collegata alla terza porta sata del tuo mobo o altro dispositivo applicabile.


Interessante. Il serial / label è bello da avere, ma nel mio scenario i dischi sono stipati in un supporto che blocca la visualizzazione dell'adesivo. Il meglio che posso fare è tracciare i cavi. Non ho visto nulla di hdparm -iimmediatamente utile, ma dovrò leggere la pagina man per vedere se non riesco a ottenere maggiori informazioni da esso.
djeikyb,

Haha, il seriale è davvero molto affidabile, ma questo fornisce l'utile mappa del riconoscimento dei dispositivi linux -> collegamenti fisici ... attraverso un'interfaccia a riga di comando. Grazie!
djeikyb,

34

Utilità disco

Questa è un'applicazione GUI che ti darà informazioni su modello, dimensioni, numero di serie e percorso del dispositivo delle tue unità. È installato di default sul desktop di Ubuntu. È possibile premere il pulsante Ubuntu Dash e cercare "utilità disco" per trovarlo, oppure eseguirlo nel terminale con palimpsest.

Utilità disco


4
e hai solo bisogno di usare una mano e un dito, questo è ciò che chiamo conservazione dell'energia "salva il pianeta, usa l'utilità del disco"
Allan,

4
Penso che questa sarà la risposta, con "Posizione: Porta X dell'adattatore per host SATA" come caratteristica killer. Mi piacerebbe vedere anche alcune risposte di cli. Ottaviano e Faust hanno soluzioni interessanti in tal senso
djeikyb,

18

Apri il case e ascolta le unità con una copia arrotolata di "The Linux Journal". Quindi eseguire un dd su ogni unità a turno per generare del rumore del disco.

Nota: questo non funzionerà su SSD!


2
Stetoscopio ftw
Jeremy

1
Adoro questa risposta. Preferisco l'output tecnico di palimpseste lshw, ma questo è un terzo vicino.
djeikyb,

Gli SSD non generano rumore. Inoltre, la soluzione non funzionerà se si dispone di più di un'unità e ci sono altri processi che leggono da due unità contemporaneamente.
Sergiy Kolodyazhnyy,

Inoltre, questo non aiuta se stai lavorando con un server remoto tramite ssho RDP
Sergiy Kolodyazhnyy,

2
Cosa potrebbe essere quel suono "whooshing"?
giovedì

10

Puoi ottenere tali informazioni da / sys (o / dev, per quella materia):

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

Quindi, puoi vedere i miei quattro dischi sono sulle porte (host / destinazioni) da 2 a 5.

Puoi anche fare ls -l /dev/disk/by-pathe vederlo lì.


2
+1 per accedere alle informazioni di base da / sys e / dev. Mi piacciono ancora meglio le informazioni aggregate delle soluzioni accettate, ma sapere come ottenere e leggere le informazioni di base è inestimabile. Questa è una parte mancante della risposta più ampia che @ jg-faustus e @Allan hanno dato
djeikyb l'

In effetti, se corri strace -e trace=open lsblke strace -e trace=open lsblk, sono esattamente i dati che vengono letti. Questa risposta merita più voti.
Sergiy Kolodyazhnyy,

8

Mi raccomando hwinfo --disk.

Questo elencherà tutte le informazioni rilevanti per i tuoi dischi rigidi. Se hai bisogno di maggiori informazioni sulle tue partizioni puoi usare hwinfo --partition.

È possibile combinare entrambi i precedenti con l' --shortopzione per ottenere una rappresentazione più breve.


Sembra molto promettente, in particolare le linee SysFS e Device Files, ma non sono sicuro di come tradurle in inglese.
djeikyb,

5

Hardinfo è una GUI che ti permetterà di raccogliere le informazioni del tuo sistema, che possono includere, ma non solo, i dispositivi di archiviazione fisicamente collegati e i file system, come mostrato nelle schermate successive:

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Sito web di Hardinfo: http://hardinfo.berlios.de/HomePage


4
  • cat /proc/partitions mostra partizioni / disco rilevati dal kernel, puoi capire dalla dimensione

inserisci qui la descrizione dell'immagine

  • smartctl -i /dev/sda

inserisci qui la descrizione dell'immagine


3

Modo più rapido e semplice

1. Apri Gnome-Terminal

2. Enter sudo blkid

3. Immettere la password

4. Ti dirà quale unità è quale in un formato di facile lettura


2

Se vuoi un modo senza riuscire a vedere le etichette, cosa che per quanto ne so nessuna delle altre risposte. Smonterei tutte le unità (se possibile, potrebbe essere necessario eseguire l'avvio da un cd live per farlo). Tutte le unità dovrebbero ora girare verso il basso. È quindi possibile montare progressivamente ciascuno di essi e ascoltare o sentire quale si gira. In questo modo hai solo bisogno del coperchio della custodia ma non hai bisogno di vedere le etichette che sono belle se sono tutte aggrovigliate.

semplici


1

Domanda chiave:

Voglio sapere quale unità disco fisso corrisponde a quale percorso del dispositivo.

Approcci da riga di comando

  1. L'approccio di base e più pratico è tramite l'esame del /dev/filesystem. Esistono diverse directory in /dev/disk/cui sono presenti collegamenti simbolici ai file del dispositivo e tali directory sono organizzate sull'UUID, sull'ID, sul percorso nel /sysfile system e sull'etichetta (se dispositivo / partizione ne ha uno). Ad esempio, conoscendo l'UUID dell'unità che desidero trovare, potrei fare qualcosa del genere:

    $ 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 fornito di default con UDisksGestione disco. Ha un paio di utility che si possono usare. Le informazioni dal metodo n. 1 sono già analizzate per comodità dell'utente. Ad esempio, per trovare semplicemente quale dispositivo corrisponde a quale modello di disco rigido, potremmo farlo:

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

    Informazioni avanzate possono essere ottenute tramite udisksctl info -b /dev/sda1per dispositivo specifico o udisksctl dumpper tutti i dispositivi. udisksctl monitorpuò essere utilizzato per collegare / scollegare fisicamente le unità.

In particolare, se si desidera abbinare l'UUID a un'unità specifica, è possibile filtrare 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

Approcci della GUI:

Utilizzando le informazioni che vengono UDisksinviate sul bus di comunicazione tra processi noto come dbus, ho scritto un indicatore per Ubuntu con desktop Unity (anche se può essere utilizzato anche su altri). Originariamente era stato scritto per l' indicatore di utilizzo del file system (consultare il collegamento per le istruzioni di installazione). Permette di visualizzare comodamente le informazioni per tutte le unità montate e alcune altre funzionalità, come fare clic sulla partizione / dispositivo e aprire la directory corrispondente nel file manager.

inserisci qui la descrizione dell'immagine


Ci sono molte buone informazioni qui. Ma il tuo consiglio dev / sys fs pone la domanda: "come faccio a sapere quale disco fisico ha una partizione con questo uuid". È quello che ho chiesto in primo luogo.
djeikyb,

@djeikyb Questa è in realtà una delle cose che stavo risolvendo mentre lavoravo sull'indicatore che ho menzionato, ed udisksctlè probabilmente l'approccio più semplice: puoi filtrarlo con grep per il dispositivo + linee UUID. Lo modificherò nella mia domanda. Per quanto riguarda le soluzioni personalizzate, questo ovviamente può essere scritto con script perl o python o anche shell, dove lo attraversi /dev/disk/by-ide lo abbini con collegamenti simbolici /dev/disk/by-uuid.
Sergiy Kolodyazhnyy,

@djeikyb Quindi, in pratica, vuoi sapere quali connettori vengono utilizzati da quale unità, giusto? e senza conoscere il modello o il disco rigido?
Sergiy Kolodyazhnyy,

@djeikyb L'ho letto e si concentrano sul numero seriale di ciascun disco. . .che è anche quello che ho fornito in udisksctl statusparte.
Sergiy Kolodyazhnyy,

@djeikyb Interessante. L'utility Disks predefinita palimpset, è stata apparentemente rinominata come gnome-disks-utility, ma non ha più la "Posizione". Almeno non nel 16.04 che sto correndo
Sergiy Kolodyazhnyy il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.