Tutoriel Linux

LVM en Linux: Ampliar un volumen sin cambiar la capa

Débutant6 min de lecture
À retenirLinux n'est pas réservé aux experts. Le bon point de départ : une distribution accessible, une sauvegarde propre et quelques commandes comprises.

Has expandido un disco virtual, pero df-h Siempre muestra el mismo tamaño. Con LVM, esto es normal si solo ha cambiado la capa física. El disco, la partición, el volumen físico, el grupo de volúmenes, el volumen lógico y el sistema de archivos son elementos diferentes.

el orden extender Por lo tanto, no resuelve todos los problemas por sí solo. Antes de usarlo, debe localizar el espacio libre e identificar el sistema de archivos que desea expandir. También le recomiendo que revise su copia de seguridad antes de continuar. LVM facilita la extensión de un volumen, pero no protege sus datos de errores del dispositivo.

Tux expande un volumen lógico a partir de varios discos utilizando LVM.
LVM separa los discos físicos, el grupo de volúmenes y el volumen lógico que se va a expandir.

Identifique las capas LVM antes de cambiar el tamaño.

Un sistema de almacenamiento LVM típico sigue esta cadena:

  • un disco o una partición, por ejemplo /dev/nvme0n1p3 ;
  • A volumen físico (PV) creado en este dispositivo;
  • A grupo de volumen (VG) que reúne uno o más PV;
  • A volumen lógico (LV) cortado del VG;
  • un sistema de archivos ext4, XFS u otro, montado en una carpeta.

Comience mostrando toda la cadena. No reemplace ningún nombre hasta que haya vinculado el punto de montaje con el LV y el PV correctos:

lsblk -o NOMBRE,RUTA,TAMAÑO,TIPO,TIPO DE SISTEMA DE ARCHIVO,PUNTOS DE MONTAJE,MODELO
findmnt -no SOURCE,FSTYPE,TARGET /srv/data
sudo pvs -o pv_name,pv_size,pv_free,vg_name
sudo vgs -o vg_name,vg_size,vg_free
sudo lvs -a -o lv_name,vg_name,lv_size,lv_path,devices
df -hT /srv/data

En los siguientes ejemplos, el grupo se llama vgdatos, el volumen lógico lvdatos y el punto de montaje /srv/dataUtilice los valores reportados por su máquina. La guía en lsblk en Linux Te será útil si el árbol de directorios combina particiones, cifrado y volúmenes lógicos.

Realizar copias de seguridad de los datos y metadatos de LVM.

Una copia de los metadatos de LVM no reemplaza una copia de seguridad de archivos. Primero, verifique que los datos importantes existan en otro medio de almacenamiento y que sean recuperables. Luego, realice una copia de seguridad de la configuración del grupo de volúmenes.

sudo vgcfgbackup -f /root/vgdata-$(date +%F-%H%M).conf vgdata
sudo lvs -a -o lv_name,vg_name,lv_size,segtype,devices
sudo pvs -o pv_name,pv_uuid,pv_size,pv_free,vg_name

Además, incluya la salida de estos comandos en su informe de intervención. En un servidor remoto que aloje el directorio raíz o datos críticos, mantenga abierta una segunda sesión SSH y verifique el acceso a la consola del proveedor. Por lo general, una extensión no requiere un reinicio, pero un error en la partición o en la capa de cifrado podría interrumpir su acceso.

Caso 1: El grupo de volúmenes ya tiene espacio libre.

mira la columna VGratis de vgs. Si vgdatos Si ya dispone de al menos 10 GB de espacio libre, puede probar la extensión LV sin escribir metadatos:

sudo vgs -o vg_name,vg_size,vg_free
sudo lvextend --test -L +10G /dev/vgdata/lvdata

el modo --prueba Evita escribir metadatos, pero no simula todos los efectos secundarios. Verifique la ruta y el tamaño, y luego ejecute la extensión correspondiente:

sudo lvextend -L +10G /dev/vgdata/lvdata
sudo lvs -o lv_name,vg_name,lv_size,lv_path,devices /dev/vgdata/lvdata

La página del manual de extender también ofrece -l +100% GRATISEsta opción consume todo el espacio libre del VG. No la uso por defecto: conservar algo de espacio facilita futuras expansiones o la creación de otro volumen.

A continuación, expanda el sistema de archivos ext4 o XFS.

En esta etapa, el LV es más grande, pero df-h Aún puede mostrar la capacidad anterior. El sistema de archivos todavía necesita ampliarse. Verifique su tipo en lugar de deducirlo del nombre del volumen:

findmnt -no SOURCE,FSTYPE,TARGET /srv/data
lsblk -f /dev/vgdata/lvdata

Para un sistema de archivos ext4, usar redimensionar2fs en el volumen lógico:

sudo resize2fs /dev/vgdata/lvdata

La extensión en línea funciona en sistemas ext4 modernos una vez montada. Si la herramienta requiere control sin conexión o si el sistema de archivos es antiguo, programe el mantenimiento en lugar de forzar la extensión. Consulte la documentación para conocer las limitaciones. redimensionar2fs.

Para XFSDiríjase al punto de montaje, no al dispositivo:

sudo xfs_growfs /srv/data

XFS debe estar montado para esta operación y no puede reducir el tamaño de un sistema de archivos. La página de manual para xfs_growfs Este documento detalla esta operación. No aplique estos comandos a Btrfs, ZFS, LUKS ni a una pila RAID: cada capa tiene su propio procedimiento.

lvextend -r LVM puede extender tanto el propio LVM como el sistema de archivos con el mismo comando, si es compatible. Para operaciones delicadas, prefiero que ambos pasos se realicen por separado. De esta forma, se puede comprobar inmediatamente si la operación con LVM se realizó correctamente y si aún se requiere la extensión del sistema de archivos.

Caso 2: El disco ha crecido, pero el PV mantiene su tamaño original.

Esto ocurre con frecuencia después de aumentar el tamaño de un disco en un hipervisor. lsblk puede mostrar un disco más grande mientras PVS no indica ningún espacio libre adicional.

Si el PV depende de una partición, esa partición debe ocupar primero el nuevo espacio en disco. No lo inicie. pvredimensionar antes de confirmar su nuevo límite con lsblk y la herramienta de particionamiento. El tutorial sobre separado bajo Linux Explica cómo identificar el disco, guardar la tabla y reproducir los cambios sin crear un nuevo sistema de archivos.

Una vez que la partición LVM se haya ampliado, pruebe y luego cambie el tamaño del PV:

sudo pvs -o pv_name,pv_size,pv_free,vg_name
sudo pvresize --test /dev/nvme0n1p3
sudo pvresize /dev/nvme0n1p3
sudo vgs -o vg_name,vg_size,vg_free

La nueva habilidad debe aparecer en VGratisLuego puedes volver a extender, luego expanda el sistema de archivos. La documentación para pvredimensionar Confirma que la herramienta cambia el tamaño de un PV existente sin mover automáticamente otras capas.

Si el PV utiliza todo el disco, si LUKS se encuentra entre la partición y LVM, o si agrega un nuevo disco al VG, el orden cambia. Deténgase tan pronto como la cadena mostrada por lsblk No se corresponde con el ejemplo. Un comando correcto ejecutado en la capa incorrecta sigue siendo una mala intervención.

Comprueba el tamaño en cada nivel después de la extensión.

Para finalizar, compruebe el panel fotovoltaico hasta el punto de montaje. No se fíe únicamente del mensaje de éxito. extender :

sudo pvs -o pv_name,pv_size,pv_free,vg_name
sudo vgs -o vg_name,vg_size,vg_free
sudo lvs -o lv_name,vg_name,lv_size,lv_path,devices
findmnt -no SOURCE,FSTYPE,TARGET /srv/data
df -hT /srv/data
systemctl --failed
journalctl -k --since "-10 min" -p warning..alert --no-pager

Si lvs muestra el nuevo tamaño pero no df, no ejecutar extender Inténtalo de nuevo. Es probable que el sistema de archivos aún no se haya expandido o que estés controlando un punto de montaje diferente. encontrar Y lsblk -f antes de realizar cualquier pedido nuevo.

sudo apt update && sudo apt upgrade