GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo montar la imagen del disco virtual Guest Qcow2 que contiene LVM en la máquina host KVM

Para CentOS/RHEL 7

Para acceder a la imagen de disco qcow2 del invitado en un host KVM CentOS/RHEL 7, use qemu-nbd o libguestfs .

Uso de qemu-nbd

Siga los pasos a continuación para montar la imagen qcow2 en CentOS/RHEL 7 usando qemu-nbd.

1. Habilite el controlador del núcleo NBD en el host KVM.

# modprobe nbd

2. Conecte la imagen qcow2 como dispositivo de bloqueo de red.

# qemu-nbd --connect=/dev/nbd0 olseven.qcow2 -f qcow2

3. Encuentra las particiones en la imagen usando fdisk

# fdisk /dev/nbd0 -l

Disk /dev/nbd0: 32.2 GB, 32212254720 bytes, 62914560 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 label type: dos
Disk identifier: 0x0009e4c2

Device Boot Start End Blocks Id System
/dev/nbd0p1 * 2048 2099199 1048576 83 Linux
/dev/nbd0p2 2099200 62914559 30407680 8e Linux LVM

4. El dispositivo /dev/nbd0p2 es LVM, por lo que deberá ubicar los nuevos PV/VG y LV en la máquina host KVM.

# pvscan
PV /dev/sda3 VG ol_kvm lvm2 [<363.23 GiB / 8.00 MiB free]
Total: 1 [<363.23 GiB] / in use: 1 [<363.23 GiB] / in no VG: 0 [0 ]

Actualice la memoria caché del volumen físico para que la máquina host reconozca el nuevo PV.

# pvscan --cache
# pvscan
PV /dev/sda3 VG ol_kvm lvm2 [<363.23 GiB / 8.00 MiB free]
PV /dev/nbd0p2 VG ol_guestol lvm2 [<29.00 GiB / 4.00 MiB free] >> Now its listed.
Total: 2 [392.22 GiB] / in use: 2 [392.22 GiB] / in no VG: 0 [0 ]
# vgscan
Reading volume groups from cache.
Found volume group "ol_kvm" using metadata type lvm2
Found volume group "ol_guestol" using metadata type lvm2     >> The VG in the image.
# lvscan
ACTIVE '/dev/ol_kvm/root' [<46.57 GiB] inherit
ACTIVE '/dev/ol_kvm/home' [206.75 GiB] inherit
ACTIVE '/dev/ol_kvm/var' [<102.45 GiB] inherit
ACTIVE '/dev/ol_kvm/swap' [7.45 GiB] inherit
inactive '/dev/ol_guestol/swap' [2.00 GiB] inherit     >> LV in the image.
inactive '/dev/ol_guestol/root' [26.99 GiB] inherit    >> LV in the image.

5. Active el VG del sistema operativo invitado.

# vgchange -ay
4 logical volume(s) in volume group "ol_kvm" now active
2 logical volume(s) in volume group "ol_guestol" now active
# lvscan
ACTIVE '/dev/ol_kvm/root' [<46.57 GiB] inherit
ACTIVE '/dev/ol_kvm/home' [206.75 GiB] inherit
ACTIVE '/dev/ol_kvm/var' [<102.45 GiB] inherit
ACTIVE '/dev/ol_kvm/swap' [7.45 GiB] inherit
ACTIVE '/dev/ol_guestol/swap' [2.00 GiB] inherit
ACTIVE '/dev/ol_guestol/root' [26.99 GiB] inherit

6. Monte la partición LVM

# mount /dev/mapper/ol_guestol-root /ol7/
# cd /ol7/
# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys test tmp usr var

Una vez realizados los cambios en la imagen del disco virtual, desconéctelo de forma segura para evitar problemas.

1. Desmonte la partición LVM:

# umount /ol7/

2. Desactivar el grupo de volumen.

# vgchange -an ol_guestol
0 logical volume(s) in volume group "ol_guestol" now active

3. Desconecta la imagen de NBD

# qemu-nbd --disconnect /dev/nbd0
/dev/nbd0 disconnected

4. Retire el controlador del núcleo NBD

# rmmod nbd

Para CentOS/RHEL 6

La imagen qemu que se envía con CentOS/RHEL 6 no es compatible con NBD. Entonces, para acceder a la imagen del disco virtual en el host CentOS/RHEL 6 KVM, use libguestfs herramienta.

1. Instale las herramientas libguestfs

# yum install libguestfs-tools

2. Ejecute el shell del sistema de archivos invitado

# guestfish --rw -a /var/lib/libvirt/images/olseven.qcow2
Welcome to guestfish, the guest filesystem shell for
editing virtual machine filesystems and disk images.

Type: ‘help’ for help on commands
‘man’ to read the manual
‘quit’ to quit the shell

[fs]

3. Inicie el backend con el comando "ejecutar".

[fs] run
100% ⟦#################################################################################⟧ 00:00

4. Enumere los sistemas de archivos en la imagen.

[fs] list-filesystems
/dev/sda1: xfs
/dev/ol_guestol/root: xfs
/dev/ol_guestol/swap: swap

5. Salga del shell del sistema de archivos invitado y monte la partición que se ve en la imagen del disco.

# guestmount -a /var/lib/libvirt/images/olseven.qcow2 -m /dev/ol_guestol/root /ol7/
# cd /ol7/
# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys test tmp usr var

6. Una vez que termine de hacer cambios en la imagen, desmóntela.

# umount /ol7/


Cent OS
  1. ¿Cómo usar las herramientas libguestfs para editar imágenes de disco de máquinas virtuales (VM) en CentOS/RHEL/Fedora?

  2. Cómo agregar memoria, vCPU, disco duro a una máquina virtual Linux KVM

  3. ¿Cómo montar una imagen de disco de varias particiones en Linux?

  4. ¿Cómo puedo montar una imagen de disco?

  5. ¿Cómo enviar/cargar un archivo desde el sistema operativo host al sistema operativo invitado en KVM? (sin compartir carpetas)

Cómo clonar una máquina virtual en VirtualBox

Cómo instalar VirtualBox Guest Additions en Debian 9 Virtual Machine

¿Cómo montar un archivo de disco duro virtual (VHD) en Ubuntu Linux?

Cómo configurar un host virtual Nginx

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

Cómo crear máquinas virtuales en KVM usando Virt-Manager