Passer au contenu principal

Administration (Linux)

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épertoire

Les 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 GPT

Formater 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émontage

Pour 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  2

Tester 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 Volumes

En 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).