Pro CentOS/RHEL 7
Pro přístup k obrazu disku qcow2 hosta na hostiteli CentOS/RHEL 7 KVM použijte buď qemu-nbd nebo libguestfs .
Použití qemu-nbd
Postupujte podle níže uvedených kroků a připojte obraz qcow2 v CentOS/RHEL 7 pomocí qemu-nbd.
1. Povolte ovladač jádra NBD na hostiteli KVM.
# modprobe nbd
2. Připojte obraz qcow2 jako síťové blokové zařízení.
# qemu-nbd --connect=/dev/nbd0 olseven.qcow2 -f qcow2
3. Najděte oddíly v obrazu pomocí 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. Zařízení /dev/nbd0p2 je LVM, takže budete muset najít nové PV/VG a LV na hostitelském počítači 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 ]
Obnovte mezipaměť fyzického svazku, aby hostitelský počítač rozpoznal nový 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. Aktivujte VG hostujícího OS.
# 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. Připojte oddíl 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
Jakmile jsou v obrazu virtuálního disku provedeny změny, bezpečně virtuální disk odpojte, abyste předešli jakýmkoli problémům.
1. Odpojte oddíl LVM:
# umount /ol7/
2. Deaktivujte skupinu svazků.
# vgchange -an ol_guestol 0 logical volume(s) in volume group "ol_guestol" now active
3. Odpojte obraz od NBD
# qemu-nbd --disconnect /dev/nbd0 /dev/nbd0 disconnected
4. Odeberte ovladač jádra NBD
# rmmod nbd
Pro CentOS/RHEL 6
Obrázek qemu, který se dodává s CentOS/RHEL 6, nemá podporu NBD. Takže pro přístup k obrazu virtuálního disku v hostiteli CentOS/RHEL 6 KVM použijte libguestfs nástroj.
1. Nainstalujte nástroje libguestfs
# yum install libguestfs-tools
2. Spusťte shell hostujícího souborového systému
# 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. Spusťte backend pomocí příkazu "run".
[fs] run 100% ⟦#################################################################################⟧ 00:00
4. Vypište souborové systémy v obrazu.
[fs] list-filesystems /dev/sda1: xfs /dev/ol_guestol/root: xfs /dev/ol_guestol/swap: swap
5. Ukončete shell hostujícího souborového systému a připojte oddíl zobrazený v obrazu disku.
# 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. Jakmile dokončíte provádění změn v obrazu, odpojte jej.
# umount /ol7/