Extender swap
Procedimiento: 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.
Todos los ejemplos se ejecutan como root en el servidor SERVER.
---
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
free -h
Salida esperada:
Swap: 31G 0B 31G
swapon -s
Used: 0
---
Servidor CON uso de SWAP
free -h
Swap: 31G 20G 11G
swapon -s
Used > 0
⚠️ En este caso, contactar con el propietario del servidor antes de continuar.
---
2. Comprobar espacio libre en vg00
vgs
Ejemplo:
VG VSize VFree vg00 98.75g 25.92g
Comprobar tamaño actual de la SWAP:
lvs | grep -i swap
lv_swap vg00 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
swapoff -a
---
3.3 Extender lv_swap
Ejemplo: aumentar 2 GB:
lvextend -L +2G /dev/vg00/lv_swap
---
3.4 Re-crear firma de SWAP
mkswap /dev/vg00/lv_swap
---
3.5 Verificar /etc/fstab
Puede estar definido por:
- Ruta del dispositivo
- UUID
grep swap /etc/fstab
---
3.6 Reactivar SWAP
swapon -a
Verificación final:
free -g | grep -i swap
---
4. Caso B: NO hay espacio libre en vg00
---
4.1 Verificar si existe vg_swap
vgs | grep -i vg_swap
---
5. Caso B1: vg_swap existe y tiene espacio libre
Seguir el mismo procedimiento que en el Caso A, usando:
/dev/vg_swap/lv_swap
---
6. Caso B2: vg_swap existe pero NO tiene espacio
Añadir un nuevo disco desde VMware y extender el VG:
vgextend vg_swap /dev/sdX
(Sustituir /dev/sdX por el disco correspondiente)
Continuar con el procedimiento del Caso A.
---
7. Caso B3: vg_swap NO existe
---
7.1 Crear nuevo VG para SWAP
vgcreate vg_swap /dev/sdX
---
7.2 Crear LV de SWAP
Ejemplo: crear 30 GB de SWAP:
lvcreate -n lv_swap -L 30G vg_swap
---
7.3 Formatear SWAP
mkswap /dev/vg_swap/lv_swap
---
7.4 Actualizar /etc/fstab
Backup previo:
cp /etc/fstab /etc/fstab.BACKUP
Añadir entrada:
/dev/vg_swap/lv_swap swap swap defaults 0 0
---
7.5 Activar SWAP
swapon -a
Verificar:
free -g | grep -i swap
---
Resultado esperado
- La SWAP refleja el nuevo tamaño
- No hay pérdida de datos
- El sistema continúa operativo
- La configuración persiste tras reinicio
---
Notas importantes
- Nunca extender SWAP sin verificar uso previo
- Siempre desactivar SWAP antes de modificarla
- Validar
/etc/fstabantes de finalizar - Documentar cambios en sistemas productivos