conference logo

Playlist "Linuxtag 2011"

Lightweight virtualization: LXC vs. OpenVZ

Christoph Mitasch (Thomas-Krenn.AG)

Betriebssystem- oder Containervirtualisierung hat bereits eine lange Geschichte unter Linux. Damit ist eine Virtualisierung von verschiedenen Linux Distributionen mit nur einem einzigen laufenden Linux Kernel möglich. Es ist somit die Virtualisierungsmethode mit dem geringsten Overhead und wird schon seit fast einem Jahrzehnt von der Webhosting-Industrie in Form von virtuellen Servern oder neuerdings sogar als Cloud Server erfolgreich eingesetzt.
Bereits Ende 2001 gab es eine erste Version vom Linux-Vserver Projekt. Zeitgleich gab es eine kommerzielle Entwicklung von SWSoft/Parallels unter dem Namen Virtuozzo. Im Jahr 2005 wurde der Source Code von Virtuozzo unter dem Namen OpenVZ freigegeben. Die Popularität von OpenVZ ist seit diesem Zeitpunkt rapide gestiegen, auch Dank der von SWSoft/Parallels aufgebauten Community und des Marketings.
Weder OpenVZ noch Linux-Vserver schafften es jedoch komplett in den Linux Kernel aufgenommen zu werden und sind deshalb nur über Kernel Patches verfügbar.
Genau an diesem Punkt setzt LXC (Linux Containers) an. Es ist seit 2.6.29 umfassend im Mainline Kernel enthalten. Der Großteil der aktuellen Distributionen unterstützt daher auch bereits LXC: Debian ab Squeeze, Ubuntu ab Karmic, RHEL 6 als Technology Preview, openSUSE ab 11.2 LXC verwendet cgroups (control groups) für die Isolierung und Limitierung von Prozessen. Technologisch steht es OpenVZ kaum nach, im wesentlichen sind die Userspace Tools noch ausbaufähig. LXC unterstützt auch die libvirt Schnittstelle. Dies eröffnet viele Möglichkeiten, zum Beispiel die einfache Integration in den Cluster Manager Pacemaker, welcher eine libvirt Unterstütztung mitbringt.
Dieser Vortrag vergleicht die Technologien OpenVZ und LXC miteinander. Sowohl in Puncto Stabilität, Funktionalität und Performance. Es wird gezeigt wie ein OpenVZ Container einfach nach LXC migriert werden kann. Außerdem wird eine Einschätzung abgegeben, wie die Zukunft von OpenVZ aussehen könnte. Auch OpenVZ konnte bereits einige Patches zum Linux Kernel beitragen, eine komplette Mainline Inclusion ist jedoch nicht absehbar. Es könnte sich ähnlich wie bei Xen und KVM entwickeln, dass zum Schluss die Aufnahme in den Linux Kernel über die weitere Zukunft entscheidet.