En este artículo, aprenderás a ajustar el volumen lógico después de ampliar la SSD en Ubuntu/Debian.

En un Servidor Cloud, el gestor de volúmenes lógicos (Logical Volume Manager, 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 esta forma, se puede combinar el espacio de almacenamiento de varias particiones o discos. Además, el LVM te ofrece la posibilidad de ampliar un volumen lógico mientras se está ejecutando.

Después de ampliar las SSD de tu Servidor Cloud, debes redimensionar manualmente el volumen lógico:

Nota

Te recomendamos que realices una copia de seguridad antes de ajustar manualmente el volumen lógico.

Requisitos
  • Reiniciaste el servidor después de ampliar la SSD.

  • Iniciaste sesión en el servidor como administrador.

Preparación

  • Si tienes instalada la distribución Ubuntu 18.04, 20.04 o 22.04 en tu servidor, el programa growpart se habrá instalado también por defecto. Por el contrario, si tienes instalada la distribución Debian 10 o Debian 11, deberás instalar el programa growpart en tu servidor. Para ello, introduce los siguientes comandos y sigue las instrucciones.

    Debian 10 y Debian 11

    [root@localhost ~]# apt-get install cloud-utils

    Ubuntu 18.04, Ubuntu 20.04 y Ubuntu 22.04

    [root@localhost ~]# apt-get install cloud-guest-utils

  • Para comprobar el espacio disponible del volumen lógico, introduce el siguiente comando:

    [root@localhost ~]# df -h

    Después de introducir el comando, se muestra la siguiente partición:

    Filesystem             Size  Used Avail Use% Mounted on
    udev                   963M     0  963M   0% /dev
    tmpfs                  198M  772K  197M   1% /run
    /dev/mapper/vg00-lv01   77G  1.6G   72G   3% /
    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

  • Anota el volumen lógico que deseas ampliar. Está montado bajo /. En el ejemplo anterior, el volumen lógico /dev/mapper/vg00-lv01 se debe ampliar.

  • Para ver la partición del volumen lógico, escribe el comando que ves a continuación y pulsa Enter:

    [root@localhost ~]# fdisk -l

    Después de introducir el comando, se muestra la estructura del sistema de archivos:

    root@localhost:~# fdisk -l
    Disk /dev/sda: 100 GiB, 107374182400 bytes, 209715200 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

    En este ejemplo se adaptará la partición sda2 manualmente.
  • Para consultar el sistema de archivos, introduce el siguiente comando:

    [root@localhost ~]# df -Th | grep "^/dev"

    En el siguiente ejemplo, el volumen lógico /dev/mapper/vg00-lv01 utiliza el sistema de archivos ext4:

    root@localhost:~# df -Th | grep "^/dev"
    /dev/mapper/vg00-lv01 ext4       77G  2.5G   71G   4% /
    /dev/sda1             ext4      456M  147M  276M  35% /boot

Ampliar la partición con growpart

Utiliza el siguiente comando para ampliar la partición /dev/sda2. Ten en cuenta que debes dejar un espacio en blanco entre el nombre del dispositivo y el número de partición.

[root@localhost ~]# growpart /dev/nombre_del_dispositivo

Ejemplo:

[root@localhost ~]# growpart /dev/sda 2

Ampliar manualmente el volumen lógico

  • Para obtener información detallada sobre los volúmenes físicos, escribe el siguiente comando:

    [root@localhost ~]# pvdisplay

    Después de escribir el comando, se muestra, entre otros, la siguiente información:

    root@localhost:~# pvdisplay
      --- Physical volume ---
      PV Name               /dev/sda2
      VG Name               vg00
      PV Size               79.52 GiB / not usable 3.00 MiB
      Allocatable           yes (but full)
      PE Size               4.00 MiB
      Total PE              20357
      Free PE               0
      Allocated PE          20357
      PV UUID               NseCRU-3JHj-Hwcq-BNpX-coVV-jBSy-l0EKWu

  • Para aumentar el volumen físico, introduce el siguiente comando:

    [root@localhost ~]# pvresize /dev/nombre_del_dispositivo

    Después de introducir el comando, se muestra información como la siguiente o similar:

    [root@localhost ~]# pvresize /dev/sda2
      Physical volume "/dev/sda2" changed
      1 physical volume(s) resized or updated / 0 physical volume(s) not resized

  • Para comprobar el estado de los volúmenes lógicos, escribe el siguiente comando:

    root@localhost:~# lvdisplay
      --- Logical volume ---
      LV Path                /dev/vg00/lv00
      LV Name                lv00
      VG Name                vg00
      LV UUID                2DoZKM-A912-o9z8-2R1U-HbII-gNRF-lIKM1m
      LV Write Access        read/write
      LV Creation host, time somehost, 2019-03-07 16:43:12 +0000
      LV Status              available
      # open                 2
      LV Size                <1.91 GiB
      Current LE             488
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     256
      Block device           253:1

      --- Logical volume ---
      LV Path                /dev/vg00/lv01
      LV Name                lv01
      VG Name                vg00
      LV UUID                dB1lWB-1TBC-Sl6S-g09N-v2lk-kXOv-yFYuFf
      LV Write Access        read/write
      LV Creation host, time somehost, 2019-03-07 16:43:12 +0000
      LV Status              available
      # open                 1
      LV Size                77.61 GiB
      Current LE             19869
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     256
      Block device           253:0

  • Anota la ruta del volumen lógico que deseas ampliar. En este ejemplo, la ruta es /dev/vg00/lv01.

  • Para aumentar el volumen lógico con el programa lvresize, escribe el comando lvresize en el siguiente formato:

    [root@localhost ~]# lvresize -l +100%FREE [RUTA DEL VOLUMEN LÓGICO]

    Ejemplo:

    [root@localhost ~]# lvresize -l+100%FREE /dev/vg00/lv01
      Size of logical volume vg00/lv01 changed from 77.61 GiB (19869 extents) to 97.61 GiB (24989 extents).
      Logical volume vg00/lv01 successfully resized.

  • Cambia el tamaño del sistema de archivos para utilizar el nuevo espacio. Para redimensionar el sistema de archivos al nuevo tamaño con resize2fs, escribe el comando resize2fs en el siguiente formato:

    [root@localhost ~]# resize2fs [RUTA DEL VOLUMEN LÓGICO]

    Ejemplo:

    root@localhost:~# resize2fs /dev/vg00/lv01
    resize2fs 1.44.1 (24-Mar-2018)
    Filesystem at /dev/vg00/lv01 is mounted on /; on-line resizing required
    old_desc_blocks = 10, new_desc_blocks = 13
    The filesystem on /dev/vg00/lv01 is now 25588736 (4k) blocks long.

    Si la partición usa el sistema de archivos xfs, introduce el siguiente comando para adaptar el sistema al nuevo tamaño: 

    [root@localhost ~]# xfs_growfs [RUTA DEL VOLUMEN LÓGICO]

    Ejemplo:

    [root@localhost ~]# xfs_growfs /dev/vg00/lv01

  • Para verificar si el sistema de archivos se actualizó correctamente, introduce el siguiente comando: 

    [root@localhost ~]# df -h