GNU/Linux >> Tutoriales Linux >  >> Linux

Agregar almacenamiento con LVM

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, como homemedia .
  • 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 pvspvdisplay :

"/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 vgsvgdisplay :

--- 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 lvslvdisplay :

--- 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.


Linux
  1. Configuración de almacenamiento local en Linux con Stratis

  2. Creación de un servidor de almacenamiento independiente similar a NFS con GlusterFS 3.2.x en Ubuntu 12.10

  3. Creación de volúmenes lógicos en Linux con LVM

  4. Los comandos LVM fallan con "Error al cargar el archivo de configuración /etc/lvm/lvm.conf"

  5. ¿Es posible reducir en línea un volumen EXT4 con LVM?

Cómo agregar almacenamiento externo a ownCloud 9

Aprenda LVM en Linux con herramientas gráficas

Una guía sobre instantáneas de LVM con ext4 en CentOS 7

Cómo crear un grupo de volúmenes en Linux con LVM

Administrador de volúmenes lógicos (LVM) versus partición estándar en Linux

Cómo cambiar el tamaño de un volumen lógico con 5 simples comandos LVM