GNU/Linux >> Tutoriales Linux >  >> Cent OS

Guía para principiantes de LVM (Gestión de volúmenes lógicos)

¿Qué es LVM?

El administrador de volumen lógico (LVM) introduce una capa adicional entre los discos físicos y el sistema de archivos que permite que los sistemas de archivos:
– cambien de tamaño y se muevan fácilmente y en línea sin necesidad de una interrupción en todo el sistema.
– Uso discontinuo espacio en el disco
:nombres significativos para los volúmenes, en lugar de los nombres de dispositivos crípticos habituales.
:abarca varios discos físicos

Linux LVM es muy similar a HP-UX LVM y proporciona muchas otras características avanzadas como instantáneas, compatibilidad con clústeres (GFS2, OCFS y Lustre).

Conceptos

LVM se compone de pocas capas conceptuales, como el volumen físico, el volumen lógico y los sistemas de archivos.

Las capas conceptuales se componen a su vez de unidades más pequeñas como extensiones físicas (en el caso de volúmenes físicos) y extensiones lógicas (en el caso de volúmenes lógicos).

Volumen físico (VP)

Cada volumen físico puede ser una partición de disco, un disco completo, un metadispositivo o un archivo de bucle invertido. Usa el comando pvcreate para inicializar el almacenamiento para que lo use LVM. Inicializar un dispositivo de bloque como volumen físico coloca una etiqueta al inicio del dispositivo.

Grupo de volumen (VG)

Un grupo de volúmenes reúne una colección de volúmenes lógicos y volúmenes físicos en una unidad administrativa. El grupo de volúmenes se divide en extensiones físicas de tamaño fijo. El comando vgcreate crea un nuevo grupo de volúmenes utilizando la ruta de volumen físico del dispositivo especial de bloque configurada previamente para LVM con pvcreate.
– Los VG están compuestos por PV, que a su vez están compuestos por extensiones físicas (PE). El tamaño de PE puede diferir en diferentes VG y se define en el momento de crear VG.
– El tamaño predeterminado de PE es de 4 MB, pero puede cambiarlo al valor que desee en el momento de la creación de VG.
– En general, cuanto mayor sea el tamaño de PE, mejor será el rendimiento (aunque menos control granular de LV).

Volumen Lógico (LV)

Un volumen lógico es el equivalente conceptual de una partición de disco en un sistema que no es LVM. Los volúmenes lógicos son dispositivos de bloque que se crean a partir de las extensiones físicas presentes en el mismo grupo de volúmenes. Puede usar el comando lvcreate para crear un volumen lógico en un grupo de volúmenes existente.

Sistema de archivos

Los sistemas de archivos se crean sobre volúmenes lógicos. El comando mkfs se puede usar para crear un sistema de archivos sobre un volumen lógico. Una vez que se crea el sistema de archivos, podemos montar el volumen lógico según nuestras necesidades.

Empecemos

El ejemplo
En el siguiente ejemplo:
1. Cree 3 volúmenes físicos a partir de 3 discos físicos (/dev/sdb, /dev/sdc, /dev/sdd ).
2. Cree un grupo de volumen a partir de estos 3 PV (/dev/vg01 ).
3. Cree un Volumen Lgico en este VG (/dev/vg01/lvol01 ).
4. Cree un sistema de archivos en este LV y móntelo (/data01 ).

Crear volúmenes físicos

El pvcreate El comando se usa para inicializar el PV para que lo use LVM. Antes de crear el PV, asegúrese de que el disco esté visible en el sistema operativo. Para escanear los dispositivos de bloque que se usarán como PV, use el lvmdiskscan comando.

# lvmdiskscan
.......
  /dev/sdb   [       2.00 GiB]
  /dev/sdc   [       2.00 GiB]
  /dev/sdd   [       2.00 GiB]
  3 disks
  19 partitions
  0 LVM physical volume whole disks
  0 LVM physical volumes

Inicialice los dispositivos de bloque:

# pvcreate /dev/sdb /dev/sdc /dev/sdd
  Physical volume "/dev/sdb" successfully created
  Physical volume "/dev/sdc" successfully created
  Physical volume "/dev/sdd" successfully created

Mostrar volúmenes físicos
Use los comandos pvdisplay , pv y pvscan para mostrar los PV que acabamos de crear.

# pvdisplay
  "/dev/sdb" is a new physical volume of "2.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb
  VG Name
  PV Size               2.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               Mt3F7z-a2AV-28Vn-uXe2-QejE-Z6tP-UMlQGM

  "/dev/sdc" is a new physical volume of "2.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc
  VG Name
  PV Size               2.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               5m1Fuc-yTRn-I2vG-bMfU-6SE7-53EA-s8VQjt

  "/dev/sdd" is a new physical volume of "2.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdd
  VG Name
  PV Size               2.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               1x3e2A-C0Lt-DrUA-tPSM-lsMu-sn70-qg1j8p
# pvscan
  PV /dev/sdb                      lvm2 [2.00 GiB]
  PV /dev/sdc                      lvm2 [2.00 GiB]
  PV /dev/sdd                      lvm2 [2.00 GiB]
  Total: 3 [6.00 GiB] / in use: 0 [0   ] / in no VG: 3 [6.00 GiB]
# pvs
  PV         VG   Fmt  Attr PSize PFree
  /dev/sdb        lvm2 a--  2.00g 2.00g
  /dev/sdc        lvm2 a--  2.00g 2.00g
  /dev/sdd        lvm2 a--  2.00g 2.00g

Crear un grupo de volúmenes

Usa el vgcreate comando para crear el nuevo grupo de volúmenes vg01 usando los 3 PV que acabamos de crear. Podemos especificar las extensiones con -s opción y número máximo de PV y LV en el VG usando las opciones -p y -l respectivamente. Todas estas opciones son opcionales y no es necesario utilizarlas necesariamente.

# vgcreate vg01 /dev/sdb /dev/sdc /dev/sdd
  Volume group "vg01" successfully created

Las opciones opcionales que se utilizan con el comando vgcreate son:

Opción Significado
-s Tamaño de la extensión física
-p Número máximo de PV
-l Número máximo de LV
–asignar política de asignación (ya sea contigua, en cualquier lugar o adherida)

Mostrando la información de VG
Los comandos vgs y vgdisplay se pueden usar para mostrar la información sobre el VG que acabamos de crear:

# vgs vg01
  VG   #PV #LV #SN Attr   VSize VFree
  vg01   3   0   0 wz--n- 5.99g 5.99g
# vgdisplay vg01
  --- Volume group ---
  VG Name               vg01
  System ID
  Format                lvm2
  Metadata Areas        3
  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                3
  Act PV                3
  VG Size               5.99 GiB
  PE Size               4.00 MiB
  Total PE              1533
  Alloc PE / Size       0 / 0
  Free  PE / Size       1533 / 5.99 GiB
  VG UUID               Cw7GGz-NH3o-Sax2-5jPv-buZS-938T-tmNKFa

Activación y desactivación de VG
El cambio vg El comando se puede utilizar para activar/desactivar un grupo de volumen.
Para desactivar un VG:

# vgchange -a n vg01
  0 logical volume(s) in volume group "vg01" now active

Para activar un VG:

# vgchange -a y vg01
  1 logical volume(s) in volume group "vg01" now active

Crear volumen lógico

El volumen lógico ahora se puede crear en el VG usando el comando lvcreate .
:si no especifica el nombre del LV en el comando, el LV recibe por defecto el nombre lvol# .
– Normalmente, si no especifica qué PV abarcará el LV, el volumen lógico se creará en el PV de forma gratuita.
– Para crear un volumen lógico lvol01 de 5 GB de tamaño:

# lvcreate -L 5G -n lvol01 vg01
  Logical volume "lvol01" created

Crear un volumen rayado
Para crear un volumen rayado que abarque los 3 PV que creamos:

# lvcreate -L 5G -I 4096 -i 3 -n lvol01 vg01
  Rounding size (1280 extents) up to stripe boundary size (1281 extents)
  Logical volume "lvol01" created
I - PVs to span while creating striped volume
i - stripe unit

Creación de un volumen reflejado
Para crear un volumen reflejado de 3 vías que abarque los 3 PV (sdb, sdc, sdd):

# lvcreate -L 1G -m 2 -n lvol01 vg01
  Logical volume "lvol01" created

También podemos especificar qué dispositivos se utilizarán al crear el LV duplicado. En nuestro caso, como solo teníamos 3 PV en el VG, el LV se crea de forma predeterminada en estos 3 PV.

Visualización de la información de LV
Los comandos lvdisplay , lvs y lvscan se puede utilizar para mostrar la información sobre el LV que acabamos de crear.

# lvs /dev/vg01/lvol01
  LV     VG   Attr      LSize Pool Origin Data%  Move Log         Cpy%Sync Convert
  lvol01 vg01 mwi-a-m-- 1.00g                         lvol01_mlog   100.00
# lvdisplay /dev/vg01/lvol01
  --- Logical volume ---
  LV Path                /dev/vg01/lvol01
  LV Name                lvol01
  VG Name                vg01
  LV UUID                ptlmAV-mO42-fWiJ-e2Ml-r9kj-PFcC-MOexxw
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2014-10-22 09:04:25 -0700
  LV Status              available
  # open                 0
  LV Size                1.00 GiB
  Current LE             256
  Mirrored volumes       3
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:4
# lvscan
  ACTIVE            '/dev/vg01/lvol01' [1.00 GiB] inherit

Creación de un sistema de archivos

El paso final es crear un sistema de archivos en el nuevo LV que acabamos de crear y montarlo en un directorio para poder acceder a él y almacenar datos en él. El comando mkfs se puede usar para crear un sistema de archivos encima del LV.

# mkfs.ext4 /dev/vg01/lvol01
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
	32768, 98304, 163840, 229376

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 37 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

El volumen lógico se puede montar una vez que se crea el sistema de archivos. Asegúrese de agregar una entrada a /etc/fstab , para que se monte automáticamente cuando arranque el sistema.

# mkdir /data01
# mount /dev/vg01/lvol01 /data01
# vi /etc/fstab
/dev/vg01/lvol01	/data01			ext4	defaults	0 0
# df -h /data01
Filesystem                   Size  Used  Avail  Use%  Mounted on
/dev/mapper/vg01-lvol01     1008M   34M  924M   4%    /data01

La herramienta gráfica para administrar LVM

Hay una herramienta gráfica genial disponible (system-config-lvm ) en caso de que desee utilizar. Si aún no está instalado en el sistema, instálelo usando yum:

# yum install system-config-lvm

Para iniciar la herramienta de administración de LVM gráfico, ejecute el comando:

# system-config-lvm

Configuración de LVM:operaciones/utilidades de volumen lógico (LV)
Configuración de LVM:operaciones/utilidades de grupo de volumen (VG)
Configuración de LVM:operaciones/utilidades de volumen físico (PV)


Cent OS
  1. ¿Reducción de la raíz usando la gestión de volumen lógico?

  2. Cómo configurar LVM (Administración de volúmenes lógicos) en DRBD (Dispositivo de bloques replicados distribuidos)

  3. Cómo activar un volumen físico LVM “SUSPENDIDO”

  4. CentOS / RHEL:cómo encontrar volúmenes lógicos (LV) contenidos en volúmenes físicos (PV) en LVM

  5. Configuración de LVM:operaciones/utilidades de volumen lógico (LV)

Uso de LVM para administrar volúmenes físicos, grupos de volúmenes y volúmenes lógicos:preparación de objetivos de RHCSA

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

Gestión de volúmenes lógicos

Copia de seguridad y restauración de instantáneas LVM en Linux

Gestión de volúmenes lógicos explicada en Linux

¿Expandir el volumen lógico de Lvm en la máquina virtual?