El administrador de volumen lógico (LVM) permite una capa de abstracción entre el sistema operativo y el hardware. Normalmente, su sistema operativo busca discos (/dev/sda
, /dev/sdb
, etc.) y particiones dentro de esos discos (/dev/sda1
, /dev/sdb1
, etc.).
En LVM, se crea una capa virtual entre el sistema operativo y los discos. En lugar de que una unidad contenga cierto número de particiones, LVM crea un grupo de almacenamiento unificado (llamado Grupo de volúmenes ) que abarca cualquier cantidad de unidades físicas (llamadas Volúmenes físicos ). Utilizando el almacenamiento disponible en un grupo de volúmenes, LVM proporciona lo que parecen ser discos y particiones a su sistema operativo.
Y el sistema operativo ignora por completo que está siendo "engañado".
Debido a que el LVM crea grupos de volúmenes y volúmenes lógicos virtualmente, facilita cambiar su tamaño o moverlos, o crear nuevos volúmenes, incluso mientras el sistema está funcionando. Además, LVM proporciona características que no están presentes de otra manera, como la creación de instantáneas en vivo de volúmenes lógicos, sin desmontar primero el disco.
Un grupo de volúmenes en un LVM es un contenedor virtual con nombre que agrupa los discos físicos subyacentes. Actúa como un grupo a partir del cual se pueden crear volúmenes lógicos de diferentes tamaños. Los volúmenes lógicos contienen el sistema de archivos real y pueden abarcar varios discos, y no es necesario que sean físicamente contiguos.
Más recursos de Linux
- Hoja de trucos de los comandos de Linux
- Hoja de trucos de comandos avanzados de Linux
- Curso en línea gratuito:Descripción general técnica de RHEL
- Hoja de trucos de red de Linux
- Hoja de trucos de SELinux
- Hoja de trucos de los comandos comunes de Linux
- ¿Qué son los contenedores de Linux?
- Nuestros últimos artículos sobre Linux
Características
- Los nombres de partición normalmente tienen designaciones de sistema como
/dev/sda1
. Los volúmenes LVM tienen nombres normales comprensibles para los humanos, comohome
omedia
. - El tamaño total de las particiones está limitado por el tamaño del disco físico subyacente. En LVM, los volúmenes pueden abarcar varios discos y solo están limitados por el tamaño total de todos los discos físicos en LVM.
- Las particiones normalmente solo se pueden cambiar de tamaño, mover o eliminar cuando el disco no está en uso y está desmontado. Los volúmenes LVM se pueden manipular mientras el sistema se está ejecutando.
- Las particiones solo se pueden expandir asignándoles espacio libre adyacente a la partición. Los volúmenes LVM pueden ocupar espacio libre desde cualquier lugar.
- Expandir una partición implica mover los datos para liberar espacio, lo que requiere mucho tiempo y podría provocar la pérdida de datos durante un corte de energía. Los volúmenes LVM pueden ocupar espacio libre desde cualquier parte del grupo de volúmenes, incluso en otro disco.
- Debido a que es tan fácil crear volúmenes en un LVM, anima a crear diferentes volúmenes, como crear volúmenes separados para probar funciones o probar diferentes sistemas operativos. Con las particiones, este proceso llevaría mucho tiempo y sería propenso a errores.
- Las instantáneas solo se pueden crear en un LVM. Le permite crear una imagen de un punto en el tiempo del volumen lógico actual, incluso mientras el sistema se está ejecutando. Esto es genial para las copias de seguridad.
Configuración de prueba
Como demostración, suponga que su sistema tiene la siguiente configuración de unidad:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
`-xvda1 202:1 0 8G 0 part /
xvdb 202:16 0 1G 0 disk
xvdc 202:32 0 1G 0 disk
xvdd 202:48 0 2G 0 disk
xvde 202:64 0 5G 0 disk
xvdf 202:80 0 8G 0 disk
Paso 1. Inicializar discos para usar con LVM
Ejecute pvcreate /dev/xvdb /dev/xvdc /dev/xvdd /dev/xvde /dev/xvdf
. La salida debe ser:
Physical volume "/dev/xvdb" successfully created
Physical volume "/dev/xvdc" successfully created
Physical volume "/dev/xvdd" successfully created
Physical volume "/dev/xvde" successfully created
Physical volume "/dev/xvdf" successfully created
Ver el resultado usando pvs
o pvdisplay
:
"/dev/xvde" is a new physical volume of "5.00 GiB"
--- NEW Physical volume ---
PV Name /dev/xvde
VG Name
PV Size 5.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 728JtI-ffZD-h2dZ-JKnV-8IOf-YKdS-8srJtn
"/dev/xvdb" is a new physical volume of "1.00 GiB"
--- NEW Physical volume ---
PV Name /dev/xvdb
VG Name
PV Size 1.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID zk1phS-7uXc-PjBP-5Pv9-dtAV-zKe6-8OCRkZ
"/dev/xvdd" is a new physical volume of "2.00 GiB"
--- NEW Physical volume ---
PV Name /dev/xvdd
VG Name
PV Size 2.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID R0I139-Ipca-KFra-2IZX-o9xJ-IW49-T22fPc
"/dev/xvdc" is a new physical volume of "1.00 GiB"
--- NEW Physical volume ---
PV Name /dev/xvdc
VG Name
PV Size 1.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID FDzcVS-sq22-2b13-cYRj-dXHf-QLjS-22Meae
"/dev/xvdf" is a new physical volume of "8.00 GiB"
--- NEW Physical volume ---
PV Name /dev/xvdf
VG Name
PV Size 8.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID TRVSH9-Bo5D-JHHb-g0NX-8IoS-GG6T-YV4d0p
Paso 2. Crear el grupo de volúmenes
Ejecute vgcreate myvg /dev/xvdb /dev/xvdc /dev/xvdd /dev/xvde /dev/xvdf
. Ver los resultados con vgs
o vgdisplay
:
--- Volume group ---
VG Name myvg
System ID
Format lvm2
Metadata Areas 5
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 5
Act PV 5
VG Size 16.98 GiB
PE Size 4.00 MiB
Total PE 4347
Alloc PE / Size 0 / 0
Free PE / Size 4347 / 16.98 GiB
VG UUID ewrrWp-Tonj-LeFa-4Ogi-BIJJ-vztN-yrepkh
Paso 3:Crear volúmenes lógicos
Ejecute los siguientes comandos:
lvcreate myvg --name media --size 4G
lvcreate myvg --name home --size 4G
Verifica los resultados usando lvs
o lvdisplay
:
--- Logical volume ---
LV Path /dev/myvg/media
LV Name media
VG Name myvg
LV UUID LOBga3-pUNX-ZnxM-GliZ-mABH-xsdF-3VBXFT
LV Write Access read/write
LV Creation host, time ip-10-0-5-236, 2017-02-03 05:29:15 +0000
LV Status available
# open 0
LV Size 4.00 GiB
Current LE 1024
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0
--- Logical volume ---
LV Path /dev/myvg/home
LV Name home
VG Name myvg
LV UUID Hc06sl-vtss-DuS0-jfqj-oNce-qKf6-e5qHhK
LV Write Access read/write
LV Creation host, time ip-10-0-5-236, 2017-02-03 05:29:40 +0000
LV Status available
# open 0
LV Size 4.00 GiB
Current LE 1024
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:1
Paso 4:Crear el sistema de archivos
Cree el sistema de archivos usando:
mkfs.ext3 /dev/myvg/media
mkfs.ext3 /dev/myvg/home
Montarlo:
mount /dev/myvg/media /media
mount /dev/myvg/home /home
Consulta tu configuración completa con lsblk
:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
`-xvda1 202:1 0 8G 0 part /
xvdb 202:16 0 1G 0 disk
xvdc 202:32 0 1G 0 disk
xvdd 202:48 0 2G 0 disk
xvde 202:64 0 5G 0 disk
`-myvg-media 252:0 0 4G 0 lvm /media
xvdf 202:80 0 8G 0 disk
`-myvg-home 252:1 0 4G 0 lvm /home
Paso 5:Ampliación del LVM
Añade un nuevo disco en /dev/xvdg
. Para ampliar la home
volumen, ejecute los siguientes comandos:
pvcreate /dev/xvdg
vgextend myvg /dev/xvdg
lvextend -l 100%FREE /dev/myvg/home
resize2fs /dev/myvg/home
Ejecute df -h
y deberías ver reflejada tu nueva talla.
¡Y eso es todo!
LVM permite una flexibilidad extrema en la forma en que configura su almacenamiento. ¡Pruébalo y diviértete con LVM!
Este artículo se publicó originalmente en el blog personal del autor y se ha adaptado con autorización.