Wie konvertiert man XEN IMAGES zu KVM?
Die Herrschaft der "Wolke" hat sich bereits durchgesetzt, und jetzt kämpfen mehrere Anbieter um Marktanteile. Viele Unternehmen haben begonnen, sich auf die Cloud zu verlassen und suchen nach mehr und mehr Automatisierung und möglichen Diensten. Es sieht ganz einfach aus: Sie wählen einen Cloud-Anbieter aus, nutzen dessen Dienste und haben innerhalb von Minuten mehrere virtuelle Maschinen oder Container. Klingt wie Zauberei?
Nun, hier ist die Frage, die Sie sich wahrscheinlich stellen. Was steckt hinter all dem?
Die Antwort ist die gute alte Virtualisierung, starke APIs und Skripting. Ich vermute, dass die meisten von Ihnen, die in gewissem Maße bereits mit Virtualisierung vertraut sind und eine Affinität zur Arbeit mit Open-Source-Technologien haben, Xen verwendet haben. Es war das allererste in der Open-Source-Welt, und das ist sicher. Seine erste Veröffentlichung war 2002 und es wurde definitiv zu einer der dominierenden Virtualisierungslösungen in der Open-Source-Welt. Wenn wir einen Blick auf die wichtigsten Anbieter wie Oracle werfen, werden wir feststellen, dass hinter OVM wiederum Xen steht. Zur gleichen Zeit begannen viele Unternehmen, eine andere Lösung zu verwenden, von der Sie vielleicht schon gehört haben - Citrix. Das Unternehmen, das sie entwickelt hat, wurde sehr bekannt. 20OCT KVM wurde 2007 von einem israelischen Softwareentwickler veröffentlicht und bald darauf wurde das Unternehmen von Red Hat übernommen. Kurz nach der Übernahme stellte das Unternehmen seine Unterstützung für Xen ein und begann, KVM in seinem Kernel zu unterstützen. Viele Projekte begannen, KVM zu verwenden, und Benchmarks zeigen, dass die Leistung von Linux-Gästen besser ist als die von Xen.
Hier endet die Geschichte und die Action beginnt. Das ITGix-Managed-Services-Team verfügt über umfangreiche Erfahrungen mit OpenStack und Migrationen anderer Plattformen. Wir hatten einen Fall, in dem wir Xen-Images auf KVM als Standard-Hypervisor migrieren mussten. Manchmal ist es nicht nur ein einfacher Fall, bei dem man mehrere virtuelle Maschinen aufsetzen und die Software darauf installieren muss. Leider wurde das Xen-Hypervisor-Image ohne Partitionstabelle gesendet, und das war ein schwer zu behebendes Problem.
Im Folgenden wird beschrieben, wie wir dieses Problem lösen konnten. Sobald Sie die Images erhalten haben, müssen Sie die folgenden Tools installieren:
Guestfish - Befehlszeile, die Ihnen hilft, das Image zu ändern virt-v2v - KVM-Tool, das einen fremden Hypervisor in KVM umwandelt
Für unser Beispiel haben wir bereits ein Bild im qcow2-Format übertragen: xen-image.qcow2
working-station: qemu-imga size xen-image.qcow2
working-station: 100G
#Add a block device or virtual machine image to the shell
working-station: guestfish -a xen-image.qcow2
><fs> sparse output.img 101G
# adjust the output size based on qemu-img info XXX.qcow2 command output, it should be greater than the virt. disk size
><fs> run
# Create a partition table on the output disk:
><fs> part-init /dev/sdb mbr
><fs> part-add /dev/sdb p 2048 -2048
# Copy the data to the target partition:
><fs> copy-device-to-device /dev/sda /dev/sdb1 sparse:true
# Optionally resize the target filesystem. Use ntfsresize
# for Windows guests:
## ><fs> resize2fs /dev/sdb1
Der nächste Schritt ist die Verwendung von guestfish, um die Bootkonfiguration in output.img erneut zu ändern
working-station: guestfish -a output.img -m /dev/sda1
vi /boot/grub/grub.conf
Ändern Sie das richtige Gerät zum Booten. Der nächste Schritt ist die Ausführung von virt-v2v und die Umwandlung der Maschine in eine bootfähige KVM-Maschine.
working-station: virt-v2v -v -x -i disk output.img -o local -os ./
Verwenden Sie einen Blick, um die Maschine zu importieren und zu starten.
Haben Sie gefunden, was Sie gesucht haben?
Sehen Sie sich mein Interview darüber an, was wir tun und wie wir es schaffen, unsere technische Exzellenz in ITGix zu erreichen!

