Aller au contenu

Identifier les disques sous Linux

Mise à jour :

Sous Linux, la bonne gestion du stockage commence par une étape essentielle : identifier précisément les disques présents sur le système. Que ce soit pour monter une nouvelle partition, remplacer un disque défectueux ou configurer un RAID, savoir lire les informations fournies par le système est indispensable. Plusieurs outils, du plus simple au plus avancé, permettent d’obtenir ces données rapidement et efficacement.

Comprendre l’architecture de stockage sous Linux

Sous Linux, chaque disque et partition est représenté comme un fichier spécial dans le répertoire /dev. Ce modèle d’abstraction permet au système d’accéder au matériel de manière uniforme, qu’il s’agisse d’un disque dur SATA, d’un SSD NVMe ou d’un périphérique USB.

Comment Linux reconnaît les périphériques de stockage

Lorsque le noyau détecte un périphérique de stockage, il lui assigne automatiquement un nom en suivant une convention standard. Cette reconnaissance est basée sur l’ordre de détection et non sur l’emplacement physique.

Les types de périphériques courants sont :

  • Disques SATA/SCSI : nommés /dev/sdX (où X est une lettre : a, b, c…)
  • Disques NVMe : nommés /dev/nvmeXnY (X : contrôleur, Y : namespace)
  • Clés USB : traitées souvent comme des disques /dev/sdX
  • Volumes logiques LVM : sous /dev/mapper/

Le système attribue aussi automatiquement des entrées pour les partitions individuelles. Par exemple :

  • /dev/sda1 : première partition du disque /dev/sda
  • /dev/sdb3 : troisième partition du disque /dev/sdb

Nommage des disques

Voici un aperçu du schéma de nommage :

PériphériqueTypeExemple
/dev/sdaDisque SATA/SCSI principal
/dev/sdb1Première partition du second disque
/dev/nvme0n1Disque SSD NVMe
/dev/nvme0n1p1Première partition sur un disque NVMe

À noter : le système de nommage basé sur /dev/sdX peut changer au redémarrage si l’ordre de détection évolue. Pour éviter toute ambiguïté, il est conseillé d’utiliser les UUID (identifiants uniques) ou les labels pour identifier les systèmes de fichiers.

Pour lister rapidement les fichiers de périphériques liés aux disques :

Terminal window
ls /dev/sd*
ls /dev/nvme*

Chaque outil que nous verrons ensuite repose sur cette structure pour extraire et présenter les informations relatives aux disques et partitions.

Scanner et identifier avec lshw et hwinfo

Pour obtenir une description complète du matériel de stockage sous Linux, des outils comme lshw et hwinfo permettent d’accéder à des informations détaillées sur les disques physiques, bien au-delà de ce que propose lsblk ou /proc/partitions.

Installation rapide de lshw et hwinfo

Selon la distribution utilisée, il peut être nécessaire d’installer ces outils :

  • Sur Debian, Ubuntu :
Terminal window
sudo apt install lshw hwinfo
  • Sur Red Hat, CentOS :
Terminal window
sudo yum install lshw hwinfo
  • Sur openSUSE :
Terminal window
sudo zypper install lshw hwinfo

Utilisation de lshw -class disk

Pour lister uniquement les disques physiques :

Terminal window
sudo lshw -class disk

Exemple de sortie simplifiée :

*-disk
description: ATA Disk
product: Samsung SSD 870
vendor: Samsung
physical id: 0.0.0
bus info: scsi@2:0.0.0
logical name: /dev/sda
size: 500GiB
capabilities: partitioned partitioned:dos
configuration: logicalsectorsize=512 sectorsize=512

Informations obtenues :

  • Fabricant (vendor)
  • Modèle (product)
  • Taille (size)
  • Interface (bus info)
  • Nom logique (logical name)

lshw permet ainsi de faire l’inventaire complet du stockage, utile pour documenter une installation ou préparer une migration.

Utilisation de hwinfo --disk

Sur certaines distributions comme openSUSE, hwinfo est préféré pour sa rapidité et son exhaustivité :

Terminal window
sudo hwinfo --disk

Exemple de sortie :

Disk Info:
Model: "Samsung SSD 870"
Device: /dev/sda
Size: 500 GB
Driver: "ahci"

hwinfo donne également :

  • Le modèle du disque
  • La capacité
  • Le pilote utilisé
  • Le chemin du périphérique

Astuce : pour une sortie encore plus lisible, utilisez l’option --short :

Terminal window
sudo hwinfo --disk --short

Ces outils permettent de connaître précisément les caractéristiques matérielles des disques Linux, ce qui est essentiel pour toute opération d’administration système avancée.

Identifier un nouveau disque branché

Lorsqu’un nouveau disque est connecté à un système Linux, il n’est pas toujours automatiquement visible dans les outils standards. Plusieurs commandes permettent de détecter et forcer la reconnaissance du périphérique sans redémarrage.

Recharger la liste des disques avec partprobe

La commande partprobe informe le noyau des nouvelles tables de partition, ce qui permet d’éviter un redémarrage :

Terminal window
sudo partprobe

Cette commande lit la table de partition de tous les disques présents et met à jour leur reconnaissance dans /proc/partitions et via lsblk.

Pour cibler un disque spécifique (exemple /dev/sdb) :

Terminal window
sudo partprobe /dev/sdb

Utiliser dmesg | grep sd pour suivre l’apparition

Pour voir en direct les messages du noyau concernant la détection d’un nouveau disque :

Terminal window
dmesg | grep sd

Exemple d’affichage après avoir branché un disque USB :

[ 1234.567890] sd 6:0:0:0: [sdb] Attached SCSI removable disk

Informations récupérées :

  • Le périphérique détecté (sdb)
  • Le type de bus (SCSI pour un disque USB par exemple)
  • Le moment précis de la détection

dmesg est extrêmement utile pour valider rapidement que le matériel a été physiquement reconnu par le système.

Cas particulier des disques USB

Lorsqu’un disque USB est branché :

  • Linux attribue un nom comme /dev/sdb, /dev/sdc, etc.
  • Un sous-système de gestion automatique (udev) peut également monter automatiquement la partition si un environnement graphique est présent.

Pour vérifier immédiatement la présence du nouveau disque :

Terminal window
lsblk

ou

Terminal window
sudo fdisk -l

Si le disque n’apparaît toujours pas, il peut être nécessaire de vérifier les logs plus en détail :

Terminal window
sudo journalctl -xe | grep usb

En utilisant ces outils, il devient facile de identifier rapidement un nouveau disque connecté à un serveur ou une station de travail sous Linux.

Lire les informations brutes avec /proc/partitions

Le fichier /proc/partitions offre un moyen direct et léger d’obtenir une vue brute des disques et partitions connus du noyau Linux. Ce fichier est généré dynamiquement à chaque démarrage et mis à jour en temps réel lorsque de nouveaux périphériques sont détectés.

Accéder à /proc/partitions

Pour consulter le contenu de ce fichier, il suffit d’utiliser la commande suivante :

Terminal window
cat /proc/partitions

L’affichage typique ressemble à ceci :

major minor #blocks name
8 0 488386584 sda
8 1 524288 sda1
8 2 10240000 sda2
8 3 477038592 sda3

Chaque ligne correspond à un disque ou à une partition détectée.

Interpréter les colonnes : major, minor, blocks, name

Voici comment lire les colonnes :

  • major : numéro majeur du pilote du périphérique (identifie le type de périphérique)
  • minor : numéro mineur (identifie l’instance spécifique du périphérique)
  • #blocks : nombre de blocs de 1024 octets (soit la taille de la partition/disque)
  • name : nom du périphérique tel qu’affiché dans /dev

Par exemple, sda représente un disque entier, tandis que sda1, sda2, sda3 représentent ses partitions.

Limites de cette méthode

Bien que pratique, l’utilisation de /proc/partitions présente plusieurs limitations :

  • Pas d’information sur les systèmes de fichiers (ext4, xfs, btrfs…)
  • Pas d’affichage des points de montage (où le disque est intégré dans l’arborescence)
  • Pas d’identifiants uniques comme les UUID
  • Pas de type de disque (SATA, NVMe, USB…)

Pour aller au-delà de cette vue brute, il est recommandé d’utiliser des outils comme lsblk, blkid ou lshw, qui fournissent des informations enrichies.

Utiliser lsblk pour une vue arborescente

L’outil lsblk est l’un des plus efficaces pour visualiser l’organisation des disques sous Linux. Il fournit une représentation en arborescence, facile à lire, des périphériques de stockage, de leurs partitions et de leurs volumes logiques.

Commande de base lsblk

Pour afficher la liste complète des disques et partitions :

Terminal window
lsblk

Exemple de sortie :

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 500G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 50G 0 part /
└─sda3 8:3 0 449G 0 part /home

Chaque ligne représente :

  • disk : disque entier (ex: sda)
  • part : partition individuelle (ex: sda1, sda2)
  • lvm : volume logique si LVM est utilisé

Les colonnes principales sont :

  • NAME : nom du périphérique
  • SIZE : taille du disque ou de la partition
  • TYPE : type d’élément (disk, part, lvm)
  • MOUNTPOINT : point de montage si applicable

Afficher des colonnes personnalisées (-o)

Pour afficher des informations plus détaillées, comme le type de système de fichiers et les UUID, utilisez l’option -o :

Terminal window
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT,UUID

Exemple :

NAME SIZE FSTYPE TYPE MOUNTPOINT UUID
sda 500G disk
├─sda1 512M vfat part /boot/efi 1234-ABCD
├─sda2 50G ext4 part / 5678-EFGH
└─sda3 449G ext4 part /home 9ABC-DEF0

Cette vue enrichie est particulièrement utile pour :

  • Vérifier rapidement le type de système de fichiers
  • Identifier le UUID pour une utilisation dans /etc/fstab
  • Comprendre l’arborescence du stockage

Lire les types de périphériques : disk, part, lvm

lsblk distingue clairement les différents types de structures de stockage :

  • disk : disque brut sans partition
  • part : partition définie sur un disque
  • lvm : volume logique géré par LVM
  • rom : lecteur optique (CD/DVD)

Utiliser lsblk permet ainsi une lecture rapide et intuitive de la configuration actuelle des disques sous Linux, avant toute intervention de partitionnement ou de montage.

Bonnes pratiques pour l’administration disque

La gestion efficace des disques sous Linux ne se limite pas à leur détection. Pour assurer la fiabilité et la pérennité des systèmes, certaines bonnes pratiques doivent être appliquées au quotidien.

Documenter la configuration du stockage

Il est indispensable de garder une trace de la configuration actuelle des disques et partitions :

  • Utiliser lsblk -o NAME,SIZE,FSTYPE,UUID pour obtenir une cartographie complète
  • Sauvegarder le fichier /etc/fstab après toute modification
  • Noter les UUID importants et les points de montage critiques
  • En environnement serveur, générer régulièrement un inventaire matériel (lshw, hwinfo)

Exemple de commande pour documenter rapidement :

Terminal window
lsblk -o NAME,SIZE,FSTYPE,UUID > ~/inventaire_disques.txt

Conclusion

L’identification précise des disques sous Linux est une étape essentielle pour toute opération de gestion du stockage. Grâce aux outils comme lsblk, blkid, lshw ou encore smartctl, il est désormais facile de connaître l’état et la structure de vos disques. Vous êtes maintenant prêt à aller plus loin : passer au partitionnement, configurer les montages dans /etc/fstab, ou même explorer des solutions plus avancées comme LVM pour une gestion flexible et dynamique de votre stockage.