Login
Login-Name Passwort


 
Newsletter
Werbung

Fr, 22. Mai 2015, 12:36

Software::Virtualisierung

Clear Containers für effizientere virtuelle Maschinen

Intel hat das Projekt »Clear Containers« vorgestellt, das die Geschwindigkeit und Speichereffizienz von Containern mit der Sicherheit und Isolation von virtuellen Maschinen verbinden will.

Mirko Lindner

Container sind derzeit eines der heißesten Themen im Open-Source-Umfeld. Viele Anwender wollen möglichst viele »virtuelle Maschinen« auf einem Rechner unterbringen. Dafür ist der Overhead, den Virtualisierungslösungen wie Xen oder KVM bergen, allerdings zu groß. Unter diesen Hypervisoren kostet jede virtuelle Maschine (VM) zusätzlich zu ihrem konfigurierten Hauptspeicher einige Dutzend Megabyte und ein paar Prozent CPU-Leistung. Dagegen benötigen Container fast keine CPU-Leistung und die gemeinsame Speichernutzung ist einfacher, so dass hunderte bis tausende davon auf einem Server laufen können. Für viele Anwender ist allerdings die Sicherheit von Containern nicht ausreichend, da Container weniger strikt voneinander isoliert sind und mehr gegenseitige Beeinflussungsmöglichkeiten, wenn nicht gar Ausbruchsmöglichkeiten aus dem Container, bestehen.

Eine Gruppe von Entwicklern bei Intel unter der Leitung von Kernel-Guru Arjan van de Ven will den Konflikt nun lösen, indem sie virtuelle Maschinen schlanker und schneller macht. Das Projekt wurde Clear Containers genannt und nähere Informationen findet man vorerst hauptsächlich in einem Artikel auf LWN.

Clear Containers beruht auf der Beobachtung, das der unter Xen und KVM als Frontend eingesetzte Qemu mehr tut als nötig, wenn man eine Linux-VM betreiben will. Da Qemu einen vollständigen PC emuliert, durchläuft es beim Start erst einmal eine Firmware (das freie SeaBIOS in diesem Fall), was den Start um 0,5 bis 0,7 Sekunden verlangsamt.

Wegen des Overheads von Qemu entschieden sich die Entwickler, stattdessen kvmtool zu verwenden. Damit wird das BIOS vollständig umgangen und direkt ein Kernel gebootet. Der Start des Kernels erfolgt binnen 30 Millisekunden. Da in einer VM keine Wartezeiten für die Initialisierung von Geräten anfallen, bootet der Linux-Kernel in dieser sehr schnell. Das Team optimierte den Kernel noch ein wenig auf diesen Anwendungsfall und kam damit auf 32 ms Startzeit für den Kernel, ohne das Optimierungspotential ausgeschöpft zu haben.

Das gebootete System ist mutmaßlich eine Variante von ClearLinux. Ohne die Anwendungsseite nennenswert optimiert zu haben, wurde dank Systemd eine Startzeit von 75 ms erreicht. Die gesamte Startzeit bis zum Login-Prompt wurde also unter 150 ms gedrückt, bei weniger als 20 MB zusätzlichem Speicherverbrauch pro VM. Diese Werte sollten sich in Zukunft noch weiter verbessern lassen.

Der Speicherbedarf der VM wurde durch mindestens drei Maßnahmen reduziert. Die erste ist DAX zum direkten Ausführen von Programmen, die bereits ins RAM eingeblendet sind. Dies wird seit Linux 4.0 vom Dateisystem ext4 unterstützt. Die zweite Maßnahme ist das Kernel Same-page Merging (KSM), das Speicher dedupliziert, und als dritte Maßnahme wurden die wichtigsten Daemonen so modifiziert, dass sie nach der Initialisierung mittels malloc_trim so viel Speicher wie möglich wieder freigeben.

Laut Van de Ven kann die neue Lösung testweise unter der Container-Verwaltung rkt eingesetzt werden, wofür es die App Container (appc)-Spezifikation nutzt, und soll eventuell auch unter Docker laufen. Eine Test-VM kann von ClearLinux.org heruntergeladen werden.

Die Ankündigung hat bereits eine weitere Neuentwicklung inspiriert. So stellte Paolo Bonzini jetzt ein neues, minimales freies BIOS für Qemu vor. »qboot« ist weniger als 8 KB groß und soll die Startzeit von Qemu auf Core i7-Hardware auf 40 ms drücken, wenn die Qemu-Konfiguration klein gehalten wird. Weitere Hinweise enthält die Github-Seite. qboot wurde von der BIOS-Implementation von kvmtool abgeleitet und enthält den Linux-Lader von Qemu. Anwender müssen zur Zeit noch mit Einschränkungen leben, die das Booten im Wesentlichen auf Systeme ohne Initial Ramdisk begrenzen. Doch es wird noch interessant zu sehen, wohin diese Entwicklungen noch führen.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung