Philosophie du Stockage Linux
Contrairement à Windows qui utilise des lettres de lecteur (C:, D:), Linux traite tout périphérique comme un fichier (situé dans /dev) et unifie l'espace de stockage dans une arborescence unique via le mécanisme de montage. Cette approche permet une flexibilité totale : un dossier profond dans l'arborescence peut physiquement résider sur un disque dur à l'autre bout du monde.
Identification & Permissions
La première étape de l'administration est de repérer le matériel. Le noyau Linux assigne des noms aux disques dans l'ordre de leur détection au démarrage.
Comprendre les Noms de Périphériques
Les noms de fichiers spéciaux dans /dev suivent une logique historique mais stricte. Savoir les lire permet d'identifier immédiatement le type de matériel.
-
SATA / SCSI / USB /dev/sd[a-z]
Le 's' signifiait à l'origine SCSI. Aujourd'hui, presque tout stockage bloc standard utilise ce préfixe. La lettre (a, b, c) indique l'ordre physique.
-
NVMe (SSD Rapide) /dev/nvme0n1
Les disques NVMe se connectent directement au bus PCIe, contournant les contrôleurs SATA lents.
nvme0est le contrôleur,n1est le namespace (disque). -
Virtuel (KVM/VirtIO) /dev/vda
Dans le Cloud ou sur des VM, les pilotes paravirtuels utilisent le préfixe 'v' pour indiquer qu'il ne s'agit pas d'un disque physique réel.
Décrypter "ls -l"
La première lettre de la ligne de permission indique le type de fichier. C'est crucial pour distinguer un disque d'un dossier.
Outils d'Analyse
Ne modifiez jamais un disque sans l'avoir analysé avec ces commandes.
Partitionnement (fdisk/gdisk)
Le disque brut est inutilisable tel quel. Il faut le découper en partitions.
L'outil fdisk
fdisk est l'outil historique pour manipuler les tables de partition.
Menu interactif (Command m for help) :
| m | Affiche le menu d'aide. |
| n | Crée une nouvelle partition. |
| d | Supprime une partition existante. |
| t | Change l'ID système (ex: 82 pour Swap, 8e pour LVM). |
| w | Écrit les changements sur le disque. |
Le SWAP (Mémoire d'échange)
Lorsque la RAM est pleine, Linux déplace les pages mémoire inactives vers le disque. C'est lent mais évite le crash.
Comparatif des Systèmes de Fichiers
Le choix du système de fichiers détermine les performances, la fiabilité et les fonctionnalités de votre stockage. Voici les standards actuels sous Linux.
EXT4
StandardL'évolution stable de la famille ext. Robuste et compatible partout.
- Réduction taille Oui
- Max Fichier 16 To
- Commande mkfs.ext4
XFS
EnterpriseOptimisé pour le parallélisme et les très gros volumes (RHEL/CentOS).
- Réduction taille Non
- Max Fichier 8 EiB
- Commande mkfs.xfs
Btrfs
ModerneSystème "Copy on Write" avec gestion de volume, snapshots et RAID.
- Fonction clé Snapshots
- RAID logiciel Intégré
- Commande mkfs.btrfs
Interopérabilité (Disques Externes / USB)
| Système | Linux | Windows | MacOS | Note |
|---|---|---|---|---|
| NTFS | Oui (ntfs-3g) | Natif | Lecture seule* | Standard Windows |
| exFAT | Oui | Oui | Oui | Idéal Clés USB |
Montage & Persistance (/etc/fstab)
Sous Linux, un disque n'apparait pas tout seul. Il faut le "monter" (l'attacher) sur un dossier vide. Le fichier /etc/fstab est lu au démarrage par systemd (ou init) pour monter automatiquement les disques.
Zone Critique
Une erreur de syntaxe dans ce fichier peut empêcher le serveur de démarrer (Emergency Mode). Toujours tester avec mount -a avant de redémarrer.
defaults: L'option passe-partout. Active rw (lecture/écriture), exec (exécuter des programmes), auto (montage au boot).ro: (Read-Only) Sécurise les données sensibles en lecture seule.noatime: Optimisation de performance. Évite d'écrire sur le disque à chaque fois qu'on lit un fichier (mise à jour de l'heure d'accès)._netdev: Indispensable pour les montages réseau (iSCSI, NFS) pour attendre le réseau avant de monter.
Sert à l'outil de backup historique dump.
- 0 : (Recommandé) Ne pas sauvegarder.
- 1 : Sauvegarder si dump est utilisé.
Définit l'ordre de vérification du système de fichiers au démarrage.
- 0 : Pas de vérification (XFS, Swap).
- 1 : Priorité absolue (Réservé à la racine
/). - 2 : Vérifier après la racine (Pour
/home,/data...).
LVM : Logical Volume Manager
LVM est une couche d'abstraction qui s'intercale entre le matériel et le système de fichiers. Imaginez LVM comme une fonderie : il prend des disques durs de tailles différentes (PV), les fond dans un grand réservoir de stockage unique (VG), puis puise dans ce réservoir pour créer des partitions sur-mesure (LV) redimensionnables à volonté.
Architecture & Création
Le "réservoir" global. Il additionne l'espace des disques physiques.
Couche 1 : Les disques physiques réels initialisés.
Agrandissement (Sans interruption)
C'est la force de LVM. Si /compta est plein, on peut l'agrandir pendant que les comptables travaillent dessus.
# La méthode moderne en 1 commande (-r resize auto)
lvextend -r -L +5G /dev/vg_data/lv_compta
# Si l'espace libre est sur un NOUVEAU disque :
1. pvcreate /dev/sdd
2. vgextend vg_data /dev/sdd
3. lvextend...
Réduction (Procédure Risquée)
ATTENTION : XFS ne peut PAS être réduit !
Seul le système de fichiers EXT4 supporte la réduction. L'opération nécessite de démonter le volume (interruption de service obligatoire) pour éviter la corruption de données.
Guide de Dépannage
Les problèmes de stockage sont fréquents. Voici les cas classiques et comment les résoudre.
Erreur : "Target is busy"
Vous essayez de démonter un disque (umount) mais le système refuse car un utilisateur ou un processus utilise un fichier sur ce disque.
Emergency Mode au Boot
Le serveur démarre en mode secours (invite root directe). C'est souvent causé par un UUID incorrect dans /etc/fstab ou un disque débranché.
TP Guidé 1 : Ajout d'un Disque Physique Standard
Scénario : Disque de Logs
Votre serveur manque d'espace pour les journaux d'application. Vous ajoutez un disque de 50Go pour le dédier aux logs.
Objectif : Le rendre utilisable et le monter sur /var/log/app.
1. Identification du Disque
Vérifiez le nom attribué par le noyau (ex: sdb, sdc...).
lsblk
└─sda1 8:1 0 20G 0 part /
sdd 8:48 0 50G 0 disk
// Le nouveau disque est 'sdd' et il est vide (pas de partition).
2. Partitionnement
Nous allons créer une partition unique prenant tout l'espace.
fdisk /dev/sdd
3. Formatage (Création du FS)
mkfs.ext4 /dev/sdd1
4. Montage et Persistance
mkdir -p /var/log/app
mount /dev/sdd1 /var/log/app
blkid /dev/sdd1
UUID=998877-aabb... /var/log/app ext4 defaults 0 2
mount -a
TP Guidé 2 : Montage d'un Stockage Réseau (NAS/NFS)
Scénario : Accès aux Sauvegardes
L'équipe de sauvegarde vous met à disposition un volume sur le NAS d'entreprise (Synology/Linux) pour stocker vos archives.
Serveur NAS : 192.168.1.100
Dossier partagé : /volume1/backups
1. Installer le client NFS
Linux ne parle pas NFS par défaut, il faut installer les paquets.
apt update && apt install nfs-common
dnf install nfs-utils
2. Découverte (Vérification)
Vérifiez que le NAS autorise votre connexion et listez les dossiers.
showmount -e 192.168.1.100
/volume1/backups *
3. Montage Manuel & Test
mkdir -p /mnt/nas_backups
mount -t nfs 192.168.1.100:/volume1/backups /mnt/nas_backups
touch /mnt/nas_backups/test.txt
4. Persistance (Attention Piège !)
Pour le montage réseau dans /etc/fstab, il faut ABSOLUMENT utiliser l'option _netdev.
Sinon, Linux essaiera de monter le NAS avant d'avoir une adresse IP au démarrage, et bloquera le boot.
192.168.1.100:/volume1/backups /mnt/nas_backups nfs defaults,_netdev 0 0
TP Guidé 3 : Montage Partage Windows (SMB/CIFS)
Scénario : Serveur de Fichiers Windows
L'entreprise stocke des documents Excel sur un serveur Windows. Vous devez les rendre accessibles sur votre serveur Linux.
Serveur : 192.168.1.200 (ou //win-server)
Partage : Compta
Compte : utilisateur / MonMotDePasse
1. Installer les utilitaires CIFS
Le protocole SMB (Common Internet File System) nécessite un paquet spécifique.
apt install cifs-utils
dnf install cifs-utils
2. Création du point de montage
mkdir -p /mnt/win_compta
3. Montage Manuel (Test)
Attention : Le mot de passe est visible dans l'historique ici (mauvaise pratique pour la prod, ok pour le test).
mount -t cifs //192.168.1.200/Compta /mnt/win_compta -o username=utilisateur,password=MonMotDePasse
4. Persistance Sécurisée (fstab + credentials)
Ne mettez JAMAIS de mot de passe en clair dans /etc/fstab car il est lisible par tous. Utilisez un fichier de credentials protégé.
nano /root/.smbcreds
password=MonMotDePasse
chmod 600 /root/.smbcreds
//192.168.1.200/Compta /mnt/win_compta cifs credentials=/root/.smbcreds,_netdev 0 0
TP Guidé 4 : Scénario LVM (MySQL)
Scénario : Le Serveur de Base de Données
Vous êtes administrateur d'un serveur Linux. Une nouvelle application nécessite un espace de stockage dédié pour MySQL.
Matériel disponible : Un disque dur vierge de 20 Go détecté en /dev/sdb.
Mission 1 : Initialisation
Setup
Créez un volume logique nommé lv_mysql de 10 Go dans un groupe vg_data sur le disque /dev/sdb. Formatez-le en XFS et montez-le sur /var/lib/mysql.
pvcreate /dev/sdb
vgcreate vg_data /dev/sdb
lvcreate -n lv_mysql -L 10G vg_data
mkfs.xfs /dev/vg_data/lv_mysql
mkdir -p /var/lib/mysqlmount /dev/vg_data/lv_mysql /var/lib/mysql
Mission 2 : Urgence Disque Plein
Extension
Les logs ont rempli l'espace ! Il reste de la place sur /dev/sdb (il faisait 20 Go, on en a pris 10).
Objectif : Allouer tout l'espace restant au volume, sans éteindre le serveur.
lvextend -l +100%FREE -r /dev/vg_data/lv_mysql
Mission 3 : Persistance
Config
Assurez-vous que le montage survive au redémarrage en configurant fstab.
blkid /dev/vg_data/lv_mysql
UUID=550e8400-e29b... /var/lib/mysql xfs defaults 0 0
mount -a
// Si pas d'erreur, c'est gagné.