Aller au contenu

Gestion des disques sous Linux

Mise à jour :

Sous Linux, la gestion des disques est une compétence essentielle pour tout administrateur système. Elle englobe l’identification des périphériques, le partitionnement, le montage, ainsi que l’utilisation d’outils puissants comme LVM. Grâce à des commandes simples et des utilitaires graphiques, il est possible d’optimiser l’espace de stockage, sécuriser les données et surveiller l’état des disques pour prévenir les pannes. Ce guide vous accompagne étape par étape pour maîtriser toutes les facettes de la gestion des disques sous Linux.

Comment gérer les disques sous Linux ?

Sous Linux, la gestion des disques repose sur une architecture spécifique et très cohérente. Tous les périphériques de stockage, qu’ils soient internes, externes ou virtuels, sont représentés dans le système de fichiers sous forme de périphériques de bloc. Comprendre cette structure est la première étape pour un administrateur système débutant.

Les différents types de disques et leurs noms de devices

Chaque disque branché sur un système Linux est représenté par un fichier spécial dans le dossier /dev. Selon le type de périphérique, la convention de nommage change :

1. Disques durs classiques (HDD) et SSD SATA

Les disques connectés via une interface SATA utilisent une notation simple :

  • Disque : /dev/sdX (où X est une lettre croissante)
  • Partition : /dev/sdX1, /dev/sdX2, etc.

Exemples :

  • /dev/sda : premier disque SATA détecté
  • /dev/sdb1 : première partition du second disque

Pour lister les disques présents sur le système, on utilise la commande lsblk.

2. Disques SSD NVMe

Les disques NVMe (rapides et modernes, connectés sur PCIe) sont nommés ainsi :

  • Disque : /dev/nvmeXnY
  • Partition : /dev/nvmeXnYp1, /dev/nvmeXnYp2

Exemples :

  • /dev/nvme0n1 : premier disque NVMe
  • /dev/nvme0n1p1 : première partition

Particularité : un p est inséré avant le numéro de partition pour éviter toute confusion.

3. Clés USB et disques durs externes

Les périphériques USB suivent la même logique que les disques SATA :

  • Disque : /dev/sdX
  • Partition : /dev/sdX1

Exemple :

  • /dev/sdc1 : première partition d’une clé USB branchée

Pour vérifier quel disque est nouvellement branché :

Terminal window
dmesg | grep -i usb

4. Disques virtuels et périphériques spéciaux

En virtualisation ou avec certaines technologies Linux, d’autres types apparaissent :

  • loop devices (/dev/loopX) : fichiers montés comme disques (images ISO, snapshots).
  • RAM disks (/dev/ramX) : disques temporaires créés en mémoire.
  • md devices (/dev/mdX) : ensembles RAID créés par mdadm.
  • dm devices (/dev/mapper/...) : volumes gérés par LVM ou disques chiffrés.

Exemples :

  • /dev/loop0 : fichier monté
  • /dev/ram1 : second disque RAM
  • /dev/md0 : premier volume RAID logiciel
  • /dev/mapper/crypt-home : volume chiffré de /home

Résumé des types de devices

Type de disqueExemple de nom sous /devDescription rapide
HDD/SSD SATA/dev/sda, /dev/sdb1Disques classiques, partitions simples
SSD NVMe/dev/nvme0n1p1Disques PCIe très rapides
Clé/disque USB/dev/sdc1Supports de stockage amovibles
Image disque (loop)/dev/loop0Fichiers montés comme disques
RAID logiciel (md)/dev/md0Ensemble RAID logiciel
LVM/Chiffrement (dm)/dev/mapper/vg0-homeVolumes logiques ou disques chiffrés

Systèmes de fichiers : organiser les données

Un système de fichiers est une méthode pour stocker et organiser les fichiers sur un disque. Linux prend en charge plusieurs systèmes de fichiers, adaptés à divers usages :

  • EXT4 : standard pour les systèmes Linux modernes.
  • XFS : efficace pour les systèmes manipulant de très gros fichiers.
  • Btrfs : pour la gestion avancée, snapshots et compression.
  • FAT32/NTFS : utilisés pour l’échange avec Windows.

Pour formater une partition en EXT4 par exemple :

Terminal window
mkfs.ext4 /dev/sda1

Chaque type de système de fichiers a ses outils de maintenance et de réparation spécifiques, que nous verrons plus loin.

Le partitionnement sous Linux

Le partitionnement est une étape essentielle dans la gestion des disques sous Linux. Avant de pouvoir utiliser un disque pour stocker des fichiers, il faut d’abord l’organiser en partitions. Une partition est une section du disque, définie pour accueillir un système de fichiers spécifique ou servir à une fonction précise. Attention, le partitionement n’est pas obligatoire, car on peut utiliser un disque entier comme une seule partition, mais cela n’est pas recommandé pour des raisons de sécurité et de performance.

Pourquoi partitionner un disque ?

Le partitionnement répond à plusieurs objectifs :

  • Isoler les données : séparer les fichiers système de l’espace utilisateur (/home) pour éviter qu’un plantage n’affecte tout le système.
  • Optimiser la gestion : affecter des espaces dédiés à certaines fonctions, comme /var pour les logs, ou /tmp pour les fichiers temporaires.
  • Faciliter les sauvegardes et restaurations : restaurer une partition système sans toucher aux données utilisateur.
  • Améliorer la sécurité : appliquer des règles spécifiques selon les partitions (par exemple, interdire l’exécution de fichiers dans /tmp).
  • Supporter plusieurs systèmes d’exploitation : avoir plusieurs partitions permet d’installer Linux aux côtés de Windows (dual boot).

Structure d’un disque partitionné sous Linux

Un disque partitionné de manière classique peut ressembler à ceci :

  • Une partition pour le boot (/boot) : elle contient les fichiers de démarrage essentiels.
  • Une partition pour la racine (/) : c’est le système de fichiers principal de Linux.
  • Une partition pour les données utilisateurs (/home) : stocke les documents, images, musiques.
  • Une partition swap : utilisée comme mémoire virtuelle supplémentaire.

Chaque partition peut être montée à un point précis de l’arborescence du système, donnant une grande souplesse à l’organisation.

Pour des serveurs ou des systèmes plus complexes, on peut ajouter d’autres partitions :

  • /var : pour les fichiers variables (logs, caches).
  • /tmp : pour les fichiers temporaires.
  • /data : pour les données de services (web, FTP).
  • /opt : pour les applications tierces.

Pourquoi partitionner ainsi ? Cela permet de :

  • Séparer les données critiques : par exemple, /var peut être sur un disque différent pour éviter que des logs trop volumineux n’impactent le système.
  • Faciliter les sauvegardes : on peut sauvegarder /home sans toucher au reste du système.
  • Améliorer la sécurité : appliquer des permissions spécifiques sur chaque

Table de partitions : MBR vs GPT

Pour enregistrer la disposition des partitions sur le disque, Linux utilise une table de partitions. Il en existe deux principales :

  • MBR (Master Boot Record) :

    • Ancien standard, limité à 4 partitions principales par disque.
    • Taille maximale d’un disque : 2 To.
    • Compatible avec presque tous les anciens systèmes.
  • GPT (GUID Partition Table) :

    • Successeur du MBR, indispensable pour les disques récents.
    • Supporte un nombre pratiquement illimité de partitions.
    • Compatible avec les systèmes UEFI (remplaçant du BIOS traditionnel).
    • Gère des disques de très grande capacité (au-delà de 2 To).

Sur un disque neuf, il faut choisir entre MBR ou GPT avant de créer les partitions.

Types de partitions

Quand vous partitionnez un disque, vous créez différents types de partitions selon votre besoin :

  • Partition principale :

    • Contient un système de fichiers ou un système d’exploitation.
    • Limitée à 4 sous MBR.
  • Partition étendue (MBR uniquement) :

    • Sert de conteneur pour créer plusieurs partitions logiques à l’intérieur.
  • Partition logique :

    • Crée à l’intérieur d’une partition étendue.
    • Permet de contourner la limite des 4 partitions principales sous MBR.
  • Partitions EFI (pour UEFI) :

    • Utilisée pour stocker les fichiers de démarrage quand le système fonctionne en mode UEFI.
    • Typiquement montée sur /boot/efi.

Partitionnement manuel vs automatique

Lors de l’installation d’une distribution Linux, deux choix sont souvent proposés :

  • Partitionnement automatique :

    • Le système choisit la taille et l’affectation des partitions.
    • Convient aux débutants ou aux installations rapides.
  • Partitionnement manuel :

    • L’utilisateur définit chaque partition, son point de montage, sa taille, et son système de fichiers.
    • Recommandé pour ceux qui souhaitent un contrôle précis sur l’organisation de leur disque.

En résumé, le partitionnement est l’acte de découper un disque en zones de stockage indépendantes, chacune adaptée à un rôle particulier dans le système Linux. Cette étape, bien que simple dans son principe, a un impact profond sur la stabilité, la sécurité et la performance d’un système.

Points de montage : où apparaissent les disques

Sous Linux, un disque n’est accessible qu’après avoir été monté dans l’arborescence. Un point de montage est simplement un dossier où l’on accède au contenu du disque.

Exemples de points de montage :

  • /mnt/data : dossier dédié à un disque supplémentaire
  • /home : répertoire utilisateur monté sur une partition séparée
  • /media/usb : point de montage automatique des clés USB

Pour monter et démonter un disque, on utilise la commande mount et unmount.

Résumé du cheminement standard

Voici un résumé du cheminement standard pour gérer des disques sous Linux :

  1. Identifier le disque : utiliser lsblk ou fdisk -l pour lister les disques et leurs partitions.
  2. Partitionner le disque : utiliser fdisk ou parted pour créer des partitions.
  3. Formater les partitions : utiliser mkfs pour créer un système de fichiers sur chaque partition.
  4. Monter les partitions : utiliser mount pour rendre les partitions accessibles.
  5. Configurer le fstab : ajouter les partitions au fichier /etc/fstab pour un montage automatique au démarrage.
  6. Vérifier l’état des disques : utiliser smartctl pour surveiller la santé des disques.
  7. Gérer le stockage : utiliser des outils comme df, du pour gérer l’espace disque et optimiser le stockage.
  8. Analyser les performances : utiliser iostat ou iotop pour surveiller l’activité des disques.

Ce socle de connaissances permet à tous de comprendre comment Linux gère physiquement et logiquement les disques. À partir de cette base, il devient beaucoup plus facile d’aborder les tâches pratiques : partitionnement, formatage, montage et optimisation du stockage.

Identifier les disques

Pour manipuler correctement les disques sous Linux, il est essentiel de savoir où et comment les repérer. Le système offre plusieurs méthodes d’identification, de la plus basique à la plus détaillée. Voici comment procéder efficacement, en partant de l’exploration du système brut jusqu’aux outils d’analyse approfondie.

Lire les informations brutes : /proc/partitions

Le fichier /proc/partitions contient une vue directe des disques et partitions reconnus par le noyau Linux. Ce fichier est généré dynamiquement à chaque démarrage.

Pour afficher son contenu :

Terminal window
cat /proc/partitions
major minor #blocks name
8 0 488386584 sda
8 1 524288 sda1
8 2 10240000 sda2
8 3 477038592 sda3

Explication rapide :

  • major/minor : identifiants internes du périphérique
  • #blocks : taille en blocs de 1024 octets
  • name : nom du disque ou de la partition (ex: sda, sda1)

Limitation : /proc/partitions ne fournit pas d’informations sur les systèmes de fichiers, les points de montage ou les UUID.

Afficher les disques sous forme arborescente : lsblk

Pour obtenir une vue plus lisible et organisée des disques, partitions et volumes logiques, la commande lsblk est idéale :

Terminal window
lsblk
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

Affiche :

  • Les disques physiques (disk)
  • Les partitions (part)
  • Les volumes (lvm)
  • Les points de montage éventuels

Astuce : pour afficher plus de détails comme le type de système de fichiers et l’UUID :

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

Outils avancés pour une analyse plus poussée

Pour des besoins plus spécifiques ou pour explorer toutes les caractéristiques d’un disque, Linux propose aussi :

  • lshw : inventaire complet du matériel (nécessite souvent d’être installé) :
Terminal window
sudo lshw -class disk
  • hwinfo (sur certaines distributions comme openSUSE) :
Terminal window
sudo hwinfo --disk

En progressant du simple affichage de /proc/partitions aux outils détaillés comme lsblk, fdisk et blkid, vous pouvez analyser précisément votre stockage sous Linux et préparer sereinement vos opérations de partitionnement, formatage ou montage.

Partitionner un disque

Le partitionnement prépare un disque pour recevoir des systèmes de fichiers et organiser les données efficacement. Avant de créer des partitions, il est important de choisir la bonne structure logique du disque et de planifier l’organisation souhaitée.

Choisir entre MBR et GPT

Le partitionnement commence par choisir une table de partitions :

  • MBR (Master Boot Record) : ancien format, limité à 4 partitions principales par disque.
  • GPT (GUID Partition Table) : format moderne, permettant un grand nombre de partitions, obligatoire pour les systèmes en mode UEFI.

Pour les disques récents ou supérieurs à 2 To, GPT est recommandé.

Définir l’organisation des partitions

Selon l’usage du disque, plusieurs partitions peuvent être créées :

Point de montageTaille suggéréeType de partition
/boot/efi512 MoEFI System Partition
/20–30 GoLinux filesystem
swap2–4 Go ou plus selon la RAMLinux swap
/homeReste du disqueLinux filesystem

Chaque partition doit avoir une taille adaptée à son usage.

Créer une table de partitionnement

Avant de créer des partitions, il faut initialiser la table de partitions sur le disque.

Avec parted :

Terminal window
sudo parted /dev/sdX mklabel gpt

ou pour un disque au format MBR :

Terminal window
sudo parted /dev/sdX mklabel msdos

Remplacer /dev/sdX par l’identifiant correct du disque (ex : /dev/sda).

Créer une partition

Avec fdisk (MBR) :

  1. Lancer fdisk sur le disque :
Terminal window
sudo fdisk /dev/sdX
  1. Dans l’interface :
  • Taper n pour créer une nouvelle partition.
  • Choisir le type de partition (primaire ou logique).
  • Définir le premier et le dernier secteur, ou la taille de la partition.
  • Taper w pour enregistrer les modifications.

Avec gdisk (GPT) :

  1. Lancer gdisk sur le disque :
Terminal window
sudo gdisk /dev/sdX
  1. Dans l’interface :
  • Taper n pour ajouter une partition.
  • Suivre les instructions pour définir la taille et le type.

Avec parted (MBR ou GPT) :

Créer une partition de 20 Go :

Terminal window
sudo parted /dev/sdX mkpart primary ext4 1MiB 20GiB

Créer une partition prenant tout l’espace restant :

Terminal window
sudo parted /dev/sdX mkpart primary ext4 20GiB 100%

Supprimer une partition

Pour supprimer une partition existante :

Avec fdisk :

Terminal window
sudo fdisk /dev/sdX
  • Taper d pour supprimer une partition.
  • Sélectionner le numéro de la partition à supprimer.
  • Taper w pour écrire les changements.

Avec parted :

Terminal window
sudo parted /dev/sdX rm N

N étant le numéro de la partition à supprimer.

Afficher les partitions existantes

Avant ou après modification, il est important de vérifier la table des partitions.

Utiliser lsblk :

Terminal window
lsblk

Utiliser fdisk -l :

Terminal window
sudo fdisk -l

Utiliser parted en mode interactif :

Terminal window
sudo parted /dev/sdX print

Ces commandes affichent :

  • La liste des partitions existantes
  • Leur taille
  • Leur type
  • Leur point de montage (si applicable)

Avec ces outils et commandes, il est possible de partitionner n’importe quel disque sous Linux, qu’il soit utilisé pour un simple poste utilisateur ou pour un serveur complexe.

Formater une partition sous Linux

Une fois les partitions créées, il est nécessaire de les formater pour y installer un système de fichiers. Le formatage prépare la partition pour le stockage des données selon un type précis de système de fichiers.

Pour mieux comprendre quel type de filesystems choisir, consulter le guide dédié.

Utilitaires de formatage disponibles

Sous Linux, l’outil principal pour formater une partition est mkfs (make filesystem), décliné pour différents systèmes de fichiers.

Système de fichiersCommande de formatage
EXT4mkfs.ext4
EXT3mkfs.ext3
EXT2mkfs.ext2
XFSmkfs.xfs
Btrfsmkfs.btrfs
FAT32mkfs.vfat
NTFSmkfs.ntfs

Formater en EXT4

EXT4 est le système de fichiers le plus courant sur les distributions Linux modernes.

Terminal window
sudo mkfs.ext4 /dev/sdXN

Formater en XFS

XFS est optimisé pour les performances sur de très grands fichiers.

Terminal window
sudo mkfs.xfs /dev/sdXN

Formater en Btrfs

Btrfs est utilisé pour ses capacités avancées comme la gestion des snapshots et la compression.

Terminal window
sudo mkfs.btrfs /dev/sdXN

Formater en FAT32

FAT32 est recommandé pour les supports amovibles compatibles multi-plateformes.

Terminal window
sudo mkfs.vfat /dev/sdXN

Ajouter un label à la partition :

Terminal window
sudo mkfs.vfat -n "LABEL" /dev/sdXN

Formater en NTFS

NTFS est utilisé principalement pour l’échange de fichiers avec Windows.

Terminal window
sudo mkfs.ntfs /dev/sdXN

Options supplémentaires de formatage

Certaines options permettent de personnaliser davantage la création du système de fichiers :

  • Définir un label sur une partition EXT4 :
Terminal window
sudo mkfs.ext4 -L NOM_LABEL /dev/sdXN
  • Forcer le formatage sans confirmation :
Terminal window
sudo mkfs.ext4 -F /dev/sdXN

Le formatage efface toutes les données existantes sur la partition ciblée et prépare un environnement adapté pour le stockage de fichiers sous Linux.

Monter une partition sous Linux

Après avoir partitionné et formaté un disque, il est nécessaire de monter la partition pour qu’elle soit accessible dans l’arborescence du système de fichiers. Le montage associe une partition à un dossier existant, appelé point de montage.

Monter une partition manuellement

Pour monter une partition de manière temporaire :

Terminal window
sudo mount /dev/sdXN /chemin/vers/le/dossier

Exemple pour monter /dev/sda1 dans /mnt/data :

Terminal window
sudo mkdir -p /mnt/data
sudo mount /dev/sda1 /mnt/data

Le contenu de la partition sera alors accessible via /mnt/data.

Remarque : ce montage sera perdu au prochain redémarrage si aucune configuration permanente n’est faite.

Vérifier les partitions montées

Pour vérifier quelles partitions sont actuellement montées :

Terminal window
lsblk

Ou encore :

Terminal window
findmnt

Ces commandes montrent les périphériques, leurs points de montage et leurs types de systèmes de fichiers.

Monter une partition automatiquement au démarrage

Pour que le montage soit persistant à chaque démarrage, il faut configurer le fichier /etc/fstab.

Ajouter une ligne dans /etc/fstab :

Terminal window
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /chemin/vers/le/dossier ext4 defaults 0 2

Explication des champs :

ChampDescription
UUID ou /dev/sdXNIdentifiant de la partition
Point de montageDossier dans lequel monter la partition
TypeSystème de fichiers (ext4, xfs, btrfs, etc.)
OptionsOptions de montage (defaults, noatime, etc.)
DumpSauvegarde avec dump (souvent 0)
PassOrdre de vérification avec fsck (0 = désactivé, 1/2)

Pour trouver l’UUID d’une partition :

Terminal window
sudo blkid

Exemple d’ajout dans /etc/fstab :

Terminal window
UUID=e99b8f08-7d3b-4f8b-9e7b-6c5e546df66a /mnt/data ext4 defaults 0 2

Après modification de /etc/fstab, tester sans redémarrer :

Terminal window
sudo mount -a

Cette commande monte toutes les partitions définies dans le fichier, en signalant toute erreur éventuelle.

Démonter une partition

Pour démonter une partition manuellement :

Terminal window
sudo umount /chemin/vers/le/dossier

Ou en utilisant le périphérique directement :

Terminal window
sudo umount /dev/sdXN

Le démontage est indispensable avant de retirer un disque amovible ou avant de manipuler directement une partition.

Le montage des partitions est une étape indispensable pour rendre les données disponibles sous Linux. Qu’il soit temporaire ou permanent, un montage bien configuré assure la stabilité et l’accessibilité du stockage.

Vérifier et réparer les systèmes de fichiers sous Linux

Avec le temps, des erreurs peuvent apparaître sur les systèmes de fichiers à cause de coupures électriques, de déconnexions brutales de disques ou de défaillances matérielles. Linux fournit plusieurs outils pour vérifier et réparer automatiquement ou manuellement les partitions.

Vérifier un système de fichiers avec fsck

fsck (file system check) est l’outil standard pour analyser et corriger les erreurs d’un système de fichiers.

Lancer une vérification simple :

Terminal window
sudo fsck /dev/sdXN

Important : il est préférable de démonter la partition avant d’exécuter fsck, pour éviter d’endommager le système de fichiers.

Démonter la partition si nécessaire :

Terminal window
sudo umount /dev/sdXN

Puis lancer :

Terminal window
sudo fsck -f /dev/sdXN

Options courantes :

  • -f : forcer la vérification même si le système de fichiers est marqué comme propre.
  • -y : répondre automatiquement “oui” à toutes les questions de réparation.

Vérifier un système de fichiers ext2/ext3/ext4 avec e2fsck

Pour les systèmes de fichiers basés sur EXT, utiliser e2fsck, qui est spécifique et souvent plus rapide :

Terminal window
sudo e2fsck -f /dev/sdXN

e2fsck propose les mêmes options que fsck (-y, -p, -c pour la recherche de blocs défectueux).

Vérifier un système de fichiers XFS avec xfs_repair

Les partitions XFS ne sont pas compatibles avec fsck. Pour les vérifier et réparer :

  1. D’abord, vérifier le système de fichiers (monté en mode lecture seule si possible) :
Terminal window
sudo xfs_check /dev/sdXN
  1. Réparer un système XFS :
Terminal window
sudo xfs_repair /dev/sdXN

Note : xfs_repair doit être utilisé uniquement sur des systèmes démontés.

Détecter les blocs défectueux avec badblocks

Pour analyser physiquement un disque et trouver des blocs défectueux :

Terminal window
sudo badblocks -v /dev/sdXN

Si des blocs défectueux sont trouvés, on peut les intégrer à une vérification e2fsck :

Terminal window
sudo e2fsck -c /dev/sdXN

Cela permet d’exclure automatiquement les blocs endommagés lors de la réparation.

Automatiser la vérification au démarrage

Les systèmes de fichiers EXT peuvent être configurés pour être vérifiés automatiquement après un certain nombre de montages.

Afficher les réglages actuels :

Terminal window
sudo tune2fs -l /dev/sdXN | grep -i 'mount count'

Modifier la fréquence des vérifications avec tune2fs :

Terminal window
sudo tune2fs -c 30 /dev/sdXN

Cela impose une vérification tous les 30 montages.

La vérification régulière des systèmes de fichiers permet de prévenir les pertes de données et d’assurer la fiabilité du stockage sous Linux. Adapter l’outil utilisé au type de système de fichiers est essentiel pour garantir une réparation efficace.

Gérer l’espace disque sous Linux

La bonne gestion de l’espace disque est indispensable pour assurer la stabilité et les performances d’un système Linux. Surveiller l’utilisation, nettoyer les partitions encombrées et prévoir des ajustements permet d’éviter les pannes dues au manque de place.

Surveiller l’utilisation du disque avec df

La commande df (disk free) donne un aperçu global de l’utilisation de l’espace disque.

Afficher l’espace disque utilisé de manière lisible :

Terminal window
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 50G 20G 28G 42% /
/dev/sda3 449G 30G 397G 7% /home
  • Size : taille totale de la partition
  • Used : espace utilisé
  • Avail : espace disponible
  • Use% : pourcentage d’utilisation
  • Mounted on : point de montage

Analyser l’utilisation détaillée avec du

La commande du (disk usage) analyse l’espace utilisé par les fichiers et les répertoires.

Afficher la taille des dossiers dans un répertoire donné :

Terminal window
du -h /chemin/vers/dossier

Afficher uniquement le total :

Terminal window
du -sh /chemin/vers/dossier

Lister et trier les sous-dossiers selon leur taille :

Terminal window
du -h --max-depth=1 /chemin | sort -h

Explorer l’espace disque avec ncdu

Pour naviguer dans l’espace disque de manière interactive, ncdu est un outil très pratique.

Installation sur Debian/Ubuntu :

Terminal window
sudo apt install ncdu

Lancer ncdu :

Terminal window
ncdu /chemin

Cela permet de repérer rapidement les dossiers volumineux à nettoyer.

Détecter les fichiers ouverts sur un disque plein

Parfois, même après avoir supprimé des fichiers, l’espace n’est pas libéré car des fichiers supprimés sont toujours utilisés par des processus.

Identifier ces fichiers avec lsof :

Terminal window
sudo lsof | grep deleted

Relancer le processus ou démonter le système de fichiers pour libérer l’espace.

Redimensionner une partition sous Linux

Il arrive qu’une partition devienne trop petite ou trop grande par rapport aux besoins du système. Linux permet de redimensionner une partition sans perdre les données, sous certaines conditions. Cette opération se déroule en deux étapes : modifier la taille de la partition et ajuster la taille du système de fichiers.

Prérequis avant redimensionnement

Avant de modifier une partition :

  • Sauvegarder les données pour éviter toute perte accidentelle.
  • Démonter la partition si elle est montée :
Terminal window
sudo umount /dev/sdXN
  • Vérifier le système de fichiers :
Terminal window
sudo e2fsck -f /dev/sdXN

Redimensionner une partition : méthode générale

  1. Modifier la taille de la partition avec parted ou gparted (outil graphique).
  2. Redimensionner le système de fichiers avec une commande spécifique à son type.

Attention : certaines partitions (comme /) nécessitent un redémarrage en mode de secours ou l’utilisation d’un live CD pour être modifiées.

Agrandir une partition EXT4

Après avoir étendu la partition (avec parted ou gparted), étendre le système de fichiers :

Terminal window
sudo resize2fs /dev/sdXN

Cette commande adapte automatiquement la taille du système de fichiers à celle de la partition.

Réduire une partition EXT4

Pour réduire une partition :

  1. Vérifier et réduire d’abord le système de fichiers :
Terminal window
sudo resize2fs /dev/sdXN TAILLE

Exemple pour réduire à 10 Go :

Terminal window
sudo resize2fs /dev/sdXN 10G
  1. Réduire ensuite la taille de la partition avec parted ou gparted.

Important : toujours réduire le système de fichiers avant de réduire la partition physique.

Agrandir une partition XFS

Les partitions XFS ne peuvent être qu’agrandies, pas réduites.

Pour agrandir un système de fichiers XFS après modification de la partition :

Terminal window
sudo xfs_growfs /point/de/montage

Exemple :

Terminal window
sudo mount /dev/sdXN /mnt
sudo xfs_growfs /mnt

Cas des volumes LVM

Les partitions gérées par LVM offrent une grande flexibilité pour redimensionner les volumes logiques sans modification complexe de la table de partitions.

Consultez le guide dédié : Gestion des volumes logiques LVM sous Linux.

Analyser les performances des disques sous Linux

La performance des disques influence directement la réactivité et la stabilité d’un système Linux. Pour diagnostiquer efficacement des lenteurs ou optimiser un serveur, il est essentiel de connaître les bons outils, mais aussi de comprendre les termes utilisés lors des analyses.

Vocabulaire de base pour l’analyse disque

Avant de passer aux outils, voici les principaux termes que vous rencontrerez dans les rapports d’analyse :

TermeSignification
IOPSNombre d’opérations d’entrée/sortie par seconde. Indique la capacité du disque à traiter un grand nombre de petites opérations rapidement.
ThroughputDébit de transfert, mesuré en Mo/s ou Go/s. Représente la quantité de données lues ou écrites par seconde.
LatencyTemps de réponse d’une opération de lecture/écriture, mesuré en millisecondes (ms). Plus la latence est basse, plus le disque est réactif.
awaitTemps moyen d’attente pour les opérations disque. Un await élevé peut indiquer une saturation ou un problème matériel.
util%Pourcentage du temps où le disque est occupé à traiter des requêtes. Un disque utilisé à 100% peut devenir un goulot d’étranglement.

Comprendre ces notions est indispensable pour interpréter correctement les résultats fournis par les outils de diagnostic.

Mesurer la performance brute avec hdparm

hdparm permet de tester rapidement la vitesse de lecture d’un disque.

Installation sur Debian/Ubuntu :

Terminal window
sudo apt install hdparm

Tester la vitesse de lecture séquentielle :

Terminal window
sudo hdparm -Tt /dev/sdX
  • -T mesure la vitesse du cache.
  • -t mesure la vitesse de lecture directe du disque.

Surveiller l’activité en temps réel avec iostat

iostat fait partie du paquet sysstat et fournit des statistiques détaillées sur l’activité disque.

Installation :

Terminal window
sudo apt install sysstat

Utiliser iostat :

Terminal window
iostat -xz 1

Les colonnes importantes :

  • r/s, w/s : lectures et écritures par seconde
  • rMB/s, wMB/s : débit en lecture et écriture
  • await : délai moyen d’une opération
  • util : taux d’occupation du disque

Analyser l’utilisation par processus avec iotop

iotop permet de surveiller en temps réel les processus qui utilisent le plus d’entrées/sorties.

Installation :

Terminal window
sudo apt install iotop

Lancer iotop :

Terminal window
sudo iotop

Chaque processus affiché indique :

  • Son pourcentage d’IO
  • Le débit de lecture et d’écriture associé

Visualiser l’activité disque avec dstat

dstat est un outil polyvalent pour analyser simultanément l’activité disque, réseau, CPU et mémoire.

Installation :

Terminal window
sudo apt install dstat

Afficher uniquement l’activité disque :

Terminal window
dstat -d

Afficher disque et réseau :

Terminal window
dstat -dn

Tester les performances de lecture/écriture avec dd

dd permet de simuler des écritures et lectures pour mesurer les performances séquentielles.

Écrire un fichier de test :

Terminal window
dd if=/dev/zero of=/chemin/vers/montage/testfile bs=1G count=1 oflag=direct

Lire ce fichier :

Terminal window
dd if=/chemin/vers/montage/testfile of=/dev/null bs=1G

Cette méthode donne une estimation simple du débit séquentiel.

L’analyse régulière des performances disques permet d’anticiper les problèmes, de détecter des saturations, et d’optimiser l’allocation des ressources dans un environnement Linux. Connaître et comprendre les principaux indicateurs est essentiel pour une gestion efficace.

Analyser l’état de santé des disques sous Linux

Surveiller l’état de santé des disques est essentiel pour anticiper les pannes matérielles, éviter les pertes de données et planifier les remplacements de matériel. Sous Linux, plusieurs outils permettent de contrôler l’intégrité physique des disques en exploitant la technologie SMART (Self-Monitoring, Analysis and Reporting Technology).

Vocabulaire de base pour l’analyse de santé

Avant d’utiliser les outils d’analyse SMART, il est important de comprendre certains termes fréquents :

TermeSignification
SMARTSystème interne des disques pour surveiller leur propre santé.
Bad sectorsSecteurs défectueux irréparables du disque.
Reallocated sectorsSecteurs déplacés vers des zones de réserve après détection d’erreurs.
Pending sectorsSecteurs suspects en attente de vérification.
TemperatureTempérature de fonctionnement du disque, un facteur critique pour la durée de vie.
Spin Retry CountNombre de tentatives nécessaires pour démarrer le disque (indicateur de défaillance mécanique).

Comprendre ces indicateurs permet d’interpréter les rapports SMART correctement et d’agir avant une défaillance grave.

Activer et utiliser SMART avec smartmontools

Le paquet smartmontools fournit les outils nécessaires pour interroger et tester l’état SMART des disques.

Installation sur Debian/Ubuntu :

Terminal window
sudo apt install smartmontools

Vérifier si SMART est activé

Pour vérifier si SMART est actif sur un disque :

Terminal window
sudo smartctl -i /dev/sdX

Informations principales :

  • Activation de SMART : SMART support is: Enabled
  • Modèle du disque et numéro de série
  • Capacité du disque

Si SMART n’est pas activé, l’outil propose généralement une commande pour l’activer.

Analyser l’état de santé général

Lancer une vérification rapide de l’état du disque :

Terminal window
sudo smartctl -H /dev/sdX

Sortie typique :

SMART overall-health self-assessment test result: PASSED

Si le résultat est autre que PASSED, le disque présente probablement des défaillances.

Afficher tous les attributs SMART détaillés

Pour obtenir une vue complète des paramètres surveillés :

Terminal window
sudo smartctl -A /dev/sdX

Parmi les attributs à surveiller :

  • Reallocated_Sector_Ct (secteurs réalloués)
  • Current_Pending_Sector (secteurs instables)
  • Temperature_Celsius (température de fonctionnement)

Un nombre élevé de secteurs réalloués ou de secteurs en attente est un signe avant-coureur de panne.

Lancer des tests de diagnostic SMART

Test court (quelques minutes) :

Terminal window
sudo smartctl -t short /dev/sdX

Test long (plusieurs dizaines de minutes) :

Terminal window
sudo smartctl -t long /dev/sdX

Pour consulter les résultats après un test :

Terminal window
sudo smartctl -l selftest /dev/sdX

Les tests permettent de détecter des erreurs matérielles invisibles en utilisation normale.

Surveillance continue avec smartd

smartd est un démon qui surveille les disques en arrière-plan et envoie des alertes en cas de problème détecté.

Configurer smartd :

  • Modifier /etc/smartd.conf pour y ajouter les disques à surveiller.
  • Redémarrer le service :
Terminal window
sudo systemctl restart smartd

Surveiller régulièrement la santé des disques est une habitude indispensable pour maintenir un système Linux fiable et éviter les pertes de données imprévues. L’analyse SMART donne une vision précise de l’état physique des disques et permet d’agir avant qu’une panne ne survienne.

Bonnes pratiques pour la gestion des disques sous Linux

Pour assurer la fiabilité, la performance et la longévité des systèmes de stockage sous Linux, il est essentiel d’appliquer quelques bonnes pratiques. Une gestion proactive permet d’éviter les incidents critiques, d’améliorer l’organisation et de faciliter la maintenance du système.

1. Toujours sauvegarder avant toute opération

Avant de modifier une partition, formater un disque ou redimensionner un volume, il est impératif de réaliser une sauvegarde complète des données. Même les outils les plus sûrs ne garantissent pas un risque zéro lors des opérations de bas niveau.

Utiliser des outils comme :

  • rsync
  • tar
  • Des solutions de sauvegarde comme BorgBackup, Restic ou Bacula.

2. Utiliser UUID ou LABEL pour les montages

Dans le fichier /etc/fstab, privilégier les UUID ou les LABEL au lieu des chemins classiques /dev/sdX.

Exemple avec UUID :

Terminal window
UUID=e99b8f08-7d3b-4f8b-9e7b-6c5e546df66a /mnt/data ext4 defaults 0 2

Cela évite des erreurs en cas de changement de nom des périphériques après un redémarrage ou une modification matérielle.

3. Séparer les partitions critiques

Créer des partitions séparées pour :

  • /home (données utilisateurs)
  • /var (logs, bases de données)
  • /tmp (fichiers temporaires)
  • /srv (services réseau)

Cela protège le système en isolant les zones où l’espace disque peut se remplir rapidement.

4. Vérifier régulièrement l’espace disque

Surveiller l’utilisation du disque permet d’anticiper les saturations qui pourraient bloquer les services ou rendre le système instable.

Utiliser régulièrement :

Terminal window
df -h

et

Terminal window
du -sh /chemin

Pour identifier rapidement les partitions proches de la saturation.

5. Automatiser la surveillance de l’état des disques

Mettre en place une surveillance automatique de l’état de santé des disques avec smartd.

Configurer des alertes par mail ou via un outil de supervision comme Nagios, Zabbix ou Prometheus pour détecter les défaillances imminentes.

6. Prévoir l’alignement des partitions sur les SSD

Sur les disques SSD, veiller à l’alignement correct des partitions dès leur création avec parted ou gparted.

Aligner les partitions sur des blocs de 1 MiB améliore considérablement la durée de vie et les performances des SSD.

7. Utiliser LVM pour plus de flexibilité

Adopter LVM (Logical Volume Manager) permet de :

  • Redimensionner les volumes sans interruption.
  • Ajouter dynamiquement de nouveaux disques.
  • Prendre des snapshots pour des sauvegardes rapides.

Consultez le guide dédié : Gestion des volumes logiques LVM sous Linux.

8. Planifier des vérifications système de fichiers

Configurer des vérifications automatiques avec tune2fs pour les partitions EXT4 :

Terminal window
sudo tune2fs -c 30 /dev/sdXN

Cela force un contrôle après 30 montages et permet de détecter des erreurs avant qu’elles ne deviennent critiques.

9. Respecter la température de fonctionnement

Surveiller la température des disques pour éviter la surchauffe, notamment sur les serveurs.

Utiliser :

Terminal window
sudo smartctl -A /dev/sdX

Idéalement, la température des disques doit rester entre 30°C et 45°C.

10. Documenter les interventions

Tenir un journal des opérations sur les disques (créations, suppressions, modifications, pannes détectées) permet de suivre l’historique et d’intervenir plus efficacement en cas de problème.

Appliquer ces bonnes pratiques assure une gestion des disques sûre, optimisée et préventive, indispensable pour maintenir un environnement Linux performant et stable sur le long terme.

Contrôle des connaissances

Pourquoi ce contrôle ?

Cet contrôle va vous permettre de valider vos connaissances sur le sujet abordé dans le guide. Il comporte des QCM, des questions vrai/faux et des réponses ouvertes à un mot.

🕒 Le chronomètre commence dès que vous cliquez sur Démarrer le test. Vous devrez terminer l’examen avant la fin du temps imparti.

🎯 Pour réussir, vous devez obtenir au moins 80% de bonnes réponses.

💡 Je ne fournis pas directement les réponses aux questions. Cependant, si certaines sont complexes, des pistes d’explication pourront être proposées dans le guide ou après l’examen.

Bonne chance ! 🚀

Conclusion

La gestion des disques sous Linux est une compétence incontournable pour garantir la stabilité, la performance et la sécurité d’un système. En maîtrisant l’identification, le partitionnement, le montage, la surveillance et l’optimisation des disques, vous construisez une infrastructure fiable et évolutive. Avec de bonnes pratiques régulières et les outils adaptés, vous pouvez anticiper les problèmes, protéger vos données et maintenir vos systèmes Linux en parfait état de fonctionnement.