Para Servidores Dedicados de nuestra gama de Servidores a precio especial o Servidores Dedicados adquiridos antes del 20.10.2021.

En este artículo te explicamos cómo funciona el Gestor de volúmenes lógicos (Logical Volume Manager, LVM) y los beneficios que ofrece.

En un Servidor Cloud, el LVM se utiliza para gestionar el espacio de almacenamiento. El LVM establece una capa lógica entre el sistema de archivos y las particiones del almacenamiento de datos utilizado. Esto te permite crear un sistema de archivos que abarque varias particiones y/o discos. De este modo, por ejemplo, se puede combinar el espacio de almacenamiento de varias particiones o soportes de datos.

Otras ventajas del LVM

El LVM ofrece las siguientes ventajas adicionales:

  • Los volúmenes lógicos pueden ser creados, ampliados o reducidos durante la operación. No es necesario formatear los soportes de datos. Sin embargo, el tamaño del volumen lógico debe ajustarse manualmente después.

  • Los datos se pueden reorganizar durante el funcionamiento.

  • Los datos pueden distribuirse en varios soportes de datos. Esto puede aumentar significativamente el rendimiento de los datos.

  • Los datos pueden ser fácilmente replicados.

  • Se pueden tomar snapshots durante el funcionamiento.

Términos importantes

El LVM gestiona el espacio de almacenamiento en tres niveles:

  • Volumen físico (PV): el PV representa el nivel más bajo de un LVM. Es un dispositivo de bloques gestionado por el LVM. El dispositivo de bloque puede consistir en una memoria de datos (por ejemplo, una SSD) o una partición.

  • Grupos de volúmenes (VG): los volúmenes físicos pueden agruparse en uno o más grupos de volumen. Los grupos de volumen representan un tipo de pool de almacenamiento que se puede ampliar si es necesario.

  • Volumen lógico (LV): los grupos de volumen se dividen en un volumen lógico o varios volúmenes lógicos. Los volúmenes lógicos se pueden utilizar como una partición normal. Puede formatearlos con cualquier sistema de archivos y pueden ser montados.

Cuando se utiliza el LVM, las particiones clásicas se inicializan como PV que se asignan a un VG. Dentro de este grupo de volumen, los LV pueden crearse y formatearse con cualquier sistema de archivos. De este modo, el LVM permite gestionar fácilmente particiones dinámicamente modificables cuyo tamaño puede modificarse sin pérdida de datos.

LVM: Configuración por defecto del Servidor Cloud

El LVM se utiliza en Servidores Cloud con sistemas operativos Linux para gestionar el espacio de almacenamiento. Estos Servidores Cloud están configurados para que el sistema y los datos de usuario residan en conjunto en un único LV. Este LV está montado bajo /.

LVM: Configuración por defecto del Servidor Dedicado

El LVM también se utiliza en Servidores Dedicados con sistema operativo Linux para gestionar el espacio de almacenamiento. Al crear un Servidor Dedicado con una imagen de IONOS, no se entrega el servidor con una partición de todo el espacio de almacenamiento, lo que permite una configuración individual del espacio.

Si instalas una imagen de IONOS con Plesk en el servidor, se realiza una partición de al rededor de 90% del espacio total disponible.

Consultar información sobre dispositivos sin una tabla de particiones válida

Con el comando lsblk podrás acceder a información sobre los dispositivos en los que se ha creado una tabla de particiones válida. La información se mostrará como indica siguiente ejemplo:

Servidor Cloud

[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   80G  0 disk
├─sda1            8:1    0  512M  0 part /boot
└─sda2            8:2    0 79.5G  0 part
  ├─centos-root 253:0    0 77.5G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sr0              11:0    1 1024M  0 rom


Servidor Dedicado con Hardware RAID

root@FB84A0:~# lsblk
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0  1.8T  0 disk
├─sda1          8:1    0    2M  0 part
├─sda2          8:2    0   28G  0 part /
├─sda3          8:3    0  9.3G  0 part [SWAP]
└─sda4          8:4    0  1.8T  0 part
  ├─vg00-usr  253:0    0   20G  0 lvm  /usr
  ├─vg00-var  253:1    0  1.6T  0 lvm  /var
  ├─vg00-home 253:2    0   15G  0 lvm  /home
  └─vg00-opt  253:3    0   20G  0 lvm  /opt
root@FB84A0:~#

Consultar información sobre un PV

Con el comando pvs puedes acceder a información sobre uno de los dispositivos de almacenamiento de datos. Así mismo, podrás configurar la manera en la que accedes a esta información. En el siguiente ejemplo se muestra una línea por cada dispositivo:

Servidor Cloud

[root@localhost ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda2  centos lvm2 a--  <79.47g    0


Servidor Dedicado con Hardware Raid

root@FB84A0:~# pvs
  PV         VG   Fmt  Attr PSize PFree
  /dev/sda4  vg00 lvm2 a--  1.78t 176.02g


Con el comando pvdisplay puedes consultar información más detallada sobre cada dispositivo de almacenamiento físico, como en el siguiente ejemplo:

 [root@localhost ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               centos
  PV Size               <79.50 GiB / not usable 30.00 MiB
  Allocatable           yes (but full)
  PE Size               32.00 MiB
  Total PE              2543
  Free PE               0
  Allocated PE          2543
  PV UUID               1ZuY22-LgCo-vvMJ-1RsZ-1WNb-Cl3F-s0xR5t


Con el comando pvscan puedes realizar una búsqueda de dispositivos de almacenamiento físicos en todos los dispositivos de bloqueo LVM del sistema. Aquí se muestra un ejemplo:

Servidor Cloud

[root@localhost ~]# pvscan
  PV /dev/sda2   VG centos          lvm2 [<79.47 GiB / 0    free]
  Total: 1 [<79.47 GiB] / in use: 1 [<79.47 GiB] / in no VG: 0 [0   ]


Servidor Dedicado

root@FB84A0:~# pvscan
  PV /dev/sda4   VG vg00            lvm2 [1.78 TiB / 176.02 GiB free]
  Total: 1 [1.78 TiB] / in use: 1 [1.78 TiB] / in no VG: 0 [0   ]

Mostrar información sobre los VG

Para consultar información sobre los VG, introduce el comando vgs. Ejemplo:

[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree
  centos   1   2   0 wz--n- <79.47g    0


Con el comando vgdisplay podrás ver información más detallada sobre cada uno de los dispositivos de almacenamiento físicos como se muestra en el ejemplo: 

[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               centos
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <79.47 GiB
  PE Size               32.00 MiB
  Total PE              2543
  Alloc PE / Size       2543 / <79.47 GiB
  Free  PE / Size       0 / 0
  VG UUID               2rnjKm-69u5-xEfb-zWj7-6fxI-9SnN-WzCGK2

Consultar información sobre los LV

Para consultar información sobre los volúmenes lógicos, introduce el comando lvs. Ejemplo:

[root@localhost ~]# lvs
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- <77.47g                                                
  swap centos -wi-ao----   2.00g 

Para obtener información más detallada sobre cada volumen lógico, introduce el comando vgdisplay. Ejemplo:

[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                76LG6l-7eYC-M4ok-bGd2-tfeh-cLdV-WlHcdB
  LV Write Access        read/write
  LV Creation host, time localhost, 2019-09-27 10:58:11 +0000
  LV Status              available
  # open                 2
  LV Size                2.00 GiB
  Current LE             64
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                w9pndm-91CQ-M1Xs-UYWc-KXoB-zJiC-FbfZEe
  LV Write Access        read/write
  LV Creation host, time localhost, 2019-09-27 10:58:12 +0000
  LV Status              available
  # open                 1
  LV Size                <77.47 GiB
  Current LE             2479
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

Mostrar la lista de sistemas de archivos

Para listar los sistemas de archivos e identificar el sistema de archivos, escribe el comando df -h. La abreviatura df significa disk free. Con el parámetro -h se puede visualizar el número de bloques ocupados en forma legible por la máquina en giga, mega o kilobytes.

Normalmente, la asignación del disco duro se divide de la siguiente manera:

CentOS 7

[root@localhost ~]# df -h

Filesystem                Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   78G  2.2G   76G   3%  /
devtmpfs                  898M     0  898M   0% /dev
tmpfs                     910M     0  910M   0% /dev/shm
tmpfs                     910M  101M  810M  12% /run
tmpfs                     910M     0  910M   0% /sys/fs/cgroup
/dev/sda1                 509M  170M  340M  34% /boot
tmpfs                     182M     0  182M   0% /run/user/0

Ubuntu 18.04

root@localhost:~# df -h

Filesystem             Size  Used Avail Use% Mounted on
udev                   963M     0  963M   0% /dev
tmpfs                  198M  784K  197M   1% /run
/dev/mapper/vg00-lv01   77G  2.5G   71G   4% /
tmpfs                  986M     0  986M   0% /dev/shm
tmpfs                  5.0M     0  5.0M   0% /run/lock
tmpfs                  986M     0  986M   0% /sys/fs/cgroup
/dev/sda1              464M   60M  377M  14% /boot
tmpfs                  197M     0  197M   0% /run/user/0

/dev/mapper/centos-root o /dev/mapper/vg00-lv01 en los ejemplos anteriores denotan el LV montado bajo /. Este contiene casi todo el espacio de almacenamiento. tmpfs es un disco RAM y está montada bajo /dev/shm/dev/sda1 es la partición de arranque y está montada bajo /boot.

Mostrar la lista de los discos duros y particiones

Para listar los discos y particiones existentes, ingresa el comando fdisk -l /dev/sda. fdisk es un programa de línea de comandos para realizar particiones de discos. Con este programa puede mostrar, crear o borrar particiones.

Después de introducir este comando, se muestra la partición del disco duro:

CentOS 7

[root@localhost ~]# fdisk -l

Disk /dev/sda: 80 GiB, 85899345920 bytes, 167772160 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xe68dc2ef

Device     Boot  Start       End   Sectors  Size Id Type
/dev/sda1  *      2048    999423    997376  487M 83 Linux
/dev/sda2       999424 167772159 166772736 79.5G 8e Linux LVM

Disk /dev/mapper/vg00-lv01: 77.6 GiB, 83336626176 bytes, 162766848 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/mapper/vg00-lv00: 1.9 GiB, 2046820352 bytes, 3997696 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

 

Ubuntu 18.04

root@localhost:~# fdisk -l

Disk /dev/sda: 80 GiB, 85899345920 bytes, 167772160 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xe68dc2ef

Device     Boot  Start       End   Sectors  Size Id Type
/dev/sda1  *      2048    999423    997376  487M 83 Linux
/dev/sda2       999424 167772159 166772736 79.5G 8e Linux LVM

Disk /dev/mapper/vg00-lv01: 77.6 GiB, 83336626176 bytes, 162766848 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/mapper/vg00-lv00: 1.9 GiB, 2046820352 bytes, 3997696 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Crear un nuevo volumen lógico en el servidor

Para crear un nuevo volumen lógico en tu servidor, procede con los siguientes pasos:

  • Para consultar información sobre los grupos de volúmenes, introduce el comando vgdisplay.

  • Anota el grupo de volúmenes deseado.

  • Para crear un volumen lógico, introduce el siguiente comando:

    lvcreate -L 20G -n VOL GROUP

    En el siguiente ejemplo, se crea el grupo de volúmenes vg00 con un tamaño de 20 GB.

    root@localhost:~# lvcreate -L 20G -n lv00 vg00

  • Para poder utilizar ese espacio, debes crear el sistema de archivos en el volumen lógico. Ejemplos:

    mkfs.xfs

    mkfs.ext

Si necesitas más información, te recomendamos consultar estos artículos: 

Servidor Cloud

Adaptar el volumen lógico después de ampliar la SSD

Servidor Dedicado

Ajustar el volumen lógico en Linux Servidor Dedicado

Servidor Dedicado, para servidores gestionados en el Control Center

Ampliar un volumen existente en el servidor