Wie verschiebe ich eine virtuelle Maschinen?

virtualization
german

#1

Wir haben einen DC-Master. Dieser kann auch als physikalischer Server für die KVM-Virtualsierung dienen. Auf diesem Server wurde eine virtuelle KVM “Univention 3.0 BDC” aufgesetzt. Diesen möchten wir jetzt umziehen auf eine neue Hardware (Memberserver). Wie muss ich vorgehen? Im UCS Vritual Machine Manager werden beide Server und die VM angezeigt. Klicke ich jetzt hinten bei “mehr” auf migrieren, wird zwar der Eintrag verschoben, die qcow2" Datei wird jedoch nicht kopiert. Hole ich dies manuell nach, wird mir kein “import” angeboten. Lege ich eine neue Maschine an, und binde die (var/lib/libvirt/images/.qcow2 Datei als Festplatte ein, bootet diese nicht (no bootable device).

Eigentlich muss es doch einfach sein, die Maschinen zu migrieren … ! Was mach ich falsch?

Besten Dank für die Unterstützung


#2

Die VM-Server müssen den selben Storage haben.


#3

Ein Storage haben wir nicht. Es muss doch auch gehen, die *.qcow Datei auf den neuen Server zu schieben (also auf die physischen Platte die dort eingabaut ist) und die VM dann dort zu booten.


#4

Hallo,

generell ist das Verwenden eines qcow2-Images in einer neu definierten Instanz bzw. die händische Migration auf einen anderen Host möglich.
Hierzu sollten vorab einige Fragen geklärt werden:
[ul][li]1. Befinden sich beide UCS-Systeme auf gleichem Versionsstand?[/li]
[li]2. Wurden Snapshots bzw. Sicherungspunkte erstellt?[/li][/ul]

Zusätzlich wäre es gut, wenn Sie uns in Ihrer nächsten Antwort einmal die Ausgabe von “ls -la /var/lib/libvirt/images” sowie die Instanzkonfiguration anhängen könnten.
Die Definition einer Instanz erhalten Sie mittels:

virsh dumpxml <instanzname> > <instanzname>.xml

Mit freundlichen Grüßen,
Tim Petersen


#5

Hallo Herr Petersen,

zu 1)
root@master:~# cat /etc/issue
Univention DC Master 3.0-2

root@service:/# cat /etc/issue
Univention Memberserver 3.0-0

zu 2)
nein


DCMASTER (die VM habe ich wieder gestartet seit meinem Versuch):

root@master:~# ls -la /var/lib/libvirt/images
insgesamt 14740364
drwxr-xr-x 2 root root 4096 5. Okt 17:00 .
drwxr-xr-x 5 root root 4096 5. Okt 15:21 …
-rw-r–r-- 1 root root 25702400 6. Aug 12:42 KVM Windows drivers (virtio 1.1.16).iso
-rw-r–r-- 1 root root 1474560 6. Aug 12:42 KVM Windows drivers (virtio 1.1.16).vfd
-rw------- 1 libvirt-qemu kvm 15052308480 8. Okt 17:29 Mailerserver-SMB4-0.qcow2
root@master:~#

root@master:~# virsh dumpxml Mailerserver-SMB4 > VM.xml
root@master:~# cat VM.xml

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> <name>Mailerserver-SMB4</name> <uuid>48abc680-2713-a7ec-06a3-6ddfc8eb9f08</uuid> <description>neuer Mailserver</description> <memory>524288</memory> <currentMemory>524288</currentMemory> <vcpu>1</vcpu> <os> <type arch='x86_64' machine='pc-0.14'>hvm</type> <boot dev='cdrom'/> <boot dev='hd'/> </os> <features> <acpi/> <apic/> </features> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>destroy</on_crash> <devices> <emulator>/usr/bin/kvm</emulator> <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/var/lib/libvirt/images/Mailerserver-SMB4-0.qcow2'/> <target dev='vda' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </disk> <controller type='ide' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <interface type='bridge'> <mac address='52:54:00:dd:e6:a1'/> <source bridge='eth0'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> <input type='tablet' bus='usb'/> <input type='mouse' bus='ps2'/> <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0' keymap='de'/> <video> <model type='cirrus' vram='9216' heads='1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </video> <memballoon model='virtio'> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </memballoon> </devices> </domain>

root@master:~#


MEMBERSERVER:

root@service:/# ls -la /var/lib/libvirt/images
insgesamt 14704288
drwxr-xr-x 3 root root 4096 8. Okt 17:54 .
drwxr-xr-x 5 root root 4096 5. Okt 15:07 …
-rw-r–r-- 1 root root 25702400 5. Okt 15:11 KVM Windows drivers (virtio 1.1.16).iso
-rw-r–r-- 1 root root 1474560 5. Okt 15:11 KVM Windows drivers (virtio 1.1.16).vfd
-rw------- 1 libvirt-qemu kvm 15015280640 5. Okt 15:30 Mailerserver-SMB4-0.qcow2
drwxr-xr-x 3 root root 4096 5. Okt 15:52 var
root@service:/#

root@service:/# cat VM_neu.xml

<domain type='kvm' id='4' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> <name>Mailerserver-SMB4</name> <uuid>0004ebc1-2e2a-425a-cc1c-90fa1215b87d</uuid> <memory>1048576</memory> <currentMemory>1048576</currentMemory> <vcpu>1</vcpu> <os> <type arch='x86_64' machine='pc-0.14'>hvm</type> <boot dev='cdrom'/> <boot dev='hd'/> </os> <features> <acpi/> <apic/> </features> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>destroy</on_crash> <devices> <emulator>/usr/bin/kvm</emulator> <disk type='block' device='disk'> <driver name='qemu' type='raw'/> <source dev='/var/lib/libvirt/images/Mailerserver-SMB4-0.qcow2'/> <target dev='hda' bus='ide'/> <alias name='ide0-0-0'/> <address type='drive' controller='0' bus='0' unit='0'/> </disk> <controller type='ide' index='0'> <alias name='ide0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <interface type='bridge'> <mac address='52:54:00:b2:0e:1f'/> <source bridge='eth0'/> <target dev='vnet0'/> <model type='virtio'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> <input type='tablet' bus='usb'> <alias name='input0'/> </input> <input type='mouse' bus='ps2'/> <graphics type='vnc' port='5900' autoport='yes' listen='0.0.0.0' keymap='de'/> <video> <model type='cirrus' vram='9216' heads='1'/> <alias name='video0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </video> <memballoon model='virtio'> <alias name='balloon0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </memballoon> </devices> </domain>

root@service:/#


Sowei von hier. Vielen Dank für Ihre Unterstützung.

Gruß Hahn


#6

Hallo,

um ein bestehendes qcow2 Image erneut zu verwenden, sollte die Instanzdefinition weitestgehend beibehalten werden.
Das aktuelle Problem ist die Definition des Imagetyps als “raw” und die fehlende virtio-Unterstützung.
Am einfachsten gehen Sie folgendermaßen vor, um die aktuelle Definition zu bereinigen:
[ul]
[li]1. Editieren der neuen Instandefinition (VM_neu.xml):

[code]-

  • [/code][/li]

[li]2. Neudefinieren der Instanz:

virsh define VM_neu.xml

Mit freundlichen Grüßen,
Tim Petersen


#7

Hallo Herr Petersen, die Umstellungen haben zum gewünschten Ergebnis geführt … Die VM läuft wieder auf der neuen Maschine. Was ich noch machen musste:

Nach dem Klonen wurde die Ethernetschnittstelle der VM von eth0 auf eth1 umgestellt und funktionierte dann auch nicht.

Erst alls ich die Datei “70-persistent-net.rules” gelöscht habe, ging auch das Netzwerk wieder…

rm /etc/udev/rules.d/70-persistent-net.rules

Besten Dank für die Unterstützung. Gruß, Hahn