GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So mounten Sie das Qcow2 Virtual Disk-Image des Gasts, das LVM auf einer KVM-Host-Maschine enthält

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/


Cent OS
  1. Wie verwendet man libguestfs-Tools zum Bearbeiten von Disk-Images virtueller Maschinen (VM) in CentOS/RHEL/Fedora?

  2. So fügen Sie Arbeitsspeicher, vCPU und Festplatte zu einer virtuellen Linux-KVM-Maschine hinzu

  3. Wie mounte ich ein Disk-Image mit mehreren Partitionen unter Linux?

  4. Wie kann ich ein Disk-Image mounten?

  5. Wie kann ich eine Datei vom Host-Betriebssystem zum Gast-Betriebssystem in KVM senden/hochladen? (keine Ordnerfreigabe)

So klonen Sie eine virtuelle Maschine in VirtualBox

So installieren Sie VirtualBox-Gasterweiterungen in der virtuellen Maschine von Debian 9

Wie kann ich eine VHD-Datei (Virtual Hard Disk) in Ubuntu Linux mounten?

So richten Sie einen virtuellen Nginx-Host ein

So erstellen Sie eine Vorlage für eine virtuelle KVM-Maschine

So erstellen Sie virtuelle Maschinen in KVM mit Virt-Manager