Administrador de Linux - Gestión de volumen

Logical Volume Management (LVM)es un método utilizado por Linux para administrar volúmenes de almacenamiento en diferentes discos duros físicos. Esto no debe confundirse con RAID. Sin embargo, se puede pensar en un concepto similar a RAID 0 o J-Bod. Con LVM, es posible tener (por ejemplo) tres discos físicos de 1TB cada uno, luego un volumen lógico de alrededor de 3TB como / dev / sdb. O incluso dos volúmenes lógicos de 1,5 TB, 5 volúmenes de 500 GB o cualquier combinación. Incluso se puede utilizar un solo disco para instantáneas de volúmenes lógicos.

Note- El uso de volúmenes lógicos aumenta la E / S del disco cuando se configura correctamente. Esto funciona de manera similar a la división de datos RAID 0 en discos separados.

Al aprender sobre la gestión de volúmenes con LVM, es más fácil si sabemos qué es cada componente de LVM. Por favor, estudie la siguiente tabla para comprender bien cada componente. Si es necesario, use Google para estudiar. Comprender cada parte de un volumen lógico es importante para administrarlos.

PV Volumen físico sda
PÁGINAS Partición física sda1, sda2
VG Grupo de volumen Recursos físicos agrupados
LV Volumen lógico Visto como una instalación de almacenamiento para el sistema operativo

UN physical volumese verá como / dev / sda, / dev / sdb; un disco físico que es detectado por Linux.

UN physical partitionserá una sección del disco particionada por una utilidad de disco como fdisk. Tenga en cuenta que la partición física no se recomienda en las configuraciones LVM más comunes. Ejemplo: el disco / dev / sda está particionado para incluir dos particiones físicas: / dev / sda1 y / dev / sda1

Si tenemos dos discos físicos de 1TB cada uno, podemos crear un grupo de volumen de casi 2TB entre los dos.

A partir del grupo de volúmenes, podemos crear tres volúmenes lógicos cada uno de cualquier tamaño que no exceda el tamaño total del grupo de volúmenes.

Herramientas tradicionales de administración de discos de Linux

Antes de familiarizarnos con las últimas y mejores herramientas destacadas para la administración de LVM en CentOS 7, primero debemos explorar las herramientas más tradicionales que se han utilizado para la administración de discos de Linux. Estas herramientas serán útiles y seguirán utilizándose con las herramientas LVM avanzadas de hoy en día, como System Storage Manager: lsblk, parted y mkfs.xfs.

Ahora, asumiendo que hayamos agregado otro disco o dos a nuestro sistema, necesitamos enumerar los discos detectados por Linux. Siempre recomendaría enumerar los discos cada vez antes de realizar operaciones consideradas destructivas.lsblkes una gran herramienta para obtener información del disco. Veamos qué discos detecta CentOS.

[root@localhost rdc]# lsblk
NAME         MAJ:MIN    RM    SIZE    RO    TYPE MOUNTPOINT
sda            8:0       0     20G     0        disk 
├─sda1         8:1       0      1G     0     part /boot
└─sda2         8:2       0     19G     0        part 
  ├─cl-root  253:0       0     17G     0      lvm  /
  └─cl-swap  253:1       0      2G     0      lvm  [SWAP]
    sdb       8:16       0      6G     0       disk 
    sdc       8:32       0      4G     0       disk 
    sr0       11:0       1   1024M     0       rom

Como puede ver, tenemos tres discos en este sistema: sda, sdb y sdc.

Disk sda contiene nuestra instalación de CentOS en funcionamiento, por lo que no queremos jugar con sda. Tanto sdb y sdc se añadieron al sistema para este tutorial. Hagamos que estos discos se puedan usar en CentOS.

Crear una etiqueta de disco

[root@localhost rdc]# parted /dev/sdb mklabel GPT
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this
   disk will be lost. Do you want to continue?
Yes/No? Yes                               
[root@localhost rdc]#

Ahora tenemos un disco etiquetado. Simplemente ejecute el comando parted de la misma manera en sdc .

Cree las particiones en el disco

Solo crearemos una única partición en cada disco. Para crear particiones, se vuelve a utilizar el comando parted .

[root@localhost rdc]# parted -a opt /dev/sdb mkpart primary ext4 0% 100%

Warning - Solicitó una partición de 0.00B a 6442MB (sectores 0..12582911).

La ubicación más cercana que podemos administrar es de 17.4kB a 1048kB (sectores 34..2047).

¿Sigue siendo aceptable para usted?

¿Sí No? NO

[root@localhost rdc]# parted -a opt /dev/sdc mkpart primary ext4 0% 100%

Information - Puede que necesite actualizar / etc / fstab.

[root@localhost rdc]# lsblk                                               
NAME        MAJ:MIN   RM    SIZE    RO    TYPE MOUNTPOINT
sda           8:0      0     20G     0        disk 
├─sda1        8:1      0      1G     0      part / boot
└─sda2        8:2      0     19G     0        part 
 ├─cl-root  253:0      0     17G     0       lvm  /
 └─cl-swap  253:1      0      2G     0       lvm  [SWAP]
sdb          8:16      0      6G     0        disk 
└─sdb1       8:17      0      6G     0        part 
 sdc         8:32      0      4G     0        disk 
└─sdc1       8:33      0      4G     0        part 
sr0          11:0      1   1024M     0        rom

[root@localhost rdc]#

Como puede ver en la salida de lsblk, ahora tenemos dos particiones, cada una en sdb y sdc.

Hacer el sistema de archivos

Finalmente, antes de montar y usar cualquier volumen, necesitamos agregar un sistema de archivos. Usaremos el sistema de archivos XFS.

root@localhost rdc]# mkfs.xfs -f /dev/sdb1
meta-data = /dev/sdb1               isize = 512    agcount = 4, agsize = 393088 blks
            =                      sectsz = 512    attr = 2, projid32bit = 1
            =                         crc = 1      finobt = 0, sparse = 0
data        =                       bsize = 4096   blocks = 1572352, imaxpct = 25
            =                       sunit = 0      swidth = 0 blks
naming      = version 2             bsize = 4096   ascii-ci = 0 ftype = 1
log         = internal log          bsize = 4096   blocks = 2560, version = 2
            =                      sectsz = 512    sunit = 0 blks, lazy-count = 1
realtime    = none                  extsz = 4096   blocks = 0, rtextents = 0
[root@localhost rdc]# mkfs.xfs -f /dev/sdc1
meta-data   = /dev/sdc1             isize = 512    agcount = 4, agsize = 262016 blks
            =                      sectsz = 512    attr = 2, projid32bit = 1
            =                         crc = 1      finobt = 0, sparse = 0
data        =                       bsize = 4096   blocks = 1048064, imaxpct = 25
            =                       sunit = 0      swidth = 0 blks
naming      = version 2             bsize = 4096   ascii-ci = 0 ftype = 1
log         = internal log          bsize = 4096   blocks = 2560, version = 2
            =                      sectsz = 512    sunit = 0 blks, lazy-count = 1
realtime    = none                  extsz = 4096   blocks = 0, rtextents = 0

[root@localhost rdc]#

Revisemos para asegurarnos de que cada uno tenga un sistema de archivos utilizable.

[root@localhost rdc]# lsblk -o NAME,FSTYPE
NAME           FSTYPE
sda         
├─sda1         xfs
└─sda2         LVM2_member
 ├─cl-root     xfs
 └─cl-swap     swap
sdb         
└─sdb1         xfs
sdc         
└─sdc1         xfs
sr0

[root@localhost rdc]#

Cada uno ahora está usando el sistema de archivos XFS. Vamos a montarlos, comprobar el montaje y copiar un archivo en cada uno.

[root@localhost rdc]# mount -o defaults /dev/sdb1 /mnt/sdb
[root@localhost rdc]# mount -o defaults /dev/sdc1 /mnt/sdc

[root@localhost ~]# touch /mnt/sdb/myFile /mnt/sdc/myFile
[root@localhost ~]# ls /mnt/sdb /mnt/sdc
 /mnt/sdb:
  myFile

 /mnt/sdc:
  myFile

Tenemos dos discos utilizables en este momento. Sin embargo, solo se podrán utilizar cuando los montemos manualmente. Para montar cada uno en el arranque, debemos editar el archivo fstab . Además, se deben establecer permisos para los grupos que necesiten acceder a los nuevos discos.

Crear grupos de volúmenes y volúmenes lógicos

Una de las mayores adiciones a CentOS 7 fue la inclusión de una utilidad llamada System Storage Manager o ssm .System Storage Manager simplifica enormemente el proceso de administración de grupos LVM y volúmenes de almacenamiento en Linux.

Pasaremos por el proceso de creación de un grupo de volúmenes simple y volúmenes lógicos en CentOS. El primer paso es instalar System Storage Manager.

[root@localhost rdc]# yum  install system-storage-manager

Veamos nuestros discos usando el comando ssm list .

Como se vio arriba, hay un total de tres discos instalados en el sistema.

  • /sdba1 - Aloja nuestra instalación de CentOS

  • /sdb1 - Montado en / mnt / sdb

  • /sdc1 - Montado en / mnt / sdc

Lo que queremos hacer es hacer un grupo de volumen usando dos discos (sdb y sdc). Luego, ponga a disposición del sistema tres volúmenes lógicos de 3 GB.

Creemos nuestro grupo de volumen.

[root@localhost rdc]# ssm create -p NEW_POOL /dev/sdb1 /dev/sdc1

De forma predeterminada, ssm creará un único volumen lógico que ampliará los 10 GB completos del grupo. No queremos esto, así que eliminemos esto.

[root@localhost rdc]# ssm remove /dev/NEW_POOL/lvol001
 Do you really want to remove active logical volume NEW_POOL/lvol001? [y/n]: y
 Logical volume "lvol001" successfully removed
[root@localhost rdc]#

Finalmente, creemos los tres volúmenes lógicos.

[root@localhost rdc]# ssm create -n disk001 --fs xfs -s 3GB -p NEW_POOL
[root@localhost rdc]# ssm create -n disk002 --fs xfs -s 3GB -p NEW_POOL
[root@localhost rdc]# ssm create -n disk003 --fs xfs -s 3GB -p NEW_POOL

Ahora, revisemos nuestros nuevos volúmenes.

Ahora tenemos tres volúmenes lógicos separados distribuidos en dos particiones de disco físico.

Los volúmenes lógicos son una característica poderosa ahora integrada en CentOS Linux. Hemos tocado la superficie en la gestión de estos. Dominar los grupos y los volúmenes lógicos viene con la práctica y el aprendizaje extendido de Tutorials Point. Por ahora, ha aprendido los conceptos básicos de la administración de LVM en CentOS y posee la capacidad de crear volúmenes lógicos rayados básicos en un solo host.