Utiliser LVM pour la swap
Dans de nombreuses documentations, des lignes sont saisies pour que vous créiez une partition primaire à utiliser pour la swap. Récemment, en construisant mes machines de mon homelab , j’ai effectué la même chose. Suite à discussion sur des réseaux sociaux, une idée est apparue : utiliser un volume logique dans LVM pour y placer la swap.
Compromis : mets la en LVM. Ça reste souple.— Olivier Bonvalet 🖖 (@BoolKiRool) December 17, 2023
Pré-requis#
Avant de modifier la swap, assurez-vous qu’elle n’est plus utilisée :
swapon --show
free -h
file /chemin/vers/swapSi la swap est vide, désactivez-la avec $ swapoff /chemin/vers/swap. Dans mon cas, ma swap était sur /dev/nvme0n1p3. J’ai utilisé $ cfdisk /dev/nvme0n1 pour supprimer la partition nvme0n1p3 et agrandir l’espace physique du bloc LVM via cfdisk.
Aparté sur le calcul de la swap#
L’espace « swap » peut être utile mais est souvent incompris. Vous m’avez peut-être déjà entendu dire que « la swap n’est plus utile aujourd’hui ». Je maintiens cette opinion, car les performances et les capacités actuelles des disques et de la RAM rendent la swap obsolète. Considérez ces facteurs pour déterminer la taille de swap nécessaire.
Modifications LVM#
Gardez à l’esprit les commandes pvs, vgs et lvs pour récupérer les noms de vos volumes dans LVM.
- Créez un volume logique (LV)
Utilisez la commande
lvcreatepour créer un LV de la taille souhaitée dans votre groupe de volumes existant. Remplacez “nom-vg” par le nom de votre VG et “swap” par le nom que vous souhaitez donner au LV :lvcreate -L 8G -n swap nom-vg - Formatez le LV pour le swap
Utilisez la commande
mkswappour formater le LV nouvellement créé pour qu’il fonctionne comme un espace de swap :$ mkswap /dev/nom-vg/swap.
Activation de l’espace de swap#
- Utilisez
swaponpour activer le LV en tant qu’espace de swap :$ swapon /dev/nom-vg/swap - Vérifiez si l’espace de swap est actif : utilisez la commande
freeouswaponpour vérifier que l’espace de swap est activé et est utilisé :$ free -h;$ swapon --summary.
Configuration permanente#
- Mettez à jour le fichier
/etc/fstabpour que le LV soit monté comme espace de swap au démarrage. Grâce à la commandeblkid, récupérez l’UUID de la partition précédemment créée et ajoutez ou modifiez l’entrée dans le fstab :UUID=change-me none swap sw 0 0 - Vérifiez la configuration : redémarrez votre système et utilisez à nouveau
$ free -hpour vous assurer que l’espace de swap est monté automatiquement. Désormais, vous avez une swap dans une partition LVM, permettant d’être modifiée en termes de taille beaucoup plus aisément qu’en partition primaire. Encore merci Olivier pour l’astuce ;).