[Dédié] Modification de la SWAP Imprimer

  • 0

  • Préambule

Nous montrerons donc 4 cas d'augmentation de swap :

-Un agrandissement de swap sur le rootvg
-Un ajout de partition/lv de swap
-Un agrandissement de swap sur un autre vg ( augmentation suite au 2ème cas )
-Une création de fichier pour un ajout de swap (dans le cas où il n'y a pas de place dans les VG, à n'utiliser que temporairement dans le cas d'un incident)

 

  • Instructions Techniques

- Dans un 1er temps, on vérifie l'état de la swap (Volumétrie, lieu de stockage...) :

[root@serveur ~]# free -m
                    total   used    free    shared  buffers cached
Mem:                3832    3624    208     0       286     1075
-/+ buffers/cache:  2263    1569
Swap:               1055    160     895
[root@serveur ~]# swapon -s
Filename            Type    Size    Used Priority
/dev/dm-0           1081336 164136  -1

On voit ici avec un "swapon -s" que l'espace de swap est situé sur le device /dev/dm-0, on va donc chercher à quoi correspond le dm-0 (dm = device mapper, le device mapper est un framework de gestion des devices de stockage ) :

[root@serveur~]# cat /sys/devices/virtual/block/dm-0/dm/name
root_vg-lv_swap

pour confirmation, on voit bien des liens symboliques :

[root@serveur ~]# lvs |grep swap
lv_swap     root_vg     -wi-ao  1.03g
[root@serveur ~]# ls -al /dev/root_vg/lv_swap
lrwxrwxrwx 1 root root 7 Mar 13 2014 /dev/root_vg/lv_swap -> ../dm-0

Selon la configuration du serveur, on pourra avoir plusieurs ligne lors du swapon -s, il faudra donc checker pour les autres dm-x.

  • Agrandissement de swap sur le rootvg

Ce cas est étudié pour une augmentation à 2G (assurez vous avant tout d'avoir déjà assez de mémoire, ou prévoyez une swap de temporaire en backup.) :

-On vérifie la taille de la swap avant :

[root@serveur  ~]# free -m
                    total   used    free    shared  buffers cached
Mem:                3832    3624    208     0       286     1075
-/+ buffers/cache:  2263    1569
Swap:               1000    160     895

-On libère le LV de swap :

[root@serveur ~]# swapoff /dev/root_vg/lv_swap

-On étend le LV.

[root@serveur ~]# lvextend -L 2G /dev/root_vg/lv_swap
Extending logical volume lv_swap to 2.00 GB
Logical volume lv_swap successfully resized

-On formate le Lv en format swap pour prendre en compte la nouvelle volumétrie.

[root@serveur ~]# mkswap /dev/root_vg/lv_swap
Setting up swapspace version 1, size = 2147479 kB

-On réaffecte le LV à la swap.

[root@serveur ~]# swapon /dev/root_vg/lv_swap

-On vérifie la taille de la swap au final :

[root@serveur ~]# free -m
                    total   used    free    shared  buffers cached
Mem:                3832    3624    208     0       286     1075
-/+ buffers/cache:  2263    1569
Swap:               2000    160     895
  • Ajout de volume logique (LV) de swap

Attention, ce cas n'est pas abordé dans les docs officielles
Il consiste à créer un 2nd lv de swap de 1Go sur un VG autre que le root_vg où il y a de la place, par exemple sur notre serveur, cela donnerait ceci :
Attention, dans le cadre d'un incident on utilisera un nom de LV comme celui ci lv_swap_Incident  ce qui nous permet d'identifier si c'est un LV temporaire ou pas.

Vérification de volumétrie de libre :

[root@serveur ~]# vgs
VG          #PV #LV #SN Attr    VSize   VFree
data_vg     1   7   0   wz--n-  80.00g  17.10g
root_vg     1   6   0   wz--n-  13.88g  1.03g
Création de LV à la taille voulue :
[root@serveur~]# lvcreate -n lv_swap_Incident -L 1G data_vg

Formatage du LV de swap :

[root@serveur ~]# mkswap /dev/data_vg/lv_swap_Incident
Setting up swapspace version 1, size = 2147479 kB

Prise en compte dans la swap actuelle :

[root@serveur ~]# swapon /dev/data_vg/lv_swap_Incident

Ajout dans la ligne suivante à la fin du fichier /etc/fstab pour prise en compte lors du reboot (ne pas faire dans le cadre d'un incident) :

/dev/data_vg/lv_swap_Incident swap swap defaults 0 0
  • Agrandissement de swap après ajout de de 2nd partition

-Ce cas est étudié  dans le cadre d'une augmentation sur le root_vg, il faut donc l'adapter sur le VG comportant le LV de swap comme ceci pour une augmentation à 2G:

-L'identification du LV à agrandir se fera grâce au swapon -s indiqué plus haut et la même analyse des dm-x pour trouver les LV hors root_vg.
En se basant sur la précédente action, on sait donc que c'est le /dev/data_vg/lv_swap_2.
-On vérifie la taille de la swap avant :

[root@serveur ~]# free -m
                    total   used    free    shared  buffers cached
Mem:                3832    3624    208     0       286     1075
-/+ buffers/cache:  2263    1569
Swap:               2000    160     895

-On libère le LV de swap :

[root@serveur ~]# swapoff /dev/data_vg/lv_swap_2

-On étend le LV.

[root@serveur ~]# lvextend -L 2G /dev/data_vg/lv_swap_2
Extending logical volume lv_swap to 2.00 GB
Logical volume lv_swap successfully resized

-On formate le LV en format swap pour prendre en compte la nouvelle volumétrie.

[root@serveur ~]# mkswap /dev/root_vg/lv_swap
Setting up swapspace version 1, size = 2147479 kB

-On réaffecte le LV à la swap.

[root@serveur ~]# swapon /dev/root_vg/lv_swap

-On vérifie la taille de la swap au final :

[root@serveur ~]# free -m
                    total   used    free    shared  buffers cached
Mem:                3832    3624    208     0       286     1075
-/+ buffers/cache:  2263    1569
Swap:               3000    160     895
  • Création de fichier pour un ajout de swap

-Pour cela, il nous faut un LV ou il y a assez d’espace (ne pas oublier de laisser de l'espace pour éviter toute saturation).
-Création du fichier d’1 Giga, ou $DIR correspond à un répertoire dans un LV défini selon le critère cité ci-dessus

[serveur]/root#dd if=/dev/zero of=/$DIR/swaptemp bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 1.9817 seconds, 529 MB/s
[serveur]/root#mkswap /$DIR/swaptemp
Setting up swapspace version 1, size = 1048571 kB
[serveur]/root#swapon /$DIR/swaptemp

Cette réponse était-elle pertinente?

« Retour