So lassen sich separate Containerdienste mit LXC verwirklichen

LXC erstellt separate Container, die komplette Dienste oder ein Paket von Diensten ausführen. Der Artikel zeigt, wie man Container erzeugt und vermittelt die Grundlagen, um sich näher mit dem Thema vertraut zu machen.

Der Artikel „Einführung: Containervirtualisierung mit LXC“ behandelt die Anforderungen, die erfüllt sein müssen, damit LXC funktioniert. Zudem erklärt er man einzelne Prozesse mithilfe von Anwendungscontainern abgrenzt.

Nun geht es einen Schritt weiter: von der Abgrenzung einer einzelnen Anwendung zur Erstellung eines vollständig separaten Containers, der einen kompletten Dienst oder ein Paket von Diensten ausführt. Dabei wird von der Annahme ausgegangen, dass LXC bereits, wie im vorangegangenen Artikel besprochen, konfiguriert ist.

Am einfachsten lässt sich ein LXC-basierter Container einrichten, indem man ein vorhandenes Basis-Betriebssystem verwendet, wie zum Beispiel die Templates, die das OpenVZ-Projekt bereitstellt. Als Beispiel wird hier das CentOS-5-Template verwendet: centos-5-x86.tar.gz. Nach dem Herunterladen kann der LXC-Systemcontainer erstellt werden. LXC bietet zwei Tools, die beim Realisieren von Fedora- oder Debian-Containern helfen: lxc-fedora und lxc-debian. Beide laden eine Minimalinstallation herunter und richten interaktiv den Container ein. Den jeweiligen Skripts übergibt man die Option „install“, um sie für die Installation eines neuen Containers zu verwenden.

Die Befehle zum Verwenden eines OpenVZ-Containers:


mkdir -p /srv/lxc/centos5
cd /srv/lxc/centos5
tar xvzf ~/centos-5-x86.tar.gz

Damit wird das Basis-Template in das Verzeichnis /srv/lxc/centos5 extrahiert, in dem sich der Container befindet. Der nächste Schritt erstellt eine LXC-Konfigurationsdatei, zum Beispiel /etc/lxc/lxc-centos.conf:


lxc.utsname = centos
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.name = eth0
lxc.network.hwaddr = 4a:49:43:49:79:bd
use 0.0.0.0 below for DHCP
lxc.network.ipv4 = 192.168.250.150
lxc.mount = /etc/lxc/lxc-centos.fstab
lxc.rootfs = /srv/lxc/centos5

Anschließend wird die fstab-Datei für den Container wie oben beschrieben durch die lxc.mount-Option /etc/lxc/lxc-centos.fstab erstellt:


none /srv/lxc/centos5/dev/pts devpts defaults 0 0
none /srv/lxc/centos5/proc proc defaults 0 0
none /srv/lxc/centos5/sys sysfs defaults 0 0

Zum Schluss muss der Container für die Verwendung initialisiert werden:


lxc-create -f /etc/lxc/lxc-centos.conf -n centos

Muss ein Container zerstört werden, kann lässt sich das mit lxc-destroy -n centos erledigen. Dadurch werden weder das Dateisystem für den Container noch die Konfigurationsdateien zerstört, sondern nur das Systemcontainer-Objekt. Wurde bei der Konfiguration ein Fehler gemacht, stellt die Verwendung von lxc-destroy und lxc-create eine schnelle Lösung dar.

Themenseiten: Linux, Open Source, Plattform, Software

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

ZDNet für mobile Geräte
ZDNet-App für Android herunterladen Lesen Sie ZDNet-Artikel in Google Currents ZDNet-App für iOS

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu So lassen sich separate Containerdienste mit LXC verwirklichen

Kommentar hinzufügen

Schreibe einen Kommentar

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