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/