KVM
Im Fahrwasser von Xen ist KVM als weiterer Open-Source-Hypervisor groß geworden und macht ersterem bereits seit längerem den Titel des führenden quelloffenen Virtualisierungssystems streitig. Die "Kernel-based Virtual Machine" ist als Modul direkt in den Linux-Kernel integriert. Ein separater Hypervisor und eine gesonderte virtuelle "Partition" für den Betrieb virtueller Maschinen sind nicht erforderlich. Der Linux-Kernel selbst stellt unter anderem Scheduling, Memory Management und Treiber zur Verfügung.
Neben den Kernelmodulen benötigt die KVM-Umgebung die Emulationssoftware QEMU. Diese ist für die virtualisierte Bereitstellung von Geräten auf den Gastsystemen zuständig und bietet gleichzeitig die Ablaufumgebung der VMs.
KVM präsentiert sich bereits bei der Installation sehr schlank und einfach: Es sind im Wesentlichen die Kernel-Module zum bestehenden System dazuzuinstallieren sowie Qemu und Management-Tools einzurichten. Damit kann auch ein bereits vorhandener Linux-Server nachträglich zum Virtualisierungssystem aufgerüstet werden.
Auch beim Handling finden sich Linux-Administratoren sofort zurecht: Jeder Gast beziehungsweise jede virtuelle CPU verhalten sich wie ganz gewöhnliche Linux-Prozesse und können so beispielsweise auch über normale Kommandos wie top oder kill kontrolliert und gesteuert werden. Dies gilt auch für die Gerätelandschaft - speziell für Speichergeräte. Da hier die normalen Linux-Treiber genutzt werden, ist eine Umgewöhnung nicht nötig. Zugleich wird damit klar, dass für den Aufbau und den Einsatz von KVM-basierten Umgebungen tiefer gehendes Linux-Know-how unabdingbar ist.
Die Zahl unterstützter Gast-Betriebssysteme ist ansehnlich: Sämtliche wichtigen Windows-Varianten sind dabei, darüber hinaus natürlich Linux, Solaris, BSD, FreeBSD und einige eher exotische wie etwa ReactOS. Dabei ist die Software eindeutig auf den Betrieb (nicht-grafischer) Server-Systeme ausgerichtet.
Beim Management zeigt sich, wie stark die Marktposition des Open-Source-Hypervisors geworden ist. Eine Fülle von Administrationswerkzeugen ist verfügbar, zudem wird KVM in vielen Virtualisierungslösungen und Cloud-Plattformen als Antrieb eingebaut.
So ist KVM in vielen Linux-Distributionen als Sammlung von Paketen bereits mit an Bord. Zum Standard gehören hier zum Beispiel bei Ubuntu der grafische virt-manager sowie die Kommandozeilen-Toolbox virsh. Beide laufen auf Basis des Hypervisor-übergreifenden Schnittstellenpakets libvirt. Remote-Management ist damit möglich, jedoch keine "Orchestrierung" ganzer Pools virtueller Maschinen mit weitergehenden Funktionen wie Failover, High Availability und dergleichen.
Hier springen Drittprojekte sowie Softwarehersteller in die Bresche, typischerweise allesamt aus dem Open Source Lager. Dazu gehören Stand-alone-Tools wie ConVirt (GUI oder Web) und oVirt sowie eine wachsende Liste von Cloud-Frameworks, die den KVM-Hypervisor integrieren, wie Ganeti, Enomaly, openQRM und Eucalyptus.
Aufbauend auf KVM als Virtualisierungs-Engine sind inzwischen verschiedene Komplettlösungen für die Servervirtualisierung am Markt angekommen, allen voran RHEV (Red Hat Virtualization): Das Lösungspaket enthält Komponenten für HA, Scheduling, Migration, Storage- und Energieverwaltung sowie für Monitoring. Auch Univention, Linux-Hersteller aus Bremen, integriert KVM als Hypervisor in seinen UCS Virtual Machine Manager (UVMM), auf Basis seiner Univention-Linux-Distribution. Proxmox VE als Open-Source-Paket bietet eine Out-of-the-Box-Virtualisierungsplattform für KVM und openVZ.
KVM - Pro und Contra
Vorteile:
Ausgereifter, leistungsfähiger Hypervisor
Breite OS-Unterstützung
Viele Managementalternativen
Nachteile:
Linux-Know-how notwendig
Leistungsumfang stark von den Management-Tools abhängig