Einführung: Containervirtualisierung mit LXC

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.

Page: 1 2

ZDNet.de Redaktion

Recent Posts

Studie: 91 Prozent der Ransomware-Opfer zahlen Lösegeld

Die durchschnittliche Lösegeldzahlung liegt bei 2,5 Millionen Dollar. Acht Prozent der Befragten zählten 2023 mehr…

1 Stunde ago

DMA: EU stuft auch Apples iPadOS als Gatekeeper ein

Eine neue Analyse der EU-Kommission sieht vor allem eine hohe Verbreitung von iPadOS bei Business-Nutzern.…

2 Stunden ago

Chips bescheren Samsung deutlichen Gewinnzuwachs

Das operative Ergebnis wächst um fast 6 Billionen Won auf 6,64 Billionen Won. Die Gewinne…

10 Stunden ago

Chrome: Google verschiebt das Aus für Drittanbietercookies

Ab Werk blockiert Chrome Cookies von Dritten nun frühestens ab Anfang 2025. Unter anderem gibt…

1 Tag ago

BAUMLINK: Wir sind Partner und Aussteller bei der Frankfurt Tech Show 2024

Die Vorfreude steigt, denn BAUMLINK wird als Partner und Aussteller bei der Tech Show 2024…

1 Tag ago

Business GPT: Generative KI für den Unternehmenseinsatz

Nutzung einer unternehmenseigenen GPT-Umgebung für sicheren und datenschutzkonformen Zugriff.

1 Tag ago