LVM (Español)
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 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.
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 a (vea detalles más abajo ).
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 en fdisk). - Si utiliza la tabla de particionado GUID, ajuste el ID del tipo de partición a (tipo de partición en fdisk y en gdisk).
Crear volúmenes físicos
Para listar todos los dispositivos capaces de ser utilizados como un volumen físico, lance:
# lvmdiskscan
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 ), 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
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.
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
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 .
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
Crear sistemas de archivos y montar los volúmenes lógicos
Sus volúmenes lógicos deberian encontrarse en . 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
/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:
- y predeterminados para initramfs basado en busybox.
- y para initramfs basado en systemd.
está presente de forma predeterminada. Edite el archivo e inserte entre y filesystems
como sigue:
Para initramfs basado en systemd :
Después, puede continuar con las instrucciones de instalación normales en el paso crear una imagen ramdisk inicial.
Opciones del kernel
Si el sistema de archivos raíz reside en un volumen lógico, el Kernel parameters (Español) debe apuntar al dispositivo mapeado, por ejemplo /dev/<nombre_grupodevolúmenes>/<nombre_volumenlógico>
.
También podría ser necesario .
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 en el archivo . En caso de duda, deje esta opción comentada.
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 .
Agrandar
Para ampliar el volumen físico existente sobre el dispositivo , 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.
Encoger
Para reducir un volumen físico antes de reducir el dispositivo subyacente, agregue el parámetro 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 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 para ver los segmentos físicos. En el siguiente ejemplo, hay un volumen físico sobre , un grupo de volumen y un volumen lógico .
# 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í:
Redimensionar volumen físico
Una vez que todos sus segmentos físicos libres estén en las últimas extensiones físicas, ejecute y vea su extensión física libre.
Entonces, podrá ejecutar de nuevo la orden:
# pvresize --setphysicalvolumesize tamaño VolumenFísico
Vea el resultado:
Cambiar el tamaño del volumen lógico y del sistema de archivos a la vez
Extienda el volumen lógico del grupo de volúmenes 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 presente en 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 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 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 dentro del grupo de volúmenes 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 en 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 para obtener más opciones detalladas.
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 a
# 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 .
Cualquiera de las siguientes órdenes cambia el nombre del volumen lógico presente en el grupo de volúmenes a lvnew
.
# lvrename /dev/vg02/lvold /dev/vg02/lvnew
# lvrename vg02 lvold lvnew
Eliminar volúmenes lógicos
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 .
No se olvide actualizar el archivo .
Se puede verificar la eliminación del volumen lógico escribiendo 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.
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 /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 , y .
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)
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 , 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 a un tamaño diferente.
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 :
- 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 , consulte 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 .
Configurar mkinitcpio para RAID
Si su sistema de archivos raíz está en LVM sobre RAID además de los hooks o , debe agregar y los módulos RAID apropiados (por ejemplo, , , raid10
y/o ) a la matriz MODULES en .
Para initramfs basado en busybox:
Para initramfs basado en systemd:
Configuración gráfica
No existe una interfaz gráfica «oficial» para administrar volúmenes LVM, pero [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 debe ajustarse en . Este es el valor predeterminado ahora: si tiene un archivo , debe fusionarlos.
Las órdenes LVM no funcionan
- Cargue los modulos apropiados:
# modprobe dm-mod
El módulo 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 , puede utilizar las siguientes órdenes para activarlos:
# vgscan # vgchange -ay
LVM sobre un medio extraíble
Síntomas:
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 , 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 o --alloc contiguous
) y no hay extensiones contiguas adyacentes adicionales disponibles (vea también reference).
Para solucionar este problema, antes de extender el volumen lógico, cambie su política de asignación con . 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 ).
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, 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 a la configuración de su gestor de arranque. O haga que omita la comprobación de asignaciones de bloques (consulte ) y regenere initramfs:
Demora al apagar
Si utiliza RAID, instantáneas o aprovisionamiento, y experimenta un retraso en el apagado, asegúrese de que está iniciado. Consulte .
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 1Parte 2 detalles de instantáneas
- Red Hat: Logical Volume Manager Administration