Einführung: Containervirtualisierung mit LXC

Linux Containers ist zwar nicht so ausgereift wie OpenVZ, aber dennoch eine leistungsfähige Lösung, wenn es um das Erstellen virtueller Container geht. ZDNet zeigt die Vorteile von LXC und erklärt, wie die Tools funktionieren.

OpenVZ eignet sich für die Containervirtualisierung auf Linux sehr gut, da man damit innerhalb eines Betriebssystems abgeschottete „Server“ ausführen kann. So lassen sich ähnlich wie bei virtuellen Rechnern mehrere Systeme innerhalb eines Hostsystems voneinander isolieren. Mit OpenVZ kann man also die Vorteile der Virtualisierung ohne deren Aufwand nutzen.

Der Nachteil von OpenVZ ist jedoch, dass es nicht im Mainline-Kernel enthalten ist. Das bedeutet, dass man einen Kernel aus dem OpenVZ-Projekt verwenden muss. Dies muss nicht unbedingt ein Problem darstellen, es sei denn, man führt eine nicht unterstützte Linux-Distribution aus. Zudem darf man sich nicht daran stören, dass Upstream-Sicherheitsfixes erst mit einer gewissen Verzögerung ankommen.

Genau wie OpenVZ bieten auch Linux Containers (LXC) die Möglichkeit, Container mit darin laufenden Prozessen auszuführen, um diese vom Host-Betriebssystem zu isolieren. Das Projekt ist Teil des Upstream-Kernels, was bedeutet, dass jede Linux-Distribution, die Kernel 2.6.29 oder später verwendet, über die erforderlichen Elemente auf Kernelebene verfügt. Sie müssen also nicht mehr von Drittanbietern bezogen werden. Fedora 12 zum Beispiel verfügt über den geeigneten Kernel und die Userspace-Tools für die Nutzung von LXC.

Um mit der Nutzung von LXC beginnen zu können, muss man die LXC-Userspace-Tools installieren und einen geeigneten Kernel mit aktivierter LXC-Unterstützung verwenden. Bei Fedora 12 ist der Kernel bereits enthalten und die Userspace-Tools lassen sich wie folgt installieren:


yum install lxc

Als Nächstes ist sicherzustellen, dass der Kernel LXC korrekt unterstützt:


lxc-checkconfig

Nun wird eine Liste der Funktionen angezeigt; wenn alle Funktionen als „aktiviert“ aufgeführt sind, kann LXC mit dem Kernel verwendet werden. Als Erstes muss man das Dateisystem der LXC-Control Group erstellen und mounten:


mkdir /cgroup
mount none -t cgroup /cgroup
echo "none /cgroup cgroup defaults 0 0" >> /etc/fstab

Anschließend ist das Bridged Networking zu konfigurieren. Dies kann man als Root mit dem Befehl brctl, einem Teil des Pakets bridge-utils (eventuell muss dieses Paket noch installiert werden), erledigen:


brctl addbr br0
brctl setfd br0 0
ifconfig br0 192.168.250.52 promisc up
brctl addif br0 eth0
ifconfig eth0 0.0.0.0 up
route add -net default gw 192.168.250.1 br0

Damit wird die Bridge-Schnittstelle br0 erstellt und ihr die bestehende Host-IP-Adresse zugewiesen (in diesem Fall 192.168.250.52). Dieser Schritt ist lokal auszuführen, da bei Zuweisung von br0 das Netzwerk ausfällt, bis die Neukonfiguration abgeschlossen ist. Die nächsten Befehle setzen dann die IP-Adresse von eth0 wieder auf 0.0.0.0; da diese aber an die Bridge-Schnittstelle gebunden ist, wird sie ohnehin auf die vorherige IP-Adresse reagieren. Zum Schluss fügt man eine Route für br0 hinzu, über die die Container dann auf das Netzwerk zugreifen.

Themenseiten: Linux, Open Source, Plattform, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Einführung: Containervirtualisierung mit LXC

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *