GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo extender el tamaño del disco de la máquina virtual KVM en Linux

Esta breve guía explica qué es Virt-size herramienta de línea de comandos y cómo podemos expandir o extender el tamaño del disco de la máquina virtual KVM usando la herramienta Virt-resize en Linux.

El otro día noté que una de mis máquinas virtuales KVM se está quedando sin espacio en disco. No pude instalar ninguna aplicación nueva o no pude guardar archivos debido a la falta de espacio en disco. Para solucionar este problema, simplemente aumenté el tamaño del disco de una máquina virtual KVM usando virt-size dominio. Probé personalmente los pasos que se indican a continuación para aumentar el tamaño del disco de una máquina virtual CentOS 8 KVM y funcionó como se esperaba.

Herramienta de cambio de tamaño de Virt

Virtud-cambiar tamaño es una herramienta de línea de comandos para cambiar el tamaño de un disco de máquina virtual. Usando virt-resize, podemos aumentar o disminuir el tamaño del disco de una máquina virtual. También podemos eliminar las particiones dentro del disco virtual con el comando virt-resize. Tenga en cuenta que virt-cambia el tamaño de las máquinas en vivo. Los sistemas invitados deben apagarse antes de cambiar el tamaño de sus imágenes de disco.

Para expandir el tamaño del disco de una máquina virtual, primero creamos una imagen de disco más grande que la imagen de origen. Y luego copiamos la imagen de origen a la imagen de destino y finalmente la redimensionamos.

Virt-resize es parte de las libguestfs-tools paquete. Para instalar el paquete libguestfs-tools en Debian, Ubuntu y sus derivados, ejecute:

$ sudo apt install libguestfs-tools

Para instalar el paquete libguestfs-tools en Fedora, RHEL y sus clones, ejecute:

$ sudo dnf install libguestfs-tools

En Fedora 34, guestfs-tools El paquete proporciona la herramienta virt-resize. Entonces, si está en Fedora 34, instale guestfs-tools paquete como a continuación:

$ sudo dnf install guestfs-tools

Ahora veamos cómo expandir el tamaño del disco de la máquina virtual usando virt-resize dominio.

Ampliar o ampliar el tamaño del disco de la máquina virtual KVM en Linux

Para el propósito de esta guía, usaré la imagen de disco de la máquina virtual CentOS 8 llamada centos8.qcow2 . He almacenado este mago en mi directorio de trabajo actual. Puedes usar virsh dumpxml comando para ubicar la imagen de disco que desea cambiar de tamaño.

Ejemplo:

$ virsh dumpxml centos8

Reemplace centos8 con el nombre de su VM en el comando anterior.

Después de ubicar la imagen de disco que desea cambiar de tamaño, inspeccione los detalles de la partición dentro de esta imagen de disco. Para imprimir los detalles de la partición y su tamaño de una imagen de disco, ejecute:

$ virt-filesystems --long --parts --blkdevs -h -a centos8.qcow2 

Salida de muestra:

 Name       Type       MBR  Size  Parent
 /dev/sda1  partition  83   1.0G  /dev/sda
 /dev/sda2  partition  8e   19G   /dev/sda
 /dev/sda   device     -    20G   -

Como puede ver en el resultado anterior, mi imagen de disco tiene solo dos particiones, a saber, /dev/sda1 con tamaño 1 GB y /dev/sda2 con 19 GB. El tamaño total de la imagen de disco es de 20 GB.

Ahora lo haremos,

  • aumentar el tamaño total de la imagen del disco de 20 GB a 30 GB ,
  • aumentar el tamaño de la primera partición /dev/sda1 de 1,0 GB a 1,5 GB ,
  • Expandir la segunda partición /dev/sda2 para llenar el espacio restante.

Virt-resize no puede cambiar el tamaño de las imágenes de disco en el lugar. Además, Virt-resize no debe usarse en máquinas virtuales activas. Antes de cambiar el tamaño de la imagen del disco, apague la máquina virtual y realice una copia de seguridad de la imagen del disco original.

$ mv centos8.qcow2 centos8.qcow2.backup

El comando anterior cambiará el nombre de la imagen de disco actual llamada centos8.qcow2 a centos8.qcow2.backup .

Cree una nueva imagen de disco con el mismo nombre y con un tamaño de 30 GB usando el comando:

$ qemu-img create -f qcow2 -o preallocation=metadata centos8.qcow2 30G

Salida de muestra:

Formatting 'centos8.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off preallocation=metadata compression_type=zlib size=32212254720 lazy_refcounts=off refcount_bits=16

Asegúrese de que el tamaño del disco recién creado sea de 30 GB:

$ virt-filesystems --long --parts --blkdevs -h -a centos8.qcow2

Salida de muestra:

Name      Type    MBR  Size  Parent
 /dev/sda  device  -    30G   -

Ahora expanda/extienda el tamaño de la imagen del disco de la máquina virtual KVM usando el comando:

$ virt-resize --resize /dev/sda1=+500M --expand /dev/sda2 centos8.qcow2.backup centos8.qcow2

Aquí,

  • --resize /dev/sda1=+500M - aumenta el tamaño del /dev/sda1 partición a 500 MB.
  • --expand /dev/sda2 - cambia el tamaño de /dev/sda2 partición para llenar todo el espacio restante. En mi caso, se redimensionará de 19.0G a 28.5G.
  • centos8.qcow2.backup - es la imagen de disco de entrada original.
  • centos8.qcow2 - es la imagen de disco de salida recién creada.

La salida de muestra del comando anterior es:

[   0.0] Examining centos8.qcow2.backup
 
 Summary of changes:
 /dev/sda1: This partition will be resized from 1.0G to 1.5G.  The 
 filesystem ext4 on /dev/sda1 will be expanded using the ‘resize2fs’ 
 method.
 /dev/sda2: This partition will be resized from 19.0G to 28.5G.  The LVM PV 
 on /dev/sda2 will be expanded using the ‘pvresize’ method.
 
 [   4.2] Setting up initial partition table on centos8.qcow2
 [   5.6] Copying /dev/sda1
  100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00
 [   9.7] Copying /dev/sda2
  100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00
 [  45.1] Expanding /dev/sda1 using the ‘resize2fs’ method
 [  45.3] Expanding /dev/sda2 using the ‘pvresize’ method
 Resize operation completed with no errors.  Before deleting the old disk, 
 carefully check that the resized disk boots and works correctly.

Verifique las particiones y sus tamaños con virt-filesystems comando:

$ virt-filesystems --long -h --all -a centos8.qcow2

Salida de muestra:

 Name          Type        VFS   Label  MBR  Size  Parent
 /dev/sda1     filesystem  ext4  -      -    1.4G  -
 /dev/cl/root  filesystem  xfs   -      -    17G   -
 /dev/cl/swap  filesystem  swap  -      -    2.0G  -
 /dev/cl/root  lv          -     -      -    17G   /dev/cl
 /dev/cl/swap  lv          -     -      -    2.0G  /dev/cl
 /dev/cl       vg          -     -      -    29G   /dev/sda2
 /dev/sda2     pv          -     -      -    29G   -
 /dev/sda1     partition   -     -      83   1.5G  /dev/sda
 /dev/sda2     partition   -     -      8e   29G   /dev/sda
 /dev/sda      device      -     -      -    30G   -

Como puede ver en el resultado anterior, el tamaño de la imagen de mi disco CentOS8 KVM se ha redimensionado de 20 GB a 30 GB.

Ahora inicie la máquina virtual con una nueva imagen de disco. También puede crear una nueva máquina virtual usando la imagen Qcow2 como se describe en el siguiente enlace.

  • Cree una máquina virtual KVM usando la imagen Qcow2 en Linux

Si funciona sin ningún problema, inspeccione minuciosamente si existen todos sus datos. Si todo está bien, elimine el disco de copia de seguridad antiguo.

Si hay algún problema con el nuevo disco, apague la máquina virtual y cambie el nombre del disco de respaldo a su nombre original. Repita los pasos anteriores cuidadosamente de nuevo. No olvide hacer una copia de seguridad de los datos y la imagen del disco.


Linux
  1. Cómo eliminar máquinas virtuales basadas en KVM en Redhat Linux

  2. Cómo comprobar si un sistema Linux es una máquina física o virtual

  3. ¿Cómo verificar si el sistema Linux se está ejecutando en un sistema físico o una máquina virtual?

  4. Linux KVM en un Virtualbox

  5. Cómo extender una partición PV de Linux en línea después del crecimiento del disco virtual

Cómo exportar e importar máquinas virtuales KVM en Linux

Cómo clonar una máquina virtual en VirtualBox

Cómo aumentar el tamaño del disco de sus máquinas virtuales existentes en VirtualBox

Cómo usar el sistema operativo Tails Linux en la máquina virtual VirtualBox

Cómo crear una plantilla de máquina virtual KVM

Cómo verificar el tamaño de los archivos y directorios en Linux