Extender swap
De jagfloriano.com
Extender memoria SWAP en sistemas LVM
Alcance
Este procedimiento aplica a servidores Linux con SWAP gestionada mediante LVM. Es válido para entornos RHEL 7 y RHEL 8.
Flujo de decisión
- Comprobar si el servidor está usando SWAP
- Verificar si hay espacio libre en
vg00 - Si no hay espacio:
- Verificar si existe
vg_swap - Extender
vg_swapo crear uno nuevo
- Verificar si existe
- Extender
lv_swapy reactivar SWAP
1. Comprobar si el servidor está usando SWAP
El uso de SWAP indica presión de memoria. Si el servidor está swappeando, es necesario **coordinar una ventana de mantenimiento** (aprox. 1 hora), ya que será necesario desactivar la SWAP temporalmente.
Servidor SIN uso de SWAP
[root@serverA~]# free -h
total used free shared buffers cached
Mem: 31G 30G 629M 5.2G 493M 25G
-/+ buffers/cache: 4.7G 26G
Swap: 31G 0B 31G
[root@serverA~]# swapon -s
Filename Type Size Used Priority
/dev/dm-0 partition 2097148 0 -1
/dev/dm-10 partition 31457276 0 -2
Servidor CON uso de SWAP
[root@serverA~]# free -h
total used free shared buffers cached
Mem: 31G 31G 0 5.2G 493M 31G-/+ buffers/cache: 4.7G 26G
Swap: 31G 20B 11G
[root@serverA~]# swapon -s
Filename Type Size Used Priority
/dev/dm-0 partition 2097148 2097148 -1
/dev/dm-10 partition 31457276 18874368 -2
⚠️ En este caso, contactar con el propietario del servidor antes de continuar.
2. Comprobar espacio libre en vg00
[root@serverA~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg00 1 7 0 wz--n- <98.75g <25.92g
Comprobar tamaño actual de la SWAP:
[root@serverA~]# lvs|grep -i swap
lv_swap vg00 -wi-ao---- 4.41g
3. Caso A: Hay espacio suficiente en vg00
Si existe espacio libre suficiente en vg00, se puede extender directamente
lv_swap.
3.1 Determinar tamaño objetivo
Recomendación general:
- SWAP ≈ 50% de la RAM si no se especifica otro valor
Ejemplo:
RAM: 8G → SWAP recomendada: 4G
3.2 Desactivar SWAP
[root@serverA~]# sudo swapoff -a
3.3 Extender lv_swap
Ejemplo: aumentar 2 GB:
[root@serverA~]# sudo lvextend -L +2G /dev/vg00/lv_swap
Size of logical volume vg00/lv_swap changed from 4.41 GiB (1130 extents) to 6.41 GiB (1642 extents).
Logical volume vg00/lv_swap successfully resized.
3.4 Recrear firma de SWAP
[root@serverA~]# mkswap /dev/vg00/lv_swap
mkswap: /dev/vg00/lv_swap: warning: wiping old swap signature.
Setting up swapspace version 1, size = 6725628 KiB
no label, UUID=e47b51cb-2cd5-45aa-b3f4-0826bfb1c38d
[root@serverA~]# blkid |grep -i swap
/dev/mapper/vg00-lv_swap: UUID="e47b51cb-2cd5-45aa-b3f4-0826bfb1c38d" TYPE="swap"
3.5 Verificar /etc/fstab
Puede estar definido por:
- Ruta del dispositivo
- UUID
[root@serverA~]# cat /etc/fstab | grep swap
/dev/mapper/vg00-lv_swap swap swap defaults 0 0
3.6 Reactivar SWAP
[root@serverA~]# swapon -a
Verificación final:
[root@serverA~]# free -g | grep -i swap
Swap: 6 0 6