LVM (Español)

Esta traducción de
LVM
fue revisada el
2019-09-20
. Si existen
cambios
puede
actualizarla
o avisar al
equipo de traducción
.
Artículos relacionados
Software RAID and LVM
dm-crypt (Español)/Encrypting an entire system (Español)#LVM sobre LUKS
dm-crypt (Español)/Encrypting an entire system (Español)#LUKS sobre LVM
Resizing LVM-on-LUKS
Create root filesystem snapshots with LVM
De
Wikipedia:Logical Volume Manager (Linux)
:
LVM es un
gestor de volúmenes lógicos
para el
kernel de Linux
, que gestiona unidades de disco y dispositivos similares de almacenamiento masivo.
Bloques para construir LVM
Logical Volume Management
(en adelante LVM, siglas en inglés) hace uso de la función
device-mapper
[
enlace roto
2024-01-13]
del kernel de Linux para proporcionar un sistema de particiones independientes de la estructura subyacente del disco. Con LVM es posible crear un espacio de almacenamiento abstracto así como distintas «particiones virtuales», por lo que es más fácil de
agrandar/encoger
particiones (siempre sujeto a posibles limitaciones de su sistema de archivos).
Las particiones virtuales permiten añadir/eliminar particiones sin tener que preocuparse acerca de si se tiene suficiente espacio contiguo en un disco concreto, ni quedar atrapado en el fdisking de un disco en uso (y preguntándose si el kernel está utilizando una tabla de particiones vieja o nueva), ni tener que mover otras particiones en el camino. Esto es un asunto que afecta estrictamente a la facilidad de gestión: LVM no proporciona ninguna seguridad.
Los bloques básicos que construyen LVM son:
Physical volume —
volúmenes físicos
— (en adelante PV)
Nodo de dispositivo de bloque de Unix, utilizable para almacenamiento por LVM. Ejemplos: un disco duro, una
partición
MBR o GPT, un archivo loopback, un dispositivo mapeador de dispositivos (por ejemplo,
dm-crypt (Español)
). Alberga un encabezado LVM.
Volume group —
grupo de volúmenes
— (en adelante VG)
Grupo de volúmenes físicos que sirve de contenedor para volúmenes lógicos. Las extensiones físicas se asignan desde un grupo de volúmenes para un volumen lógico.
Logical volume —
volúmenes lógicos
— (en adelante LV)
«Partición virtual/lógica» que reside en un grupo de volúmenes y está compuesta de extensiones físicas. Los volúmenes lógicos son dispositivos de bloque de Unix análogos a las particiones físicas, por ejemplo, se pueden formatear directamente con un
sistema de archivos
.
Physical extent —
extensiones físicas
— (en adelante PE)
La extensión contigua más pequeña (por defecto 4 MiB) en el volumen físico que se puede asignar a un volumen lógico. Piense en las extensiones físicas como partes de los volúmenes físicos que pueden asignarse a cualquier volúmen lógico.
Ejemplo:
Discos físicos
Disco1 (/dev/sda):
     _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    |Partición1 50 GiB (Volumen físico) |Partición2 80 GiB (Volumen físico)   |
    |/dev/sda1                          |/dev/sda2                            |
    |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _  _ _ |

  Disco2 (/dev/sdb):
     _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    |Partición1 120 GiB (Volumen físico)                |
    |/dev/sdb1                                          |
    | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _|
Volúmenes lógicos LVM
Grupo de volumen1 (/dev/MyStorage/ = /dev/sda1 + /dev/sda2 + /dev/sdb1):
     _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    |Volumen lógico1 15 GiB  |Volumen lógico2 35 GiB      |Volumen lógico3 200 GiB              |
    |/dev/MyVolGroup/rootvol |/dev/MyVolGroup/homevol     |/dev/MyVolGroup/mediavol             |
    |_ _ _ _ _ _ _ _ _ _ _ _ |_ _ _ _ _ _ _ _ _ _ _ _ _ _ |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|
Ventajas
LVM le da más flexibilidad que la simple partición de un disco duro para:
Poder utilizar cualquier número de discos como un gran disco.
Tener volúmenes lógicos estirados sobre varios discos.
Crear pequeños volúmenes lógicos y cambiar su tamaño «dinámicamente», cuando se llenen.
Cambiar el tamaño de los volúmenes lógicos sin importar su orden en el disco. No depende de la posición del volumen lógico dentro del grupo de volúmenes, ni hay necesidad de asegurar el espacio disponible circundante.
Redimensionar/crear/borrar el tamaño de los volúmenes lógicos y físicos en línea. Los sistemas de archivos en ellos todavía tendrán que ser redimensionados, pero algunos (como ext4) apoyan el cambio de tamaño en línea.
Migración en línea/vivo de volumenes lógicos, siendo utilizado por los servicios para diferentes discos sin tener que reiniciar los servicios.
Realizar instantáneas que permiten hacer copias de respaldo del sistema de archivos, mientras se mantiene el tiempo de inactividad del servicio a un mínimo.
Soporte para albergar distintos mapeadores de dispositivos, incluido el cifrado del sistema de archivos transparente y almacenamiento en caché de los datos de uso frecuente. Esto permite crear un sistema con (uno o más) discos físicos (cifrados con LUKS) y
LVM en la parte superior
para permitir el cambio de tamaño y la administración de volúmenes separados (por ejemplo,  para
/
,
/home
,
/backup
, etc.) sin la molestia de introducir una clave varias veces al arrancar.
Desventajas
Los pasos adicionales en la configuración del sistema, que lo hace más complicado.
Si tiene un arranque dual, tenga en cuenta que Windows no es compatible con LVM; no podrá acceder a ninguna partición LVM desde Windows.
Primeros pasos
Asegúrese de tener
instalado
el paquete
lvm2
.
Instalar Arch Linux sobre LVM
Se deben crear los volúmenes LVM entre el
particionado
y el
formateado
durante el
procedimiento de instalación
. En lugar de dar formato directamente a una partición para que sea su sistema de archivos root, esta operación se hará dentro de un volumen lógico (LV).
Remítase primero a «Primeros pasos».
He aquí un breve resumen:
Cree la
partición(s)
donde residirá su volumen físico (PV).
Cree los volúmenes físicos (PV). Si se tiene un disco lo mejor es simplemente crear un volumen físico en una partición grande. Si tiene varios discos se pueden crear particiones en cada uno de ellos y crear un volumen físico en cada partición.
Cree el grupo de volúmenes (VG) y asocie todos los volúmenes físicos (PV) al mismo.
Cree volúmenes lógicos (LV) dentro de su grupo de volúmenes (VG).
Continúe con el paso «Formatear las particiones» de
Installation guide (Español)#Formatear las particiones
.
Cuando llegue al paso «Crear entorno inicial ramdisk» en la guía de instalación, agregue el hook
lvm2
a
/etc/mkinitcpio.conf
(vea detalles más abajo ).
Advertencia
/boot
no puede residir en LVM cuando se utiliza un gestor de arranque que no soporta LVM. Puede crear una partición
/boot
separada y formatearla directamente. Que se conozca, solo
GRUB (Español)
soporta LVM.
Crear particiones
Es necesario
particionar
el dispositivo  antes de configurar LVM.
Cree las particiones:
Si utiliza la tabla de particionado Master Boot Record, ajuste el
ID del tipo de partición
a
8e
(tipo de partición
Linux LVM
en
fdisk
).
Si utiliza la tabla de particionado GUID, ajuste el
ID del tipo de partición
a
E6D6D379-F507-44C2-A23C-238F2A3DF928
(tipo de partición
Linux LVM
en
fdisk
y
8e00
en
gdisk
).
Crear volúmenes físicos
Para listar todos los dispositivos capaces de ser utilizados como un volumen físico, lance:
# lvmdiskscan
Advertencia
Asegúrese de indicar bien el dispositivo correcto, o de lo contrario la ejecución de las órdenes de abajo se traducirán en la perdidad de sus datos.
Cree un volumen físico en ellos:
# pvcreate
DISPOSITIVO
Esta orden crea una cabecera en cada dispositivo para que se pueda utilizar para LVM. Tal como se define en
#Bloques para construir LVM
, el
DISPOSITIVO
puede ser cualquier
dispositivo de bloque
, por ejemplo, un disco
/dev/sda
), una partición
/dev/sda2
o un dispositivo Loopback.
Por ejemplo:
# pvcreate /dev/sda2
Puede hacer un seguimiento de los volúmenes físicos creados con:
# pvdisplay
También puede obtener información resumida sobre volúmenes físicos con:
# pvscan
Sugerencia
Si tiene problemas con una firma de disco preexistente, puede eliminarla utilizando
wipefs
.
Nota
si se utiliza un disco SSD sin particionarlo primero, utilice
pvcreate --dataalignment 1m /dev/sda
(para el tamaño de bloque de borrado de < 1MiB), véase por ejemplo
esto
.
Crear grupo de volúmenes
El siguiente paso será crear un grupo de volúmenes sobre el volumen físico:
Lo primero que se necesita es crear un grupo de volúmenes sobre uno de los volúmenes físicos:
# vgcreate <
grupo_de_volúmenes
> <
volumen_físico
>
Por ejemplo:
# vgcreate VolGroup00 /dev/sda2
A continuación, puede añadir a dicho grupo de volúmenes tantos volúmenes físicos como desee tener en el mismo (a modo de una sola unidad):
# vgextend <
grupo_de_volúmenes
> <
volumen_físico
>
# vgextend <
grupo_de_volúmenes
> <
otro_volumen_físico
>
# ...
Por ejemplo:
# vgextend VolGroup00 /dev/sdb1
# vgextend VolGroup00 /dev/sdc
Puede hacer un seguimiento de cómo su grupo de volúmenes ha crecido con:
# vgdisplay
Esto también es lo que haría si quisiera agregar un disco a un RAID o grupo de réplica con discos fallidos.
Nota
se pueden crear más de un grupo de volúmenes si es necesario, pero entonces no tendrá todo su almacenamiento presente como si fuera un disco.
Crear en un solo paso
LVM le permite la creación de un grupo de volúmenes sobre varios volúmenes físicos en un solo paso. Por ejemplo, para crear el grupo VolGroup00 con los tres dispositivos mencionados anteriormente, puede ejecutar:
# vgcreate VolGroup00 /dev/sda2 /dev/sdb1 /dev/sdc
Esta orden configurará primero las tres particiones como volúmenes físicos (si es necesario) y luego creará el grupo de volúmenes con los tres volúmenes físicos. La orden le advertirá si detecta un sistema de archivos existente en cualquiera de los dispositivos.
Crear volúmenes lógicos
Sugerencia
Si desea utilizar instantáneas, volúmenes lógicos para almacenamiento caché, volúmenes lógicos de aprovisionamiento ligero o RAID, consulte
#Tipos de volúmenes lógicos
.
Ahora necesitaremos crear volúmenes lógicos en el mencionado grupo de volúmenes. Para ello debe utilizar la siguiente orden, proporcionándole como parámetros, su tamaño (-L), el grupo de volúmenes al que pertenecerá, y el nombre (-n) que queremos darle al nuevo volumen lógico:
# lvcreate -L <
tamaño
> <
grupo_de_volúmenes
> -n <
volumen_lógico
>
Por ejemplo:
# lvcreate -L 10G VolGroup00 -n lvolhome
Luego, podrá acceder al nuevo volumen lógico creado con
/dev/VolGroup00/lvolhome
. Igual que sucede con los grupos de volúmenes, puede ponerle el nombre que desee al volumen lógico cuando lo crea, salvo algunas excepciones enumeradas en
lvm(8) § VALID_NAMES
.
También puede especificar uno o más volúmenes físicos para limitar donde quiere que LVM asigne los datos. Por ejemplo, es posible que desee crear un volumen lógico para el sistema de archivos raíz en SSD (si es pequeño), y el volumen de su home en una unidad mecánica más grande y lenta. Tan solo tiene que añadir el dispositivo del volumen físico a la línea de órdenes, por ejemplo:
# lvcreate -L 10G VolGroup00 -n lvolhome /dev/sdc1
Si desea ocupar todo el espacio libre que queda del grupo de volúmenes, utilice la siguiente orden:
# lvcreate -l +100%FREE  <
grupo_de_volúmenes
> -n <
volumen_lógico
>
Puede hacer un seguimiento de los volúmenes lógicos creados con:
# lvdisplay
Nota
es posible que deba cargar el módulo del kernel
device-mapper
(
modprobe dm_mod
) para que las órdenes anteriores puedan tener éxito.
Sugerencia
Se puede comenzar creando volúmenes lógicos relativamente pequeños y ampliarlos más adelante si fuera necesario. Para simplificar, deje un poco de espacio libre en el grupo de volúmenes para tener margen para su expansión.
Crear sistemas de archivos y montar los volúmenes lógicos
Sus volúmenes lógicos deberian encontrarse en
/dev/NombredelGrupodedeVolúmenes/
. De no encontrarse, utilice la siguiente orden para cargar el modulo que crea nodos de dispositivos y hacer que los grupos de volúmenes estén disponibles:
# modprobe dm-mod
# vgscan
# vgchange -ay
Ahora puede crear el sistema de archivos en los volúmenes lógicos, y montarlos como particiones normales (si está instalando Arch, remítase a
montar las particiones
para obtener información adicional):
# mkfs.<
tipo_sistema_archivos
> /dev/<
grupo_de_volúmenes
>/<
volumen_lógico
>
# mount /dev/<
grupo_de_volúmenes
>/<
volumen_lógico
> /<
punto_de_montaje
>
Por ejemplo:
# mkfs.ext4 /dev/VolGroup00/lvolhome
# mount /dev/VolGroup00/lvolhome /home
Advertencia
Al elegir los puntos de montaje, solo tiene que seleccionar los volúmenes lógicos recién creados (utilice:
/dev/Volgroup00/lvolhome
).
No
seleccione las particiones reales sobre las que se crearon los volúmenes lógicos (por tanto, no utilice:
/dev/sda2
).
Configurar mkinitcpio
En caso de que su sistema de archivos raíz esté sobre LVM, tendrá que activar los hooks de
mkinitcpio (Español)
apropiados, de lo contrario su sistema podría no arrancar. Active:
udev
y
lvm2
predeterminados para initramfs basado en busybox.
systemd
y
sd-lvm2
para initramfs basado en systemd.
udev
está presente de forma predeterminada. Edite el archivo e inserte
lvm2
entre
block
y
filesystems
como sigue:
/etc/mkinitcpio.conf
HOOKS=(base
udev
... block
lvm2
filesystems)
Para initramfs basado en systemd :
/etc/mkinitcpio.conf
HOOKS=(base
systemd
... block
sd-lvm2
filesystems)
Después, puede continuar con las instrucciones de instalación normales en el paso
crear una imagen ramdisk inicial
.
Sugerencia
Los hooks
lvm2
y
sd-lvm2
serán instalados por el paquete
lvm2
, no por
mkinitcpio
. Si está ejecutando
mkinitcpio
en un entrono
arch-chroot
para una nueva instalación,
lvm2
debe estar instalado dentro del entorno
arch-chroot
para
mkinitcpio
con el fin de encontrar el hook
lvm2
o
sd-lvm2
. Si
lvm2
se instala fuera del entorno
arch-chroot
,
mkinitcpio
generará la salida
Error: Hook 'lvm2' cannot be found
.
Si su sistema de archivos raíz está en LVM sobre RAID, consulte
#Configurar mkinitcpio para RAID
.
Opciones del kernel
Si el sistema de archivos raíz reside en un volumen lógico, el
Kernel parameters (Español)
root=
debe apuntar al dispositivo mapeado, por ejemplo
/dev/
<nombre_grupodevolúmenes>
/
<nombre_volumenlógico>
.
También podría ser necesario
dolvm
.
Operaciones sobre los volúmenes
Opciones avanzadas
Puede restringir los volúmenes que se activan de forma automática mediante el establecimiento de la variable
auto_activation_volume_list
en el archivo
/etc/lvm/lvm.conf
. En caso de duda, deje esta opción comentada.
Redimensionar volúmenes
Volúmenes físicos
Después de aumentar o antes de reducir el tamaño de un dispositivo que tiene sobre él un volumen físico, necesita aumentar o reducir el tamaño del volumen físico mediante
pvresize
.
Agrandar
Para ampliar el volumen físico existente sobre el dispositivo
/dev/sda1
, después de aumentar dicha
partición
, ejecute:
# pvresize /dev/sda1
Esto detectará automáticamente el nuevo tamaño del dispositivo y extenderá el volumen físico a su máximo.
Nota
esta orden se puede ejecutar mientras el volumen está en línea.
Encoger
Para reducir un volumen físico antes de reducir el dispositivo subyacente, agregue el parámetro
--setphysicalvolumesize
<tamaño>
a la orden,
por ejemplo
:
# pvresize --setphysicalvolumesize 40G /dev/sda1
La orden anterior puede arrojar el siguiente error:
/dev/sda1: cannot resize to 25599 extents as later ones are allocated.
 0 physical volume(s) resized / 1 physical volume(s) not resized
De hecho
pvresize
se negará a reducir un volumen físico si tiene asignadas extensiones adyacentes a lo que sería su nuevo final. Se tiene que ejecutar
pvmove
de antemano para reubicar estas extensiones en el grupo de volúmenes a otro lugar, si no hay suficiente espacio libre.
Mover extensiones físicas
Antes de mover extensiones libres al final del volumen, se debe ejecutar
# pvdisplay -v -m
para ver los segmentos físicos. En el siguiente ejemplo, hay un volumen físico sobre
/dev/sdd1
, un grupo de volumen
vg1
y un volumen lógico
backup
.
# pvdisplay -v -m
Finding all volume groups.
    Using physical volume(s) on command line.
  --- Physical volume ---
  PV Name               /dev/sdd1
  VG Name               vg1
  PV Size               1.52 TiB / not usable 1.97 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              399669
  Free PE               153600
  Allocated PE          246069
  PV UUID               MR9J0X-zQB4-wi3k-EnaV-5ksf-hN1P-Jkm5mW

  --- Physical Segments ---
  Physical extent 0 to 153600:
    FREE
  Physical extent 153601 to 307199:
    Logical volume	/dev/vg1/backup
    Logical extents	1 to 153599
  Physical extent 307200 to 307200:
    FREE
  Physical extent 307201 to 399668:
    Logical volume	/dev/vg1/backup
    Logical extents	153601 to 246068
Se puede observar que el espacio FREE (LIBRE) se intercala por todo el volumen. Para reducir el tamaño del volumen físico, primero tenemos que mover todos los segmentos utilizados al comienzo.
Aquí, el primer segmento libre es desde 0 a 153.600, lo cual nos deja con 153.601 extensiones libres. Ahora podemos mover este número de segmentos desde la última extensión física de la primera. La orden sería así:
# pvmove --alloc anywhere /dev/sdd1:307201-399668 /dev/sdd1:0-92467
/dev/sdd1: Moved: 0.1 %
/dev/sdd1: Moved: 0.2 %
...
/dev/sdd1: Moved: 99.9 %
/dev/sdd1: Moved: 100,0%
Nota
Esta orden indica que se muevan 399.668 - 307.201 + 1 = 92.468 extensiones físicas
desde
el último segmento
al
primer segmento. Esto es posible ya que el primer segmento cerrado LIBRE es de 153.600 extensiones físicas, que puede contener las 92.467 - 0 + 1 = 92.468 extensiones físicas trasladadas.
La opción
--alloc anywhere
se utiliza cuando movemos extensiones físicas dentro de la misma partición. En caso de particiones diferentes, la orden sería algo como esto:
# pvmove /dev/sdb1:1000-1999 /dev/sdc1:0-999
El traslado toma su tiempo (una/dos horas) en el caso de gran tamaño. Puede ser una buena idea ejecutar esta orden en una sesión
Tmux
o
GNU Screen
. Cualquier parada no deseada del proceso puede ser fatal.
Una vez finalizada la operación, ejecute
fsck
para asegurarse de que su sistema de archivos es válido.
Redimensionar volumen físico
Una vez que todos sus segmentos físicos libres estén en las últimas extensiones físicas, ejecute
vgdisplay
y vea su extensión física libre.
Entonces, podrá ejecutar de nuevo la orden:
# pvresize --setphysicalvolumesize
tamaño
VolumenFísico
Vea el resultado:
# pvs
PV         VG   Fmt  Attr PSize    PFree 
  /dev/sdd1  vg1  lvm2 a--     1t     500g
Redimensionar partición
Volúmenes lógicos
Nota
lvresize(8)
proporciona, más o menos, las mismas opciones que las órdenes especializadas de
lvextend(8)
y
lvreduce(8)
, al tiempo que permite hacer ambos tipos de operaciones. A pesar de esto, todos las utilidades ofrecen una opción
-r, --resizefs
que permite cambiar el tamaño del sistema de archivos junto con el volumen lógico, mediante
fsadm(8)
(que soporta
ext2
,
ext3
,
ext4
,
ReiserFS
y
XFS
). Por lo tanto, puede ser más fácil simplemente utilizar
lvresize
para ambas operaciones y utilizar
--resizefs
para simplificar un poco las cosas, excepto si tiene necesidades específicas o desea tener un control total sobre el proceso.
Advertencia
Si bien la ampliación de un sistema de archivos, a menudo, puede hacerse en línea (
es decir
mientras está montado), incluso para la partición raíz, la reducción, casi siempre, requerirá primero desmontar el sistema de archivos para evitar pérdida de datos. Asegúrese de que su sistema de archivos sea compatible con lo que está tratando de hacer.
Cambiar el tamaño del volumen lógico y del sistema de archivos a la vez
Nota
solo los
sistemas de archivos
ext2
,
ext3
,
ext4
,
ReiserFS
y
XFS
son ​​compatibles. Para un tipo diferente de sistema de archivos, consulte
#Cambiar el tamaño del volumen lógico y del sistema de archivos separadamente
.
Extienda el volumen lógico
mediavol
del grupo de volúmenes
MyVolGroup
en 10 GiB  y redimensione
a la vez
su sistema de archivos :
# lvresize -L +10G --resizefs MyVolGroup/mediavol
Establezca el tamaño del volumen lógico
mediavol
presente en
MyVolGroup
a 15 GiB y redimensione
a la vez
su sistema de archivos:
# lvresize -L 15G --resizefs MyVolGroup/mediavol
Si desea ocupar todo el espacio libre con un grupo de volúmenes, utilice la siguiente orden:
# lvresize -l +100%FREE --resizefs MyVolGroup/mediavol
Consulte
lvresize(8)
para obtener más opciones detalladas.
Cambiar el tamaño del volumen lógico y del sistema de archivos separadamente
Para los sistemas de archivos no admitidos por
fsadm(8)
necesitará utilizar la
utilidad apropiada
para cambiar el tamaño del sistema de archivos antes de reducir el volumen lógico o después de expandirlo.
Para extender el volumen lógico
mediavol
dentro del grupo de volúmenes
MyVolGroup
en 2 GiB
sin
tocar su sistema de archivos:
# lvresize -L +2G MyVolGroup/mediavol
Ahora expanda el sistema de archivos (
ext4
en este ejemplo) al tamaño máximo del volumen lógico subyacente:
# resize2fs /dev/MyVolGroup/mediavol
Para reducir el tamaño del volumen lógico
mediavol
en
MyVolGroup
en 500 MiB, primero calcule el tamaño del sistema de archivos resultante y reduzca el tamaño del sistema de archivos (
ext4
en este ejemplo) al nuevo tamaño:
# resize2fs /dev/MyVolGroup/mediavol
NewSize
Una vez encogido el sistema de archivos, reduzca el tamaño del volumen lógico:
# lvresize -L -500M MyVolGroup/mediavol
Consulte
lvresize(8)
para obtener más opciones detalladas.
Renombrar volúmenes
Renombrar un grupo de volúmenes
Utilice la orden
vgrename(8)
para cambiar el nombre de un grupo de volúmenes existente.
Cualquiera de las siguientes órdenes cambia el nombre del grupo de volúmenes existente
vg02
a
my_volume_group
# vgrename /dev/vg02 /dev/my_volume_group
# vgrename vg02 my_volume_group
Renombrar volúmenes lógicos
Para cambiar el nombre de un volumen lógico existente, utilice la orden
lvrename(8)
.
Cualquiera de las siguientes órdenes cambia el nombre del volumen lógico
lvold
presente en el grupo de volúmenes
vg02
a
lvnew
.
# lvrename /dev/vg02/lvold /dev/vg02/lvnew
# lvrename vg02 lvold lvnew
Eliminar volúmenes lógicos
Advertencia
Antes de quitar un volumen lógico, asegúrese de mover todos los datos que desee conservar a otro lugar; ¡de lo contrario, se perderán!
En primer lugar, averigüe el nombre del volumen lógico que desea eliminar. Se puede obtener una lista de todos los volúmenes lógicos instalados en el sistema con:
# lvs
A continuación, busque el punto de montaje del volumen lógico elegido, con:
$ lsblk
Ahora, desmonte el sistema de archivos del volumen lógico:
# umount /<
punto_montaje
>
Por último, elimine el volumen lógico:
# lvremove <
grupo_volúmenes
>/<
volumen_lógico
>
Por ejemplo:
# lvremove VolGroup00/lvolhome
Confirme la operación escribiendo
y
.
No se olvide actualizar el archivo
/etc/fstab
.
Se puede verificar la eliminación del volumen lógico escribiendo
lvs
con privilegios de root de nuevo (vea el primer paso de esta sección).
Agregar un volumen físico a un grupo de volúmenes
En primer lugar, cree un nuevo volumen físico en el dispositivo de bloque que desea usar, y luego intégrelo en su grupo de volúmenes:
# pvcreate /dev/sdb1
# vgextend VolGroup00 /dev/sdb1
Por supuesto, esto aumentará el número total de extensiones físicas en el grupo de volúmenes, que podrá asignar a los volúmenes lógicos como mejor le parezca.
Nota
se considera una buena práctica tener una
tabla de particiones
en el soporte de almacenamiento que aloja LVM. Utilice el tipo de código apropiado para su partición:
8e
para MBR, y
8e00
para.
Eliminar una partición de un grupo de volúmenes
Si ha creado un volumen lógico en la partición,
elimínelo
primero.
Todos los datos de la partición deben ser movidos a otra partición. Afortunadamente, LVM lo hace sencillo:
# pvmove /dev/sdb1
Si quiere tener los datos en un volumen fisico específico, agréguelo como segundo argumento a
pvmove
:
# pvmove /dev/sdb1 /dev/sdf1
Luego, eliminamos los volúmenes físicos del grupo de volúmenes:
# vgreduce myVg /dev/sdb1
O, eliminamos todos los volúmenes vacíos:
# vgreduce --all vg0
Por ejemplo: si tiene un disco dañado en un grupo que no se puede encontrar porque se eliminó o falló:
# vgreduce --removemissing --force vg0
Por último, si quiere usar la partición para algo más, y quiere evitar a LVM, piense que esa partición es un volumen fisico más:
# pvremove /dev/sdb1
Desactivar un grupo de volúmenes
Basta con invocar la orden:
# vgchange -a n <
grupo_de_volúmenes
>
Esto desactivará el grupo de volúmenes y le permitirá desmontar el contenedor donde está almacenado.
Activar grupo de volúmenes
# vgchange -a y vg0
Esto reactivará el grupo de volúmenes si, por ejemplo, tuvo un fallo de unidad en una réplica y cambió la unidad, al ejecutar
pvcreate
,
vgextend
y
vgreduce --removemissing --force
.
Reparar un grupo de volúmenes lógicos
Para iniciar el proceso de reconstrucción de la matriz de réplica degradada en este ejemplo, debe ejecutar:
# lvconvert --repair /dev/vg0/mirror
Puede supervisar el proceso de reconstrucción (Cpy%Sync Column output) con:
# lvs -a -o +devices
Tipos de volúmenes lógicos
Además de volúmenes lógicos simples, LVM admite instantáneas, volúmenes lógicos para almacenamiento caché, volúmenes lógicos de aprovisionamiento ligero y RAID.
Instantáneas/Snapshots
LVM permite tomar instantáneas («
snapshots
») de su sitema, lo que es mucho más eficiente que las tradicionales copias de respaldo («
backup
»). Podemos hacer esto usando una politica COW (copy-on-write/
copia-cuando-escribe
). La instantánea inicial simplemente contiene enlaces fuertes a los inodos de sus datos actuales. Mientras los datos estén descargados, la instantánea simplemente contará con punteros a sus respectivos inodos y no a los datos en sí mismos. Cada vez que se modifica un archivo o un directorio a la que apunte la isntantanea, LVM automaticamente clonará los datos. Por lo tanto, puede tener instantáneas de un sistema de 35 GiB de datos usando solo 2 GiB de espacio libre, mientras sean modificados menos de 2GiB de datos (en el original y en la instantánea). Para poder crear instantáneas necesita tener espacio no asignado en su grupo de volúmenes. La instantánea, como cualquier otro volumen, ocupará espacio en el grupo de volúmenes. Por lo tanto, si planea usar instantáneas para hacer una copia de seguridad de su partición raíz, no asigne el 100% de su grupo de volúmenes para el volumen lógico raíz.
Configuración
Los volúmenes lógicos para las instantáneas se crean igual que los normales:
# lvcreate --size 100M --snapshot --name snap01 /dev/mapper/vg0-pv
Con dicho volumen, podrá modificar hasta de 100 MiB de datos, antes de que el volumen para las instantáneas se llene.
Para revertir el volumen lógico del «volumen físico» modificado al estado en que se tomó la instantánea «snap01», ejecute:
# lvconvert --merge /dev/vg0/snap01
En caso de que el volumen lógico de origen esté activo, la fusión se producirá en el siguiente reinicio (la fusión se puede hacer, incluso, desde un CD Live)
Nota
la instantánea dejará de existir después de la fusión.
Se pueden tomar también varias instantáneas y cada una se puede combinar con el volumen lógico de origen a voluntad.
La instantánea se puede montar y respaldar con
dd
o
tar
. El tamaño del archivo de respaldo hecho con
dd
será equivalente al tamaño de los archivos que residen en el volumen de instantánea.
Para restaurar basta con crear una instantánea, montarla y escribir o extraerla de la copia de seguridad. Y luego fusionarla con la de origen.
Las instantáneas se utilizan principalmente para proporcionar una copia congelada de un sistema de archivos para respaldarlo; una copia de seguridad que tome dos horas ofrece una imagen más coherente del sistema de archivos que una copia de respaldo directamente de la partición.
Vea
Create root filesystem snapshots with LVM
para automatizar la creación de instantáneas límpias del sistema de archivos raíz durante el inicio del sistema para respaldar y restaurar.
dm-crypt (Español)/Encrypting an entire system (Español)#LVM sobre LUKS
y
dm-crypt (Español)/Encrypting an entire system (Español)#LUKS sobre LVM
.
Si tiene volúmenes LVM no activados a través de
initramfs (Español)
,
active
el servicio
lvm-monitoring.service
, proporcionado por el paquete
lvm2
.
La memoria caché de LVM
De
lvmcache(7)
:
El tipo de volumen lógico de caché utiliza un volumen lógico pequeño y rápido para mejorar el rendimiento de un volumen lógico grande y lento. Lo hace almacenando en el volumen lógico más rápido los bloques utilizados con más frecuencia (del volumen lógico grande). LVM se refiere al volumen lógico pequeño y rápido como un volumen lógico que actúa como un contenedor de memoria caché. El volumen lógico lento se llama volumen lógico de origen. Debido a los requisitos de dm-cache (el controlador del kernel), LVM divide aún más el volumen lógico que sirve de contenedor de la memoria caché en dos dispositivos: el volumen lógico para la caché de datos y el volumen lógico para la caché de metadatos. El volumen lógico para la caché de datos es donde se guardan copias de bloques de datos del volumen lógico de origen para aumentar la velocidad. El volumen lógico para la memoria caché de los metadatos contiene la información de recuento que especifica dónde se almacenan los bloques de datos (por ejemplo, en el volumen lógico de origen o en el volumen lógico para la caché de los datos). Los usuarios deben estar familiarizados con estos volúmenes lógicos si desean crear los mejores y más robustos volúmenes lógicos como almacenamientos de caché. Todos estos volúmenes lógicos asociados deben estar en el mismo grupo de volúmenes.
Crear la memoria caché
El método rápido es crear un volumen físico (si es necesario) en el disco y agregarlo al grupo de volúmenes existente:
# vgextend dataVG /dev/sdx
Cree un contenedor de caché con metadatos automáticos en sdb y convierta el volumen lógico existente (dataLV) a un volumen de almacenamiento caché, todo en un solo paso:
# lvcreate --type cache --cachemode writethrough -L 20G -n dataLV_cachepool dataVG/dataLV /dev/sdx
Obviamente, si desea que su caché sea más grande, puede cambiar el parámetro
-L
a un tamaño diferente.
Nota
Cachemode tiene dos opciones posibles:
writethrough
asegura que todos los datos escritos se almacenarán tanto en el volúmen lógico que actúa como contenedor para la memoria caché como en el volúmen lógico de origen. La pérdida de un dispositivo asociado con el volúmen lógico de la memoria caché, en este caso, no significaría la pérdida de ningún dato;
writeback
garantiza un mejor rendimiento, pero a costa de un mayor riesgo de pérdida de datos en caso de que la unidad utilizada para la caché falle.
Si no se indica un valor
--cachemode
específico, el sistema asumirá el parámetro
writethrough
como predeterminado.
Eliminar la memoria caché
Si alguna vez necesita deshacer la operación anterior en un solo paso :
# lvconvert --uncache dataVG/dataLV
Esto confirma las escrituras pendientes que aún están en la memoria caché para que vuelvan al volumen lógico de origen, luego elimina la caché. Otras opciones están disponibles y se describen en
lvmcache(7)
.
RAID
De
lvmraid(7)
:
lvm(8)
RAID es una forma de crear un volumen lógico (LV) que utiliza varios dispositivos físicos para mejorar el rendimiento o tolerar los posibles fallos de alguno de los dispositivos. En LVM, los dispositivos físicos son volúmenes físicos (PV) integrados un solo grupo de volúmenes (VG).
RAID sobre LVM admite RAID 0, RAID 1, RAID 4, RAID 5, RAID 6 y RAID 10. Consulte
Wikipedia:Standard RAID levels
para obtener detalles sobre cada nivel.
Configurar RAID
Cree los volúmenes físicos:
# pvcreate /dev/sda2 /dev/sdb2
Cree un grupo de volúmenes con los volúmenes físicos:
# vgcreate VolGroup00 /dev/sda2 /dev/sdb2
Cree volúmenes lógicos con
lvcreate --type
raidlevel
, consulte
lvmraid(7)
y
lvcreate(8)
para obtener más opciones.
# lvcreate --type RaidLevel [OPTIONS] -n Name -L Size VG [PVs]
Por ejemplo:
# lvcreate --type raid1 --mirrors 1 -L 20G -n myraid1vol VolGroup00 /dev/sda2 /dev/sdb2
creará un volumen lógico replicado de 20 GiB llamado «myraid1vol» en VolGroup00 sobre
/dev/sda2
y
/dev/sdb2
.
Configurar mkinitcpio para RAID
Si su sistema de archivos raíz está en LVM sobre RAID además de los hooks
lvm2
o
sd-lvm2
, debe agregar
dm-raid
y los módulos RAID apropiados (por ejemplo,
raid0
,
raid1
,
raid10
y/o
raid456
) a la matriz MODULES en
mkinitcpio.conf
.
Para initramfs basado en busybox:
/etc/mkinitcpio.conf
MODULES=(
dm-raid raid0 raid1 raid10 raid456
)
HOOKS=(base
udev
... block
lvm2
filesystems)
Para initramfs basado en systemd:
/etc/mkinitcpio.conf
MODULES=(
dm-raid raid0 raid1 raid10 raid456
)
HOOKS=(base
systemd
... block
sd-lvm2
filesystems)
Configuración gráfica
No existe una interfaz gráfica «oficial» para administrar volúmenes LVM, pero
system-config-lvm
AUR
[
enlace roto
: package not found]
cubre la mayoría de las operaciones comunes y proporciona visualizaciones simples del estado del volumen. Puede cambiar automáticamente el tamaño de muchos sistemas de archivos cuando redimensiona los volúmenes lógicos.
Solución de problemas
Problemas de arranque/apagado debido a lvmetad desactivado
El parámetro
use_lvmetad = 1
debe
ajustarse en
/etc/lvm/lvm.conf
. Este es el valor predeterminado ahora: si tiene un archivo
lvm.conf.pacnew
, debe fusionarlos.
Las órdenes LVM no funcionan
Cargue los modulos apropiados:
# modprobe dm-mod
El módulo
dm_mod
debería cargarse automáticamente. En caso contrario, pruebe con:
/etc/mkinitcpio.conf
MODULES=(dm_mod ...)
Tendrá que
volver a crear
la imagen initramfs para que surtan efectos los cambios realizados.
Anteponga
lvm
a la orden:
# lvm pvdisplay
No se muestran los volúmenes lógicos
Si se está tratando de montar volúmenes lógicos existentes, pero no se muestran con
lvscan
, puede utilizar las siguientes órdenes para activarlos:
# vgscan
# vgchange -ay
LVM sobre un medio extraíble
Síntomas:
# vgscan
Reading all physical volumes.  This may take a while...
  /dev/backupdrive1/backup: read failed after 0 of 4096 at 319836585984: Input/output error
  /dev/backupdrive1/backup: read failed after 0 of 4096 at 319836643328: Input/output error
  /dev/backupdrive1/backup: read failed after 0 of 4096 at 0: Input/output error
  /dev/backupdrive1/backup: read failed after 0 of 4096 at 4096: Input/output error
  Found volume group "backupdrive1" using metadata type lvm2
  Found volume group "networkdrive" using metadata type lvm2
Causa:
Extraer una unidad externa con LVM sin ​​desactivar el grupo(s) de volúmenes primero. Antes de desconectar el medio, asegúrese de ejecutar:
# vgchange -an
nombre_del_grupo_de_volumen
Arreglo:
Asumiendo que ya ha intentado activar el grupo de volúmenes con
# vgchange -ay
vg
, y se siguen recibiendo los errores de entrada/salida, ejecute:
# vgchange -an
nombre_del_grupo_de_volumen
Desconecte la unidad externa y espere unos minutos:
# vgscan
# vgchange -ay
nombre_del_grupo_de_volumen
Al redimensionar un volumen lógico contiguo falla
Si al intentar extender un volumen lógico produce errores con:
" Insufficient suitable contiguous allocatable extents for logical volume "
La razón es que el volumen lógico se creó con una explícita política de asignación contigua (con las opciones
-C y
o
--alloc contiguous
) y no hay extensiones contiguas adyacentes adicionales disponibles (vea también
reference
[
enlace roto
2025-11-17]
).
Para solucionar este problema, antes de extender el volumen lógico, cambie su política de asignación con
lvchange --alloc inherit <volumen_lógico>
. Si necesita mantener la política de asignación contigua, un método alternativo consistiría en mover el volumen a un área del disco con suficientes extensiones libres (vea
[1]
).
La orden «grub-mkconfig» informa del error «unknown filesystem»
Asegúrese de retirar los volúmenes de instantáneas antes de
generar grub.cfg
.
Dispositivo de volumen raíz aprovisionado para agotar tiempo de espera
Con una gran cantidad de instantáneas,
thin_check
se ejecuta durante un tiempo suficientemente prolongado para que se agote el tiempo de espera del dispositivo raíz. Para compensar, agregue el parámetro de arranque del kernel
rootdelay=60
a la configuración de su gestor de arranque. O haga que
thin_check
omita la comprobación de asignaciones de bloques (consulte
[2]
) y
regenere initramfs
:
/etc/lvm/lvm.conf
thin_check_options = [ "-q", "--clear-needs-check-flag", "--skip-mappings" ]
Demora al apagar
Si utiliza RAID, instantáneas o aprovisionamiento, y experimenta un retraso en el apagado, asegúrese de que
lvm2-monitor.service
está
iniciado
. Consulte
FS#50420
.
Véase también
Página de recursos de LVM2
en SourceWare.org
LVM
artículo en Gentoo wiki
Guía de Ubuntu LVM, parte 1
Parte 2 detalles de instantáneas
Red Hat: Logical Volume Manager Administration