Stockage, LVM et montage
Gérer le stockage sur un serveur Linux, c'est identifier les disques, partitionner, formater, monter les systèmes de fichiers et utiliser LVM pour une gestion souple des volumes. Ces opérations sont quotidiennes dès qu'on gère de la capacité.
Identifier les disques
lsblk # arbre des disques et partitions
lsblk -f # avec systèmes de fichiers et UUID
fdisk -l # liste détaillée (requiert root)
df -h # espace utilisé par système de fichiers monté
du -sh /var/log/ # espace utilisé par un répertoireLes disques sont nommés /dev/sda, /dev/sdb... (SATA/SAS) ou /dev/nvme0n1, /dev/nvme1n1... (NVMe). Les partitions ajoutent un numéro : /dev/sda1, /dev/sda2.
Partitionner et formater
fdisk /dev/sdb # partitionner interactivement (MBR)
parted /dev/sdb # alternative avec support GPTFormater une partition :
mkfs.ext4 /dev/sdb1 # ext4 (usage général)
mkfs.xfs /dev/sdb1 # XFS (hautes performances, grosses données)
mkfs.vfat /dev/sdb1 # FAT32 (compatibilité universelle)Monter un système de fichiers
mount /dev/sdb1 /mnt/data # montage temporaire
umount /mnt/data # démontagePour un montage permanent, l'ajouter dans /etc/fstab. Utiliser l'UUID plutôt que /dev/sdX, qui peut changer après un reboot :
blkid /dev/sdb1 # obtenir l'UUID
# /etc/fstab
UUID=xxxxxxxx-xxxx /mnt/data ext4 defaults 0 2Tester sans redémarrer : mount -a monte tout ce qui est dans fstab et signale les erreurs.
LVM : gestion logique des volumes
LVM (Logical Volume Manager) découple les disques physiques des systèmes de fichiers. Il permet de redimensionner les volumes à chaud, d'ajouter de la capacité sans interruption, et de gérer des snapshots.
Concepts
- PV (Physical Volume) : un disque ou une partition formaté pour LVM
- VG (Volume Group) : pool de stockage regroupant un ou plusieurs PV
- LV (Logical Volume) : volume logique créé dans un VG, équivalent d'une partition
Créer une stack LVM
pvcreate /dev/sdb # créer un Physical Volume
vgcreate vg_data /dev/sdb # créer un Volume Group
lvcreate -L 50G -n lv_data vg_data # créer un Logical Volume de 50G
mkfs.ext4 /dev/vg_data/lv_data # formater en ext4
mount /dev/vg_data/lv_data /mnt/data # monterÉtendre un volume à chaud
Après lvextend, la commande pour étendre le système de fichiers dépend du type :
# Étendre le LV
lvextend -L +20G /dev/vg_data/lv_data
# ext4
resize2fs /dev/vg_data/lv_data
# XFS (monté — xfs_growfs prend le point de montage, pas le device)
xfs_growfs /mnt/dataÉtat LVM
pvs # Physical Volumes
vgs # Volume Groups
lvs # Logical VolumesEn pratique
LVM est quasi systématique en environnement serveur : il permet d'ajouter un disque au pool et d'étendre /var ou /home sans interrompre le service. L'erreur classique est de partitionner directement /dev/sdb et de se retrouver bloqué quand la partition est pleine. Avec LVM, ajouter un deuxième disque se fait en trois commandes : pvcreate /dev/sdc, vgextend vg_data /dev/sdc, lvextend -l +100%FREE /dev/vg_data/lv_data suivi de resize2fs (ext4) ou xfs_growfs (XFS).