Afficher la pageAnciennes révisionsLiens de retourHaut de page Cette page est en lecture seule. Vous pouvez afficher le texte source, mais ne pourrez pas le modifier. Contactez votre administrateur si vous pensez qu'il s'agit d'une erreur. ====== Gérer la partition swap ====== <label type="info">Création</label> --- //[[nekan@shyrkasystem.com|Nicolas THOREZ]] 2020/03/12 15:01// ===== Procédure ===== La partition ''swap'' sert de fichier d'échange sous Linux. Celle-ci se rempli donc pour soulager la RAM quand elle sature. Cependant, il arrive qu'elle ne se vide pas correctement quand la RAM est de nouveau libre. Pour vider cette partition sans risquer de perdre des processus et donc des données : * On commence par vérifier l'espace disponible en RAM : <sxh bash>free -h</sxh> <image shape="thumbnail">{{ :linux:swap_001.png |}}</image> * Dans cet exemple, on voit que l'espace occupé sur la ''swap'' (en <color #ed1c24>rouge</color>) est inférieur à l'espace disponible en RAM (en <color #22b14c>vert</color>). On peut donc sans problème faire le transfert : <sxh bash>swapoff -a && swapon -a</sxh> ===== Augmenter la partition ===== <callout type="info" icon="true" title="Environnement">Cette procédure ne fonctionne qu'avec des partitions gérées par LVM (Logical Volume Manager).</callout> <callout type="danger" icon="true" title="Droits">Cette procédure nécessite des droits administrateur ''root''. Faîtes donc très attention à ce que vous faîtes.</callout> Si de manière récurrente, la partition ''swap'' se remplie, sans que vous puissiez arrêter des processus inutiles, alors votre ''swap'' est probablement sous dimensionner. Pour étendre la partition : * On vérifie les disques déjà existants : <sxh bash>lsblk</sxh> Retour console : <sxh bash>NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT fd0 2:0 1 4K 0 disk sda 8:0 0 20G 0 disk ├─sda1 8:1 0 243M 0 part /boot ├─sda2 8:2 0 1K 0 part └─sda5 8:5 0 19,8G 0 part ├─test--1--vg-root 254:0 0 17,8G 0 lvm / └─test--1--vg-swap_1 254:1 0 2G 0 lvm [SWAP] sr0 11:0 1 3,7G 0 rom</sxh> * On ajoute un disque à notre VM (ou un disque physique à notre serveur, auquel cas, il ne faudra pas oublier de redémarrer ce dernier). * On scanne les périphériques à la recherche du nouveau disque. Dans la séquence, ci-dessous on remplacera ''host0'' par ''host1'' puis ''host2'', etc, jusqu'à ce que le système indique une erreur : <sxh bash>echo " - - - " > /sys/class/scsi_host/host0/scan</sxh> * On revérifie les disques existant et on note le nom du nouveau disque (''sdb'' dans notre cas) : <sxh bash>lsblk</sxh> Retour console : <sxh bash>NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT fd0 2:0 1 4K 0 disk sda 8:0 0 20G 0 disk ├─sda1 8:1 0 243M 0 part /boot ├─sda2 8:2 0 1K 0 part └─sda5 8:5 0 19,8G 0 part ├─test--1--vg-root 254:0 0 17,8G 0 lvm / └─test--1--vg-swap_1 254:1 0 2G 0 lvm [SWAP] sdb 8:16 0 8G 0 disk sr0 11:0 1 3,7G 0 rom</sxh> * On récupère le chemin de la partition ''swap'' : <sxh bash>lvdisplay</sxh> Retour console : <sxh bash> --- Logical volume --- LV Path /dev/test-1-vg/swap_1 LV Name swap_1 VG Name test-1-vg LV UUID 8IAOTo-LzMy-9Q8s-Nipm-tQLU-UH0H-emgQ9T LV Write Access read/write LV Creation host, time test-1, 2018-01-05 14:39:45 +0100 LV Status available # open 2 LV Size 2,00 GiB Current LE 512 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:1 </sxh> * On vérifie que la ''swap'' peut être vidée (voir plus haut) et, si c'est possible, on la désactive en indiquant le chemin de la partition : <sxh bash>swapoff -v /dev/test-1-vg/swap_1</sxh> * On intègre le nouveau disque à LVM : <sxh bash>pvcreate /dev/sdb</sxh> * Une fois la ''swap'' totalement désactivée, on peut étendre le volume en y ajoutant le nouveau disque : <sxh bash>vgextend /dev/test-1-vg /dev/sdb</sxh> * On étend la partition : <sxh bash>lvextend -l +100%FREE /dev/test-1-vg/swap_1</sxh> * On redimensionne la partition : <sxh bash>lvresize -l +100%FREE /dev/test-1-vg/swap_1</sxh> * On recrée la ''swap'' : <sxh bash>mkswap /dev/test-1-vg/swap_1</sxh> * Finalement, on peut réactiver la ''swap'' : <sxh bash>swapon -va</sxh> * On vérifie : <sxh bash>lvdisplay</sxh> Retour console : <sxh bash> --- Logical volume --- LV Path /dev/onl-infra-intrus-1-vg/swap_1 LV Name swap_1 VG Name onl-infra-intrus-1-vg LV UUID 8IAOTo-LzMy-9Q8s-Nipm-tQLU-UH0H-emgQ9T LV Write Access read/write LV Creation host, time onl-infra-intrus-1, 2018-01-05 14:39:45 +0100 LV Status available # open 0 LV Size <10,00 GiB Current LE 2559 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:1</sxh> Autre vérification : <sxh bash>free -h</sxh> Retour console : <sxh bash> total used free shared buff/cache available Mem: 7,8Gi 6,6Gi 209Mi 80Mi 1,0Gi 858Mi Swap: 9Gi 0B 9Gi</sxh> ~~DISCUSSION~~ swapoff.txt Dernière modification : 2021/03/05 15:31de nekan