GNU/Linux >> Tutoriales Linux >  >> Ubuntu

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

Tuve un problema muy específico. Tengo un LVM ejecutándose en un solo volumen físico en una máquina virtual. El tamaño del volumen lógico es de ~150 GB y deseo expandirlo a ~250 GB.

Pude expandir el volumen físico desde mi administrador de máquinas virtuales, pero el cambio en el tamaño físico no se refleja en mi volumen lógico LVM.

No encontré ninguna respuesta directamente y, a través de un poco de experimentación, encontré una solución. Pensé que lo compartiría en mi respuesta a continuación.

Respuesta aceptada:

Un ejemplo de diagrama LVM:

La idea de LVM es abstraer el volumen lógico del volumen físico, de modo que múltiples volúmenes físicos aparecerán para el usuario como un solo volumen lógico continuo.

El sistema de archivos raíz está en /dev/file-server-vg/root y el intercambio está en /dev/file-server-vg/swap . La idea es que podemos tener varios discos duros reales en la capa PV, y todos pueden agregarse a un grupo de volumen, lo que les permitirá aparecer como un único sistema de archivos continuo para el sistema en /dev/file-server-vg/root .

En este problema he estado usando /dev/file-server-vg/root como un servidor de archivos y se está quedando sin espacio. Afortunadamente, este sistema está en una máquina virtual y pude expandir el volumen físico /dev/sda utilizando el administrador de máquinas virtuales. Sin embargo, el aumento de tamaño no se pasa automáticamente a /dev/file-server-vg/root sistema de archivos Necesitamos hacer algunos comandos simples para que esto funcione.

Antes de comenzar, use pvdisplay para ver qué volúmenes físicos están presentes. Esto enumerará todos los volúmenes físicos y el grupo de volúmenes al que pertenece. En este caso solo tenemos un volumen físico que es /dev/sda3 .

  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               file-server-vg
  PV Size               155.26 GiB / not usable 0   
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              65346
  Free PE               0
  Allocated PE          65346
  PV UUID               0EXhc4-EoHZ-b79R-ncSe-SWXI-ztPe-Fsc7zk

La tabla de particiones actual se puede enumerar usando sudo parted y luego print .

Number  Start   End    Size   File system  Name  Flags
 1      1049kB  538MB  537MB  fat32              boot
 2      538MB   794MB  256MB  ext2
 3      794MB   167GB  166GB                     lvm

En este ejemplo, queremos ampliar la capacidad de 155,56 GiB a 255,56 GiB. Con el administrador de máquinas virtuales, normalmente podemos ampliar el espacio en disco y, en este caso, lo ampliaremos en 100 GiB.

Después de que la expansión sea exitosa, la tabla de particiones resultante (use print free ) tendrá el siguiente aspecto. Tenga en cuenta que el "Espacio libre" muestra 108 GB (~100 GiB).

Number  Start   End    Size   File system  Name  Flags
 1      1049kB  538MB  537MB  fat32              boot
 2      538MB   794MB  256MB  ext2
 3      794MB   275GB  166GB                     lvm
      167GB   275GB  108GB  Free Space

Hay dos formas de expandir el volumen lógico:
Cree una nueva partición y agréguela al Grupo de volumen, o
Aumente la misma partición.

En mi opinión, siempre que sea posible, el segundo método es más ordenado. Por supuesto si /dev/sda3 es un disco duro físico y compraste otro disco duro para ampliar el espacio, entonces será lógico usar el primer método.

En parte, escribe resize 3 794MB 275GB cambiará el tamaño de la partición 3 para ocupar todo el espacio libre, bueno, casi:

Number  Start   End     Size    File system  Name  Flags
        17.4kB  1049kB  1031kB  Free Space
 1      1049kB  538MB   537MB   fat32              boot
 2      538MB   794MB   256MB   ext2
 3      794MB   275GB   274GB                      lvm
        275GB   275GB   1032kB  Free Space

Esto es lo suficientemente bueno, solo 1 MB sin usar.

Relacionado:¿Cómo cambiar el propio directorio de inicio?

A continuación, reiniciaremos la máquina. Esto es necesario para actualizar la tabla de particiones.

Lo que verá ahora es que el volumen físico ha aumentado de tamaño con pvdisplay

--- Physical volume ---
  PV Name               /dev/sda3
  VG Name               file-server-vg
  PV Size               255.26 GiB / not usable 0   
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              65346
  Free PE               0
  Allocated PE          65346
  PV UUID               0EXhc4-EoHZ-b79R-ncSe-SWXI-ztPe-Fsc7zk

Este aumento de tamaño se pasará automáticamente al grupo de volumen mediante vgdisplay obtienes lo siguiente. Tenga en cuenta vgextend en realidad no hace lo que crees que hace. No ocupa el espacio libre, sino que se usa para agregar nuevos volúmenes físicos a un grupo de volúmenes en particular.

--- Volume group ---
  VG Name               file-server-vg
  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               255.26 GiB
  PE Size               4.00 MiB
  Total PE              65346
  Alloc PE / Size       65346 / 255.26 GiB
  Free  PE / Size       0 / 0   
  VG UUID               NwwIgT-W0SH-aeTe-d078-hcxx-XZ6W-QfnSA0

El volumen lógico no aumenta de tamaño automáticamente. En realidad, esto tiene sentido porque la computadora no tiene idea de qué volumen lógico desea aumentar de tamaño, o quizás desee crear un nuevo volumen lógico con el espacio adicional en el grupo de volúmenes. Entonces con lvdisplay verá la siguiente tabla, que muestra el /dev/file-server-vg/root solo tiene 153.26GiB, pero no te preocupes que estamos muy cerca.

--- Logical volume ---
  LV Path                /dev/file-server-vg/root
  LV Name                root
  VG Name                file-server-vg
  LV UUID                l6qvYZ-AmYw-tdgi-2jUu-XNB2-gecQ-6fDPt8
  LV Write Access        read/write
  LV Creation host, time file-server, 2014-07-10 14:54:58 +1000
  LV Status              available
  # open                 1
  LV Size                153.26 GiB
  Current LE             64834
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume ---
  LV Path                /dev/file-server-vg/swap_1
  LV Name                swap_1
  VG Name                file-server-vg
  LV UUID                OohMkN-rGLa-fM4M-6he2-MbM9-BBc3-Ck2Hs5
  LV Write Access        read/write
  LV Creation host, time file-server, 2014-07-10 14:54:58 +1000
  LV Status              available
  # open                 2
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

La forma de aumentar el volumen lógico es usar lvextend -L +100GB /dev/file-server-vg/root

Después de eso, expanda el sistema de archivos con resize2fs /dev/file-server-vg/root

Y ya está. Puedes hacer lvdisplay para verificar que /dev/file-server-vg/root el volumen se ha ampliado a 253,26 GiB

  --- Logical volume ---
  LV Path                /dev/file-server-vg/root
  LV Name                root
  VG Name                file-server-vg
  LV UUID                l6qvYZ-AmYw-tdgi-2jUu-XNB2-gecQ-6fDPt8
  LV Write Access        read/write
  LV Creation host, time file-server, 2014-07-10 14:54:58 +1000
  LV Status              available
  # open                 1
  LV Size                253.26 GiB
  Current LE             64834
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume ---
  LV Path                /dev/file-server-vg/swap_1
  LV Name                swap_1
  VG Name                file-server-vg
  LV UUID                OohMkN-rGLa-fM4M-6he2-MbM9-BBc3-Ck2Hs5
  LV Write Access        read/write
  LV Creation host, time file-server, 2014-07-10 14:54:58 +1000
  LV Status              available
  # open                 2
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

Ubuntu
  1. ¿Cómo debo configurar el soporte de recorte para volúmenes lógicos Lvm?

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

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

  4. Uso de instantáneas de LVM para clones de máquinas virtuales de KVM

  5. Cómo encontrar los volúmenes físicos que contienen un volumen lógico en LVM

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

Creación de una copia de seguridad de los datos almacenados en una máquina virtual Linux

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

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

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

Cómo reducir un volumen LVM en Ubuntu