RousselTMLEARNING

Article · Linux administration: from discovery to expertise

Disks, file systems and LVM

This article is available in French.

1. Inventaire #

Voir disques, partitions et points de montage.

Commandes #

Sortie de lsblk et df
lsblk montre l'arborescence disque → partition → LVM → montage.
lsblk -f                 # disques, partitions, FS, montages
sudo blkid               # UUID et types
df -hT                   # espace par système de fichiers
df -i                    # inodes (nombre de fichiers)
findmnt                  # arbre des montages
sudo fdisk -l            # tables de partitions
cat /proc/partitions

2. Partitionner et formater #

D'un disque brut à un répertoire utilisable.

Partitionner #

Chaîne de stockage
Chaque couche a ses commandes : parted, pvcreate, mkfs, mount.
sudo parted /dev/sdb --script mklabel gpt mkpart data 0% 100%
# ou interactif : sudo fdisk /dev/sdb  (g = GPT, n = nouvelle, w = écrire)
sudo partprobe /dev/sdb
Erreur Courante : Vérifiez trois fois le nom du disque avec lsblk : partitionner le mauvais disque détruit ses données. Les noms sdX peuvent changer d'un démarrage à l'autre.

Systèmes de fichiers #

TypeForcesÀ savoir
ext4robuste, polyvalent, se réduitdéfaut Debian/Ubuntu
XFSgros fichiers, parallélismedéfaut RHEL ; ne se réduit pas
Btrfssnapshots, compression, sous-volumesdéfaut openSUSE, Fedora
tmpfsen mémoiretemporaire, perdu au redémarrage
sudo mkfs.ext4 -L data /dev/sdb1
sudo mkfs.xfs /dev/vg_data/lv_srv

Monter et rendre permanent #

sudo mkdir -p /data
sudo mount /dev/sdb1 /data          # montage immédiat
sudo blkid /dev/sdb1                # récupérer l'UUID
# /etc/fstab : <périphérique> <point de montage> <type> <options> <dump> <fsck>
UUID=7f3e2b1c-...  /data  ext4  defaults,noatime  0  2
UUID=a91d...       /srv   xfs   defaults,nofail   0  2
192.168.1.10:/exports/partage  /mnt/partage  nfs  defaults,_netdev  0  0
sudo findmnt --verify      # vérifier fstab
sudo mount -a              # monter tout fstab : à faire AVANT de redémarrer
Bonne Pratique : Utilisez l'UUID dans fstab, pas /dev/sdb1, et ajoutez nofail aux disques non essentiels : un disque absent ne bloquera plus le démarrage.

3. LVM #

Agrandir sans arrêter le service.

Concepts #

Couches LVM
On ajoute un disque au groupe de volumes et on agrandit un volume logique, à chaud.

LVM regroupe des disques (PV) en une réserve (VG) dans laquelle on découpe des volumes (LV) redimensionnables. Il permet aussi des instantanés (snapshots) pour des sauvegardes cohérentes.

Créer #

sudo pvcreate /dev/sdb1
sudo vgcreate vg_data /dev/sdb1
sudo lvcreate -n lv_data -L 80G vg_data
sudo mkfs.ext4 /dev/vg_data/lv_data
sudo pvs ; sudo vgs ; sudo lvs

Agrandir à chaud #

sudo pvcreate /dev/sdc                         # nouveau disque
sudo vgextend vg_data /dev/sdc                 # l'ajouter à la réserve
sudo lvextend -r -L +50G /dev/vg_data/lv_data  # -r agrandit aussi le système de fichiers
sudo lvextend -r -l +100%FREE /dev/vg_data/lv_data
# disque virtuel agrandi par l'hyperviseur, sans LVM :
sudo growpart /dev/sda 2 && sudo resize2fs /dev/sda2    # ext4 (xfs_growfs / pour XFS)
À savoir : Agrandir est sans risque et à chaud ; réduire nécessite de démonter (ext4) et est impossible en XFS. Gardez de l'espace libre dans le VG plutôt que de tout allouer.

4. Espace disque, swap et RAID #

Les incidents de stockage les plus courants.

Disque plein #

Démarche face à un disque plein
Si df et du ne concordent pas, cherchez un fichier supprimé encore ouvert.
df -h                                   # quel système de fichiers ?
sudo du -xh --max-depth=1 /var | sort -h # quel répertoire ?
sudo ncdu -x /                           # explorateur interactif
sudo lsof +L1                            # fichiers supprimés encore ouverts
sudo journalctl --vacuum-time=7d
sudo apt clean
Erreur Courante : Supprimer un gros fichier de log encore ouvert par un processus ne libère pas l'espace : le processus garde le fichier. Videz-le (: > fichier.log) ou redémarrez le service.

Swap #

sudo fallocate -l 2G /swapfile && sudo chmod 600 /swapfile
sudo mkswap /swapfile && sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
swapon --show ; free -h
sudo sysctl vm.swappiness=10

RAID logiciel #

sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc   # miroir
cat /proc/mdstat
sudo mdadm --detail /dev/md0

📄 Stockage sous Linux : disques, partitions, systèmes de fichiers et LVM →

My progress

  • ⏱ Estimated time : ≈ 10 min

Sign in to track your progress and take notes. Sign in

✉️ Ask a question

Recommended Articles

Package managers

The different package managers for Kubernetes and their advantages.