AA_PO-23145_Bayberry-123RF.jpg

© Bayberry, 123RF

LXC-Container im praktischen Desktop-Einsatz

Frisch verpackt

LXC-Container eignen sich nicht nur für Entwickler, sondern bieten auch ambitionierten Heimanwendern interessante Möglichkeiten.

Vielleicht erinnern Sie sich noch daran, wie 2007 das Erscheinen des freien Hypervisors Virtualbox das Testen von Linux-Distributionen plötzlich erheblich vereinfachte. Vorher gab es zwar bereits den Vmware-Player, der aber zum einen einer proprietären Lizenz unterlag und zum anderen das ständige Patchen neu installierter Kernel erforderte. Mit Virtualbox und der Hilfe von DKMS [1] gehören solche Probleme der Vergangenheit an. Die einzige Limitierung in der Anzahl gestarteter Maschinen stellen der Hauptspeicher und Prozessor des Wirt-Rechners dar.

Hier könnten Container-Lösungen künftig auch beim Endanwender Boden gutmachen, denn ihr Überbau benötigt wesentlich weniger Ressourcen als Hypervisoren. So wäre es denkbar, dass sich hunderte Container den Kernel des Hosts teilen. Container virtualisieren auf Betriebssystem-Ebene, während das bei Hypervisoren auf der Hardware passiert. Deshalb testen wir in diesem Artikel, wie viel Aufwand es derzeit verursacht, eine Distribution in einem Container zum Laufen zu bringen, wobei das Ziel darin besteht, deren grafische Ausgabe auf den Host umzulenken.

Runderneuert

Container sind nicht so neu, wie es anhand des Booms der letzten Zeit erscheint: Linux Container (LXC) gibt es bereits seit 2006 [2]. Es geriet aber nie in den Fokus einer größeren Anwenderschar, bis im Frühjahr 2013 Docker [3] die Szene betrat. Außerhalb von Linux existierten seit Längerem ähnliche Technologien, wie etwa die FreeBSD Jails [4] oder das Zonensystem von Solaris [5], das ursprünglich auf den Jails aufbaute.

Als Urvater all dieser Virtualisierungstechniken gilt vom Prinzip her die bereits aus Unix bekannte Chroot, auch wenn sich die Anwendungsszenarien nicht immer decken. In einer Changed-Root-Umgebung kann es durchaus erwünscht sein, dass ein Prozess aus der Umgebung "ausbricht", während das bei Containern nicht passieren darf.

Der derzeitige Hype um Container im Allgemeinen und Docker im Besonderen resultiert aus der Tatsache, dass im Unternehmensumfeld zunehmend spezialisierte Anwendungen die Oberhand über die eher statischen Software-Stacks der Vergangenheit gewinnen. Hier eignen sich die reproduzierbaren, leichtgewichtigen und transportablen Container besonders gut, um Anwendungen aus Einzelstücken vom lokalen Rechner über Server bis in die Cloud zu entwickeln.

Im Fokus dieses Artikels stehen allerdings die Qualitäten der Containerlösung LXC für den Endanwender. Dafür wollen wir in einem installierten Ubuntu 14.10 einen Container aufsetzen und ein CentOS-Image hineinladen. Ubuntu kommt deswegen als Wirt zum Einsatz, weil es die benutzerfreundlichsten Voreinstellungen in Kernel und System bietet. So ist beispielsweise die in LXC integrierte Netzwerkbrücke lxcbr0 bereits einsatzbereit, was unter Debian noch einiges an Konfiguration voraussetzt.

Vorbereitungen

Eine essenzielle Zutat von LXC stellt die Kernelfunktion Control Groups dar, kurz Cgroups. Sie kontrolliert und steuert Prozesse und Gruppen von Prozessen auf mannigfaltige Weise. Der aktuelle Ubuntu-Kernel stellt diese Funktion bereits aktiviert bereit, sodass ein Eintrag in der Datei /etc/fstab nicht mehr nötig ist.

Die einzige Limitierung von LXC: Nur mit dem Kernel des Wirts laufen kompatible Distributionen in einem Container. Auf einem Linux-Wirt erlaubt LXC entsprechend auch nur Linux-Gäste. Nach der Installation des Pakets lxc überprüfen Sie dessen Funktionsbereitschaft mit dem Aufruf lxc-checkconfig (Abbildung 1). Hinter jeder Zeile sollte enabled stehen.

Bevor Sie einen Container aufspannen, müssen Sie entscheiden, welches Betriebssystem Sie darin erstellen wollen. LXC bringt einige Vorlagen mit, die den Einstieg erleichtern. Diese finden Sie mit folgendem Befehl heraus (Abbildung 2):

$ sudo ls /usr/share/lxc/templates

Einige der aufgeführten Systeme nutzen bereits Systemd, was innerhalb eines LXC-Containers derzeit noch Probleme bereitet. Sollten Sie eine dieser Distributionen testen wollen, wie etwa OpenSuse, Arch Linux oder Fedora, müssen Sie im Container zu SysVinit wechseln, falls Probleme auftauchen. Das Debian-Wiki beschreibt das Prozedere [6]. Spielt die Distribution keine Rolle, bietet sich Debian als Gast an, denn das Template installiert die jeweils aktuelle Veröffentlichung, derzeit also Debian 7 "Wheezy", das noch SysVinit benutzt.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 5 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 11/2017: Server für Daheim

Digitale Ausgabe: Preis € 8,50
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 3 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...
Backup mit KUP unter Suse 42.3
Horst Schwarz, 24.09.2017 13:16, 3 Antworten
Ich möchte auch wieder unter Suse 42.3 mit Kup meine Backup durchführen. Eine Installationsmöglic...
kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 5 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...