Base de conocimientos · Servidores dedicados y VPS

Cómo redimensionar volúmenes con LVM

Última actualización: 2020-04-02

Consejos rápidos:
  • Para ver los detalles del grupo de volúmenes lógicos, use: vgdisplay
  • Para ver los detalles de los volúmenes lógicos, use: lvdisplay
  • Para crear nuevos volúmenes, use: lvcreate
  • Para cambiar el tamaño de los volúmenes existentes, utilice: lvresize
  • Utilice "--help" para ver la ayuda rápida del comando: lvresize --help
  • Es fácil añadir espacio adicional a un sistema de archivos existente, sin necesidad de interrumpir el servicio.
  • Reducir el sistema de archivos es mucho más difícil y SÍ requiere interrumpir el servicio.
  • No intente reducir un volumen a menos que sepa exactamente lo que está haciendo.
  • Más información aquí:http://www.centos.org/docs/5/html/Cluster_Logical_Volume_Manager
Antes de comenzar:
  • Ejecute "df -h /" para asegurarse de que dispone de algo de espacio libre en su volumen root. Si su volumen root está lleno al 100%, debe liberar espacio eliminando algunos archivos antes de continuar.
  • Ejecute "vgdisplay" y anote qué grupos de volúmenes tiene realmente.
  • Ejecute "lvdisplay" y anote qué volúmenes lógicos existen en su sistema.
  • Adapte los ejemplos siguientes a los nombres de sus volúmenes y grupos.

Ejemplo 1: añadir 10GB a la partición "/" (root)


Añada 10GB al volumen "root":
lvresize -L +10G /dev/VolGroup00/root

Cambie el tamaño del sistema de archivos que reside en ese volumen:

resize2fs /dev/VolGroup00/root

Nota: resize2fs puede tardar un tiempo en ampliar el sistema de archivos en un volumen grande, por lo que quizá le convenga abrir un segundo terminal y supervisar el progreso con el siguiente comando:

watch df -h
Ejemplo 2: establecer la memoria swap en 16GB

Desactive todas las áreas de swap:
swapoff -a
Establezca el tamaño de la partición swap en 16GB:
lvresize -L 16G /dev/VolGroup00/swap

Cambie el tamaño del área de intercambio (swap) para que utilice el nuevo tamaño del volumen:

mkswap
/dev/VolGroup00/swap
Active todas las áreas de intercambio:
swapon -a
Ejemplo 3: crear un nuevo volumen "data" de 5GB y montarlo como "/data"

Cree el punto de montaje:

mkdir /data

Cree el volumen:

lvcreate -L 5G -n data VolGroup00

Cree el sistema de archivos:

mkfs.ext3 /dev/VolGroup00/data

Añada la siguiente línea a su /etc/fstab:

/dev/VolGroup00/data /data ext3 defaults 0 2

Monte el volumen:

mount /data


Ejemplo 4: reducir el tamaño del volumen existente "test"

IMPORTANT:
1. La reducción del tamaño de un volumen NO se puede realizar mientras el sistema de archivos esté montado y puede tardar MUCHO tiempo.
2. Deberá arrancar desde un CD de rescate para poder reducir el tamaño de un volumen que contenga el sistema de archivos root.
3. Una reducción incorrecta del tamaño de un volumen DESTRUIRÁ SUS DATOS.

Asegúrese de contar con una buena copia de seguridad y de programar un amplio margen de inactividad, ya que reducir un sistema de archivos puede llevar bastante tiempo.

Queda advertido: proceda bajo su propia responsabilidad.

En primer lugar, asegúrese de que el sistema de archivos tenga suficiente espacio libre para poder reducirlo:

root@server:~# df -h /test/
Sistema de archivos Tamaño Usado Disp. Uso% Montado en
/dev/mapper/VolGroup00-test
5.0G 139M 4.6G 3% /test

Tenga en cuenta que incluso un sistema de archivos vacío ocupa algo de espacio: 139M en nuestro caso.
Proceda a desmontar el sistema de archivos.

root@server:~# umount /test

Ejecute una comprobación de consistencia del sistema de archivos. Esto puede tardar un poco.

root@server:~# fsck -f /dev/VolGroup00/test e2fsck 1.41.11 (14-Mar-2010)
Paso 1: Comprobando inodos, bloques y tamaños
Paso 2: Comprobando la estructura de directorios
Paso 3: Comprobando la conectividad de directorios
Paso 4: Comprobando los contadores de referencias
Paso 5: Comprobando la información de resumen de grupos
/dev/mapper/VolGroup00-test: 11/327680 archivos (0.0% no contiguos), 55935/1310720 bloques

Averigüe el tamaño de bloque del sistema de archivos

root@server:~# tune2fs -l /dev/VolGroup00/test | grep 'Block size'
Tamaño de bloque: 4096

Verifique de nuevo el tamaño mínimo del sistema de archivos en bloques:

root@server:~# resize2fs -P /dev/VolGroup00/test
resize2fs 1.41.11 (14-Mar-2010)
Tamaño mínimo estimado del sistema de archivos: 34477

En este ejemplo, el tamaño mínimo requerido del volumen lógico es: 34477*4096 = 141217792 bytes.
Aquí puede realizar cálculos para determinar cuál debe ser el tamaño final de su sistema de archivos; proceda con precaución. Es mucho más seguro reducir un sistema de archivos a su tamaño mínimo.

Según el tamaño actual del sistema de archivos, su uso y su distribución, este proceso puede tardar MUCHO tiempo.

root@server:~# resize2fs -M /dev/VolGroup00/test
resize2fs 1.41.11 (14-Mar-2010)
Cambiando el tamaño del sistema de archivos en /dev/raid1/test a 34477 bloques (de 4k).
El sistema de archivos en /dev/raid1/test ahora tiene una longitud de 34477 bloques.

ASEGÚRESE DE QUE EL NUEVO TAMAÑO PREVISTO DEL VOLUMEN SEA MAYOR QUE EL TAMAÑO DEL SISTEMA DE ARCHIVOS.
Tenga en cuenta que LVM asigna espacio a los volúmenes con una granularidad de extensión física (PE), por lo que es posible que no pueda obtener exactamente el tamaño deseado.

root@server:~# vgdisplay
--- Grupo de volúmenes ---
VG Name VolGroup00
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 44
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 20
Open LV 20
Max PV 0
Cur PV 1
Act PV 1
VG Size 930.50 GiB
PE Size 4.00 MiB
Total PE 238207
Alloc PE / Size 212966 / 831.90 GiB
Free PE / Size 25241 / 98.60 GiB
VG UUID LazRIZ-d8rU-2bwB-uI7o-6Amt-BH0w-oFxNh

En nuestro ejemplo, el tamaño de PE es de 4MB, por lo que deberá redondear el tamaño de volumen previsto al siguiente múltiplo de 4 superior.

Para mayor seguridad, le recomendamos encarecidamente añadir un margen adicional ("padding"), por lo que en este ejemplo reduciremos el volumen a 200M, una cifra superior tanto a los 139M utilizados que indica df como a los 141M calculados en bloques.

root@server:~# lvresize -L 200M /dev/VolGroup00/test
WARNING: Reducing active logical volume to 200.00 MiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce test? [y/n]: y
Reducing logical volume test to 200.00 MiB
Logical volume test successfully resized

Ahora, amplíe el sistema de archivos para que utilice todo el espacio disponible en el volumen lógico:

root@server:~# resize2fs /dev/VolGroup00/test
resize2fs 1.41.11 (14-Mar-2010)
Resizing the filesystem on
/dev/VolGroup00/test to 51200 (4k) blocks.
The filesystem on
/dev/VolGroup00/test is now 51200 blocks long.

Monte el sistema de archivos y compruebe el nuevo tamaño:

root@server:~# mount /dev/VolGroup00/test /test
root@server:~# df -h /test
Sistema de archivos Tamaño Usado Disp. Uso% Montado en
/dev/mapper/VolGroup00-test
196M 131M 56M 71% /test

← Todos los artículos de base de conocimientos

Tell us what you need

Compare available plans or describe your workload so we can discuss a suitable starting point.