GNU/Linux >> Tutoriales Linux >  >> Linux

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

Como parte de la preparación del examen RHCSA, ya aprendimos cómo administrar particiones en disco. Las particiones son útiles para separar el espacio del disco (por ejemplo, separar los archivos relacionados con la base de datos de los archivos relacionados con el servidor web), pero tenemos una solución mucho más flexible que puede separar o agregar espacio de almacenamiento.

Esta solución se llama LVM, el Administrador de volúmenes lógicos. LVM nos permite ver varios discos como un solo sistema de archivos, superando así las limitaciones del sitio de un disco físico. También podemos crear duplicación de software en discos para proteger o escribir datos en el sistema de archivos. En este tutorial cubriremos los conceptos básicos:administraremos las tres capas de LVM, volúmenes físicos, grupos de volúmenes y volúmenes lógicos.

En este tutorial aprenderás:

  • Cómo crear y eliminar volúmenes físicos
  • Cómo asignar volúmenes físicos a grupos de volúmenes
  • Cómo crear y eliminar volúmenes lógicos

Creación de nuevo volumen físico con LVM.

Requisitos de software y convenciones utilizadas

Con LVM, tenemos tres capas que se construyen una encima de la otra:physical volumes (pv), que son muy parecidas a las particiones, solo están marcadas para el uso de LVM. Podemos crear un volumen físico a partir de una partición de disco o un disco sin formato completo. Si tenemos la intención de usar un disco solo como volumen físico LVM, no necesitamos crear una partición en él primero. La siguiente capa es un volume group (vg). Como su nombre indica, es simplemente la agrupación de volúmenes físicos. En esta capa, podemos agregar todo el espacio del volumen físico subyacente en una unidad de almacenamiento más grande. Además de los grupos de volúmenes, podemos crear la capa final, logical volumes (lv). Estos pueden contener sistemas de archivos, en los que podemos almacenar nuestros datos.

Una de las características principales de LVM es que podemos agregar otro volumen físico a un grupo de volúmenes sobre la marcha, y también podemos modificar el tamaño de un volumen lógico mientras el sistema se está ejecutando. Entonces, si nos quedamos sin espacio, podemos escalar sin apagar un sistema.

Las abreviaturas de las capas son buenos recordatorios cuando tratamos con LVM. Los comandos que funcionan en diferentes capas comienzan todos con estas abreviaturas, por ejemplo, si trabajamos con volúmenes físicos, el comando para crear uno será pvcreate , el comando para enumerar los volúmenes físicos existentes será pvdisplay , y así. Incluso si necesitamos hacer esto con poca frecuencia, es fácil adivinar o encontrar el comando correcto, ya que esta convención de nomenclatura es consistente en todas las capas.

Para este tutorial, agregamos discos de 2 GB cada uno a nuestra máquina de laboratorio. Se reconocen como /dev/sdb y /dev/sdc en nuestro sistema, mientras que /dev/sda contiene el sistema operativo, que no tocaremos durante los siguientes pasos.

Cómo crear y eliminar volúmenes físicos

Cómo crear un volumen físico

Para crear un volumen físico, usaremos pvcreate . Crearemos un volumen físico de 2 GB en ambos sdb y sdc .

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

Podemos verificar si lo hicimos bien enumerando nuestros volúmenes físicos. Usaremos pvdisplay .

# pvdisplay 
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               rhel
  PV Size               <14.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              3583
  Free PE               0
  Allocated PE          3583
  PV UUID               rfezEa-GlgW-jWUX-Zixs-Ydw0-EsZS-nk3JDH
   
  "/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               V2PUv4-O9eQ-jFvQ-UmQf-dmq3-caF9-xmxYGj
   
  "/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               PWTs7Q-x3wD-RyXj-ertn-Sh2N-CiXb-ayDc1q

La máquina de laboratorio ya usa LVM en su configuración predeterminada (al igual que la mayoría de las distribuciones en la actualidad), es por eso que /dev/sda2 se muestra. Estamos interesados ​​en nuestros dos nuevos volúmenes físicos, que ya podemos verificar.

Cómo eliminar el volumen físico

Para eliminar un volumen físico, tenemos el pvremove dominio. No elimine un volumen físico con datos escritos que se necesitan.

# pvremove /dev/sdc 
  Labels on physical volume "/dev/sdc" successfully wiped.

Cómo asignar volúmenes físicos a grupos de volúmenes

Creación de un grupo de volúmenes a partir de volúmenes físicos.

Después de volver a crear el sdc caído volumen físico, tenemos todo lo que necesitamos para crear un grupo de volúmenes que pueda contener un volumen lógico. Podríamos crear un "grupo" de volúmenes que tenga solo un volumen físico, que es el caso exacto del sda2 predeterminado. – pero para demostrar la agregación de almacenamiento, usaremos nuestros dos nuevos volúmenes físicos para crear un grupo de volúmenes llamado "datos" que tiene 4 GB de espacio en disco disponible.

Podemos crear un grupo de volumen con vgcreate . Todo lo que necesitamos es especificar el nombre de VG y los volúmenes físicos que serán miembros del grupo de volúmenes.

# vgcreate data /dev/sdb /dev/sdc
  Volume group "data" successfully created

Podemos enumerar las propiedades de nuestro nuevo grupo de volúmenes con vgdisplay .

# vgdisplay data
  --- Volume group ---
  VG Name               data
  System ID             
  Format                lvm2
  Metadata Areas        2
  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                2
  Act PV                2
  VG Size               3.99 GiB
  PE Size               4.00 MiB
  Total PE              1022
  Alloc PE / Size       0 / 0   
  Free  PE / Size       1022 / 3.99 GiB
  VG UUID               CmM07M-16Ys-PZx2-XGvo-N1j3-nINX-fnIFIA

Tenga en cuenta el tamaño de VG de cerca de 4 GB, la suma de los dos volúmenes físicos. No será exactamente la suma de los volúmenes, ya que se reserva algo de espacio para los metadatos.

Cómo crear y eliminar volúmenes lógicos

Además de un grupo de volúmenes, podemos crear volúmenes lógicos que a su vez pueden contener sistemas de archivos. La instalación predeterminada en muchas distribuciones separa el almacenamiento de esta manera, por ejemplo, los datos del usuario se guardan en /home el volumen lógico y los registros del sistema se almacenan en /var volumen. En el caso de que un usuario llene el volumen de inicio, el sistema general aún podrá escribir registros y, por lo tanto, sus servicios continuarán ejecutándose mientras el administrador del sistema puede manejar al usuario que se volvió loco.

Cómo crear un volumen lógico

Crearemos dos volúmenes lógicos, el primero llamado "base de datos" con 2 GB de tamaño, el otro llamado "servidor web" con 500 MB de espacio en disco. Como puede adivinar de los ejemplos anteriores, el comando que usaremos es lvcreate .

# lvcreate -L 2G -n database data
  Logical volume "database" created.
# lvcreate -L 500M -n webserver data
  Logical volume "webserver" created.

Podemos mostrar nuestras propiedades de volumen con lvdisplay <volume path> , o podemos enumerar todos nuestros volúmenes lógicos si no proporcionamos un argumento para lvdisplay . Si bien esto puede proporcionar una salida prolongada en algunos sistemas, es útil en un entorno desconocido, ya que las rutas de volumen pueden variar según la distribución y la versión.

# lvdisplay /dev/data/database 
  --- Logical volume ---
  LV Path                /dev/data/database
  LV Name                database
  VG Name                data
  LV UUID                D7f9An-G0dd-kEGw-OGrP-HZlA-dQlX-yBbQbi
  LV Write Access        read/write
  LV Creation host, time rhel8rhcsa, 2019-12-28 16:53:24 +0100
  LV Status              available
  # open                 0
  LV Size                2.00 GiB
  Current LE             512
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2
   
# lvdisplay /dev/data/webserver 
  --- Logical volume ---
  LV Path                /dev/data/webserver
  LV Name                webserver
  VG Name                data
  LV UUID                7Ldt79-aw0i-Oydm-4d0I-JaVe-Zd8m-xKpvrD
  LV Write Access        read/write
  LV Creation host, time rhel8rhcsa, 2019-12-28 16:53:38 +0100
  LV Status              available
  # open                 0
  LV Size                500.00 MiB
  Current LE             125
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:3

Si revisamos nuestro grupo de volúmenes en este punto, podemos notar el espacio que los volúmenes lógicos ocupan del grupo de volúmenes.

# vgdisplay data
  --- Volume group ---
  VG Name               data
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               3.99 GiB
  PE Size               4.00 MiB
  Total PE              1022
  Alloc PE / Size       637 / <2.49 GiB
  Free  PE / Size       385 / 1.50 GiB
  VG UUID               CmM07M-16Ys-PZx2-XGvo-N1j3-nINX-fnIFIA

Cómo crear un volumen lógico en el sistema RHEL Linux

Cómo eliminar un volumen lógico

Para liberar espacio o reorganizar volúmenes, podemos eliminar volúmenes lógicos con lvremove .

ADVERTENCIA
No elimine volúmenes lógicos que contengan datos valiosos. Si lo hace, destruirá los datos del volumen.

Hay cinturones de seguridad incorporados, se acabaron los días en que limpiar nuestro sistema no tenía que esperar a que nos avisaran. Al menos, al usar los comandos LVM.

# lvremove /dev/data/webserver 
Do you really want to remove active logical volume data/webserver? [y/n]: y
  Logical volume "webserver" successfully removed

Otra lista de grupos de volúmenes muestra que los 500 MB del webserver el volumen ahora se vuelve a agregar al tamaño libre del grupo de volúmenes:

# vgdisplay data
  --- Volume group ---
  VG Name               data
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  6
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               3.99 GiB
  PE Size               4.00 MiB
  Total PE              1022
  Alloc PE / Size       512 / 2.00 GiB
  Free  PE / Size       510 / 1.99 GiB
  VG UUID               CmM07M-16Ys-PZx2-XGvo-N1j3-nINX-fnIFIA

Ejercicios

  1. Cree dos grupos de volúmenes y cree volúmenes lógicos en ambos con el mismo nombre.
  2. Agregue otro volumen físico a su grupo de volúmenes, luego cree un volumen lógico que ocupe todo el grupo de volúmenes. Ahora intente eliminar uno de los volúmenes físicos.
  3. Intente crear un volumen lógico que tenga el tamaño exacto del grupo de volúmenes.
  4. Cree otro volumen físico en un disco, agréguelo a su grupo de volúmenes, luego apague la máquina y extraiga el disco. ¿Qué muestra vgdisplay? decir en el disco perdido?
  5. Vuelva a agregar el disco eliminado anteriormente. ¿Se reconoce en el siguiente arranque?

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

  2. Cómo fusionar 2 grupos de volúmenes (VG) en uno usando vgmerge en LVM

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

  4. Configuración de LVM:operaciones/utilidades de volumen físico (PV)

  5. Cómo recuperar el volumen lógico (LV) eliminado en LVM usando vgcfgrestore

Agregue nuevas particiones, volúmenes lógicos e intercambie a un sistema de forma no destructiva:preparación de objetivos de RHCSA

Crear y configurar directorios setgid para colaboración:preparación de objetivos de RHCSA

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?

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

    Requisitos de software y convenciones de la línea de comandos de Linux
    Categoría Requisitos, convenciones o versión de software utilizada
    Sistema Red Hat Enterprise Linux 8.1
    Software LVM 2.03
    Otro Acceso privilegiado a su sistema Linux como root o a través de sudo comando.
    Convenciones # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando
    $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios