Für CentOS/RHEL 7
Für den Zugriff auf das Disk-Image qcow2 des Gastes auf einem CentOS/RHEL 7 KVM-Host verwenden Sie entweder qemu-nbd oder libguestfs .
Mit qemu-nbd
Führen Sie die folgenden Schritte aus, um das qcow2-Image in CentOS/RHEL 7 mithilfe von qemu-nbd bereitzustellen.
1. Aktivieren Sie den NBD-Kerneltreiber auf dem KVM-Host.
# modprobe nbd
2. Verbinden Sie das qcow2-Image als Netzwerkblockgerät.
# qemu-nbd --connect=/dev/nbd0 olseven.qcow2 -f qcow2
3. Finden Sie die Partitionen im Image mit 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. Das Gerät /dev/nbd0p2 ist LVM, also müssten Sie die neuen PVs/VGs und LVs auf dem KVM-Hostrechner suchen.
# 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 ]
Aktualisieren Sie den Cache des physischen Volumes, damit der Host-Rechner das neue PV erkennt.
# 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. Aktivieren Sie die VG des Gastbetriebssystems.
# 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. Mounten Sie die LVM-Partition
# 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
Sobald Änderungen am Image des virtuellen Datenträgers vorgenommen wurden, trennen Sie den virtuellen Datenträger sicher, um Probleme zu vermeiden.
1. Unmounten Sie die LVM-Partition:
# umount /ol7/
2. Deaktivieren Sie die Volume-Gruppe.
# vgchange -an ol_guestol 0 logical volume(s) in volume group "ol_guestol" now active
3. Trennen Sie das Image von NBD
# qemu-nbd --disconnect /dev/nbd0 /dev/nbd0 disconnected
4. Entfernen Sie den NBD-Kerneltreiber
# rmmod nbd
Für CentOS/RHEL 6
Das qemu-Image, das mit CentOS/RHEL 6 geliefert wird, hat keine NBD-Unterstützung. Verwenden Sie also für den Zugriff auf das virtuelle Festplatten-Image im CentOS/RHEL 6 KVM-Host libguestfs Werkzeug.
1. Installieren Sie die libguestfs-Tools
# yum install libguestfs-tools
2. Führen Sie die Gastdateisystem-Shell
aus# 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. Starten Sie das Backend mit dem Befehl „run“.
[fs] run 100% ⟦#################################################################################⟧ 00:00
4. Listen Sie die Dateisysteme im Image auf.
[fs] list-filesystems /dev/sda1: xfs /dev/ol_guestol/root: xfs /dev/ol_guestol/swap: swap
5. Beenden Sie die Gastdateisystem-Shell und hängen Sie die Partition ein, die im Disk-Image zu sehen ist.
# 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. Wenn Sie mit den Änderungen am Image fertig sind, hängen Sie es aus.
# umount /ol7/