DrHitch - Fotolia

Der Open-Source-Hypervisor KVM als Basis für die Private Cloud

Für die eigene Private Cloud muss es nicht unbedingt der große Hammer sein. Auch der Open-Source-Hypervisor KVM führt schnell ans Ziel.

Die Public Cloud wird meist als der einfachste Weg angesehen, schnell und effizient eine große Anzahl virtueller Maschinen bereitzustellen – sie ist aber beileibe nicht die einzige Option. Für Unternehmen, die eine kleinere Anzahl virtueller Maschinen bereitstellen wollen, kann eine interne KVM-Cloud tatsächlich sogar die bessere Wahl sein. Dieser Artikel zeigt, wie man mit KVM eine Cloud-ähnliche Umgebung aufbauen kann, ohne hierfür auf Public-Cloud-Anbieter oder teure Software-Stacks für Private Clouds angewiesen zu sein.

Wer auf der Suche nach einfachen Wegen zur VM-Bereitstellung ist, der sollte sich zunächst um Templates für schnell einsatzbereite Disk-Images kümmern. Dabei kann es sich um Disk-Files handeln, die mit KVM, irgend einer anderen Virtualisierungssoftware oder auch mit Tools wie virt-manager bereitgestellt werden.

Für die weiteren Ausführungen wollen wir einmal annehmen, dass ein entsprechendes Disk-File bereits existiert. Darauf aufbauend werden nun virtuelle Maschinen genutzt, die über VMware Fusion erstellt werden, was uns zudem einen Blick auf die Probleme bei der VM-Konvertierung ermögicht.

Kompatibilität der VM-Datei sicherstellen

Wenn man mit VMware-Tools virtuelle Maschinen erstellt sollte dabei sichergestellt werden, dass diese später auch kompatibel mit der übrigen Infrastruktur sind. Wenn dort sowieso nur vSphere zum Einsatz kommt sind entsprechend keine Probleme zu erwarten, in vielen Unternehmen kommen aber auch alternative Hypervisoren wie beispielsweise KVM zum Einsatz.

Eine Möglichkeit, für die nötige Kompatibilität zu sorgen, besteht im Exportieren der VM-Dateien in das Open Virtualization Format (OVF). Dieses Format funktioniert so ähnlich wie eine ZIP-Datei und hat den Vorteil, dass eigentlich jeder aktuelle Hypervisor das Format unterstützt.

Innerhalb der virtuellen Maschine findet sich typischerweise eine OVF-Datei, die die VM-Hardware beschreibt, sowie mindestens eine VMDK-Datei (Virtual Machine Disk File), die im Grunde die virtuelle Festplatte darstellt. Die VMDK-Datei muss zunächst importiert werden, bevor sie in der KVM-Cloud verwendet werden kann. Hierfür dient der folgende Befehl, der auf der Linux-Shell ausgeführt wird:

qemu-img convert -O qcow2 vmdisk.vmdk vmdisk.qcow2

Erstellen der virtuellen Maschine

Nachdem der obenstehende Befehl ausgeführt wurde, steht ein Disk-File zur Verfügung, das auch mit KVM kompatibel ist. Der nächste Schritt besteht im Erstellen einer neuen virtuellen Maschine auf Basis dieses Disk-Files. Dies wird über den virt-install-Befehl ausgeführt, gefolgt von Parametern, mit denen sich die gewünschte Hardwarekonfiguration angeben lässt:

virt-install -n server1 --disk=/var/lib/libvirt/images/server1.qcow2 --ram 1024 vcpus 1 --connect qemu:///system --import --noautoconsole

Dieser Befehl führt zu einer neuen virtuellen Maschine auf Basis der qcow2-Datei, die im Verzeichnis /var/lib/libvirt/images gespeichert ist. An diesem Punkt kann die virtuelle Maschine auch bereits genutzt werden.

Neue Hardware für die VM

Nachdem die virtuellen Maschinen importiert wurden, wird es nötig sein, ihnen neue Hardware zuzuordnen. Hierfür wird der virsh-Befehl verwendet, um direkt die virsh-Management-Schicht anzusprechen, die mit libvirtd kommuniziert. Wenn der virtuellen Maschine serv1 zum Beispiel eine neue Netzwerkkarte hinzugefügt werden soll, würde man den folgenden Befehl verwenden:

virsh attach-interface --domain server1 --type network --source default --model virtio --mac 52:54:00:00:11:11 --config –live

Dieser Befehl stellt eine neue Netzwerkkarte zur Verfügung, die die virtio-Treiber für den Zugang zur Netzwerkhardware nutzt. Der virtio-Treiber greift dabei auch auf die Konfigurationsdatei zu und wendet das neue Interface auf die Live-Konfiguration an, wodurch die neue Hardware ohne Reboot der VM verwendet werden kann.

Auf die gleiche Weise lassen sich der virtuellen Maschine auch neue Festplatten hinzufügen – vorher muss allerdings zuerst ein Storage-Gerät erstellt werden. Um das Disk-File hierfür festzulegen, findet der dd-Befehl Anwendung, der eine Sparse-Datei erstellt. Mit dem folgenden Befehl wird eine 1 GB große Sparse-Datei erstellt:

dd if=/dev/zero of=/var/lib/libvirt/images/1Gfile.img bs=1M seek=1024 count=0

Im nächsten Schritt wird diese Datei der virtuellen Maschine angehängt, der Befehl hierfür lautet:

virsh attach-diks myvm /var/lib/libvirt/images/1Gfile.img vdb --config –live

Dieser Befehl fügt der VM eine virtuelle Festplatte hinzu, deren Name /dev/vdb lautet.

An diesem Punkt steht der Verwaltung einer grundlegenden Linux-KVM-Umgebung nichts mehr im Wege, die über herkömmliche Linux-Befehle unkompliziert als KVM-Private-Cloud zum Einsatz kommen kann. Auf deren Basis können dann wiederum virtuelle Maschinen über zuvor erstellte Templates bereitgestellt und modifiziert werden.

Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!

Erfahren Sie mehr über Containervirtualisierung

- GOOGLE-ANZEIGEN

ComputerWeekly.de

Close