Quel disque dur est lequel?

38

Je veux savoir quel lecteur de disque dur correspond à quel chemin de périphérique. Il est trivial de faire correspondre les statistiques du disque dur (marque, taille) avec le chemin du dev, mais je veux plus. Je veux savoir quel lecteur est lequel dans mon boîtier. Quel est le bon moyen d'obtenir ces informations?

Contraintes

  • Je suis paresseux. Je ne veux pas déchirer mon serveur pour retirer tous les lecteurs, puis rajouter un par un.
  • Les redémarrages sont acceptables.
  • Les disques sont mal serrés ensemble dans le boîtier. Les informations de l'étiquette sont masquées.
  • L'affaire peut être ouverte. La plupart des disques sont SATA, donc théoriquement échangeables à chaud. Débrancher les câbles est un jeu équitable.

Prime

J'attribuerai la réponse à la meilleure réponse ou la plus facile des réponses gui ou cli, et une prime à la meilleure réponse suivante. Je préfère une réponse Cli, mais je comprends que beaucoup d'autres personnes apprécieront une bonne méthode de pointer-cliquer.

djeikyb
la source

Réponses:

26

hdparm -i /dev/sdX vous donne le numéro de série, qui est le moyen le plus simple que je connaisse pour distinguer les disques durs de la même marque et de la même taille.

Le numéro de série est normalement imprimé sur une étiquette du disque. Par conséquent, bien que vous ayez besoin d'ouvrir le boîtier pour le retrouver, il n'est pas nécessaire de démonter l'ordinateur.

Exemple:

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

Si vous voulez plus d'informations lshw -c storage -c diskdonne la sortie la plus lisible. Ce sont à peu près les mêmes données que l'Utilitaire de disque, juste en format de ligne de commande.

Voici un exemple annoté de la configuration la plus complexe à laquelle j'ai accès, avec quatre contrôleurs de disque, sept disques durs, un DVD-ROM et un disque USB.

La sortie a été réduite à la taille pour se concentrer sur les parties intéressantes:

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

Je pense que l'utilitaire de disque est plus rapide à lire; la version en ligne de commande a l'avantage d'être utilisable sur ssh et dans des scripts.

Et je pense toujours que le numéro de série est la solution la plus fiable :)

L '"ID physique" de chaque lecteur correspond à l'endroit où il est connecté à la carte mère. et commence par 0. Un ID physique de 2 signifie donc que le lecteur est connecté au troisième port SATA de votre mobo ou de tout autre appareil compatible.

jg-faustus
la source
Intéressant. Le numéro de série / étiquette est agréable, mais dans mon scénario, les disques sont entassés dans un support qui bloque l’autocollant. Le mieux que je puisse faire est de suivre les câbles. Je n'ai rien vu d' hdparm -iutile immédiatement utile, mais je vais devoir lire la page de manuel pour voir si je ne peux pas obtenir plus d'informations.
djeikyb
Haha, la série est certes la plus fiable, mais cela donne la carte utile de la reconnaissance de périphérique Linux -> connexions physiques ... via une interface de ligne de commande. Merci!
djeikyb
34

Utilitaire de disque

Ceci est une application graphique qui vous donnera des informations sur le modèle, la taille, le numéro de série et le chemin d'accès de vos lecteurs. Il est installé par défaut sur Ubuntu Desktop. Vous pouvez appuyer sur le bouton Ubuntu Dash et rechercher "l'utilitaire de disque" pour le trouver, ou l'exécuter dans le terminal avec palimpsest.

Utilitaire de disque

Allan
la source
4
et vous n'avez besoin que d'une main et d'un doigt, c'est ce que j'appelle la conservation de l'énergie: "Sauvez l'utilitaire de disque d'utilisation de la planète"
Allan
4
Je pense que ce sera la réponse, avec "Emplacement: le port X de la carte hôte SATA" étant la fonctionnalité qui tue. J'aimerais bien voir des réponses de cli aussi. Octavian & Faustus ont des solutions intéressantes dans ce sens
djeikyb
18

Ouvrez le boîtier et écoutez les disques avec une copie enroulée de "The Linux Journal". Ensuite, exécutez tour à tour un disque sur chaque lecteur pour générer du bruit de disque.

Remarque: cela ne fonctionnera pas sur les SSD!

jjg
la source
2
Stéthoscope ftw
Jeremy
1
J'adore cette réponse. Je préfère le rendement technique de palimpsestet lshw, mais c'est un tiers proche.
djeikyb
Les SSD ne génèrent pas de bruit. En outre, la solution ne fonctionnera pas si vous avez plusieurs lecteurs et que d'autres processus lisent simultanément sur deux lecteurs.
Commentaires
En outre, cela ne va pas aider si vous travaillez avec un serveur distant via sshou RDP
Sergiy Kolodyazhnyy
2
Qu'est-ce que ce "whooshing" sonne?
Jjg
10

Vous pouvez obtenir cette information à partir de / sys (ou de / dev, d'ailleurs):

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

Ainsi, vous pouvez voir que mes quatre disques sont sur des ports (hôtes / cibles) 2 à 5.

Vous pouvez également faire le ls -l /dev/disk/by-pathet le voir là.

derobert
la source
2
+1 pour accéder aux informations de base à partir de / sys et / dev. J'aime toujours mieux les informations globales des solutions acceptées, mais savoir comment obtenir et lire les informations de base est inestimable. Ceci est une partie manquante de la réponse plus large que @ jg-faustus et @allan ont donnée
djeikyb
En fait, si vous exécutez strace -e trace=open lsblket strace -e trace=open lsblk, ce sont exactement les données en cours de lecture. Cette réponse mérite plus de votes positifs.
Sergiy Kolodyazhnyy
8

Je recommande hwinfo --disk.

Cela listera toutes les informations pertinentes pour vos disques durs. Si vous avez besoin de plus d'informations sur vos partitions, vous pouvez les utiliser hwinfo --partition.

Vous pouvez combiner les deux éléments ci-dessus avec l' --shortoption permettant d'obtenir une représentation plus courte.

Octavian A. Damiean
la source
Cela semble le plus prometteur, en particulier les lignes SysFS et Device Files, mais je ne sais pas comment les traduire en anglais.
djeikyb
5

Hardinfo est une interface graphique qui vous permettra de collecter les informations de votre système, qui peuvent inclure, sans toutefois s'y limiter, les périphériques de stockage et les systèmes de fichiers connectés physiquement, comme illustré dans les captures d'écran suivantes:

entrez la description de l'image ici

entrez la description de l'image ici

Site Web Hardinfo: http://hardinfo.berlios.de/HomePage

Geppettvs D'Constanzo
la source
4
  • cat /proc/partitions afficher les partitions / disques détectés par le noyau, vous pouvez déterminer par la taille

entrez la description de l'image ici

  • smartctl -i /dev/sda

entrez la description de l'image ici

jet
la source
3

Le moyen le plus rapide et le plus simple

1. Ouvrez Gnome-Terminal

2. Entrez sudo blkid

3. Entrez le mot de passe

4. Il vous dira quel lecteur est lequel dans un format facile à lire

era878
la source
2

Si vous voulez un moyen sans être capable de voir les étiquettes, ce qui, pour autant que je sache, ne le fait pas. Je démonterais tous les lecteurs (si possible, vous devrez peut-être démarrer à partir d'un cd live pour le faire). Tous les lecteurs doivent maintenant ralentir. Vous pouvez ensuite monter progressivement chacun d'eux et écouter ou sentir celui qui tourne. De cette façon, vous n’avez besoin que du couvercle de votre étui, mais vous n’avez pas besoin de voir les étiquettes, ce qui est bien si elles sont emmêlées.

Simples

Slipstream
la source
1

Question centrale:

Je veux savoir quel lecteur de disque dur correspond à quel chemin de périphérique.

Approches en ligne de commande

  1. Une approche de base et plus pratique consiste à examiner le /dev/système de fichiers. Plusieurs répertoires /dev/disk/contiennent des liens symboliques vers des fichiers de périphérique, et ces répertoires sont organisés en UUID, id, chemin dans le /syssystème de fichiers et libellé (si périphérique / partition en a un). Par exemple, connaissant l'UUID du lecteur que je souhaite trouver, je pourrais faire quelque chose comme ceci:

    $ 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 vient par défaut avec UDisksle gestionnaire de disque. Il a quelques utilitaires, on peut utiliser. Les informations de la méthode n ° 1 sont déjà analysées pour la commodité de l'utilisateur. Par exemple, pour trouver simplement quel périphérique correspond à quel modèle de disque dur, nous pourrions faire ceci:

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

    Des informations avancées peuvent être obtenues via udisksctl info -b /dev/sda1un appareil spécifique ou udisksctl dumppour tous les appareils. udisksctl monitorpeut être utilisé pour connecter / déconnecter les disques physiquement.

En particulier, si vous souhaitez faire correspondre UUID avec un lecteur spécifique, vous pouvez filtrer udisksctl infoavec grep:

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

Approches GUI:

En utilisant les informations fournies UDiskssur le bus de communication interprocessus dbus, j'ai écrit un indicateur pour le bureau Ubuntu avec Unity (bien qu'il puisse également être utilisé sur d'autres). A l'origine, il était écrit pour l' indicateur d'utilisation du système de fichiers (voir le lien pour les instructions d'installation). Il permet d’afficher facilement les informations de tous les lecteurs montés et de quelques autres fonctionnalités, telles que cliquer sur une partition / un périphérique et ouvrir le répertoire correspondant dans le gestionnaire de fichiers.

entrez la description de l'image ici

Sergiy Kolodyazhnyy
la source
Il y a beaucoup de bonnes informations ici. Mais votre conseil dev / sys fs pose la question: "comment savoir quel disque physique a une partition avec cet uuid". C'est ce que j'ai demandé en premier lieu.
djeikyb
@djeikyb C'est en fait l'une des choses que j'ai résolues en travaillant sur l'indicateur que j'ai mentionné, et udisksctlc'est probablement l'approche la plus simple: vous pouvez le filtrer avec grep pour les lignes device + UUID. Je vais le modifier dans ma question. En ce qui concerne les solutions personnalisées, cela peut bien sûr être scripté avec perl ou python ou même un script shell, où vous pouvez le faire /dev/disk/by-idcorrespondre avec des liens symboliques dans /dev/disk/by-uuid.
Sergiy Kolodyazhnyy
@djeikyb Donc, vous voulez essentiellement savoir quels connecteurs sont utilisés par quel lecteur, n'est-ce pas? et sans connaître le modèle ou le disque dur?
Sergiy Kolodyazhnyy
@djeikyb J'ai lu cela, et ils se concentrent sur le numéro de série de chaque disque. . .qu’est ce que j’ai également fourni en udisksctl statuspartie.
Commentaires
@djeikyb Intéressant. L'utilitaire par défaut des disques palimpset, a apparemment été renommé en gnome-disks-utilitymais ne contient plus l'emplacement.
Du