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

Black Friday: Vorsicht vor schädlichen QR-Codes

Bösartige QR-Codes, die per E-Mail versendet werden, eignen sich sehr gut, um Spam-Filter zu umgehen.

3 Stunden ago

Black Friday: Zahl der ominösen Shopping-Websites steigt

Unsichere Websites und Phishing-Mails in Verbindung mit Black Friday können kauffreudigen Konsumenten zum Verhängnis werden.

3 Stunden ago

SmokeBuster bekämpft SmokeLoader

Malware SmokeLoader wird weiterhin von Bedrohungsakteuren genutzt, um Payloads über neue C2-Infrastrukturen zu verbreiten.

10 Stunden ago

Taugen Kryptowährungen als Unterstützer der Energiewende?

Bankhaus Metzler und Telekom-Tochter MMS testen, inwieweit Bitcoin-Miner das deutsche Stromnetz stabilisieren könnten.

1 Tag ago

Supercomputer-Ranking: El Capitan überholt Frontier und Aurora

Mit 1,7 Exaflops ist El Capitan nun der dritte Exascale-Supercomputer weltweit. Deutschland stellt erneut den…

1 Tag ago

Ionos führt neue AMD-Prozessoren ein

Der deutsche Hyperscaler erweitert sein Server-Portfolio um vier Angebote mit den neuen AMD EPYC 4004…

1 Tag ago