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érique | Type | Exemple |
---|---|---|
/dev/sda | Disque SATA/SCSI principal | |
/dev/sdb1 | Première partition du second disque | |
/dev/nvme0n1 | Disque SSD NVMe | |
/dev/nvme0n1p1 | Premiè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 :
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 :
sudo apt install lshw hwinfo
- Sur Red Hat, CentOS :
sudo yum install lshw hwinfo
- Sur openSUSE :
sudo zypper install lshw hwinfo
Utilisation de lshw -class disk
Pour lister uniquement les disques physiques :
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é :
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
:
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 :
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
) :
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 :
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 :
lsblk
ou
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 :
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 :
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 :
lsblk
Exemple de sortie :
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 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
:
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT,UUID
Exemple :
NAME SIZE FSTYPE TYPE MOUNTPOINT UUIDsda 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 :
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.