Debian LXC

Aus Wiki
Version vom 21. Februar 2011, 23:27 Uhr von Erich (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „==Einleitung== LXC (Linux Container) erstellt mehrere isolierte, sichere virtuelle Umgebungen (Virtual Environments, kurz VEs) auf einem einzigen physischem Serve…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Einleitung

LXC (Linux Container) erstellt mehrere isolierte, sichere virtuelle Umgebungen (Virtual Environments, kurz VEs) auf einem einzigen physischem Server, sorgt so für eine bessere Serverausnutzung und stellt sicher, dass Programme (Applikationen) nicht miteinander in Konflikt geraten. Jede VE arbeitet und verhält sich genau wie ein eigenständiger Server; VEs können unabhängig voneinander neu gestartet werden und haben Root-Zugriff, Benutzer, IP-Adressen, Speicher, Prozesse, Dateien, Programme, Systembibliotheken und Konfigurationsdateien.

Im Vergleich zu Virtuellen Maschinen von VMware bzw Virtualbox oder zu Para-Virtualisierungstechnologien wie Xen bietet OpenVZ weniger Flexibilität, was die Auswahl von Gast-Betriebssystemen betrifft: sowohl Gast- als auch Host-Betriebssystem muss Linux sein (obwohl verschiedene Linux-Distributionen in verschiedenen VEs eingesetzt werden können).

Im Gegensatz zu OpenVZ ist LXC Bestandteil des Mainline Kernel und erfordert somit keinerlei spezielle Patches, wie dies bei OpenVZ erforderlich ist. D.h. es wird im Rahmen des "normalen" Linux-Kernels weiterentwickelt und sollte deshalb in Zukunft gegenüber OpenVZ bevorzugt werden. Der Nachfolger des aktuellen Squeeze stellt vermutlich den Support für OpenVZ ein.


Installation LXC

Nachdem LXC Bestandteil des Kernels ist, sind lediglich Userspace-Tools für die Verwaltung der LXC-Container erforderlich.

apt-get update
apt-get install lxc bridge-utils


Konfiguration des Host

Für die Nezwerkverwaltung benötiogt LXC eine Netzwerkbrücke (Bridge) auf dem Host.


LXC Templates

Im Verzeichnis /usr/lib/lxc/templates/ liegen Templates für die Installation von Debian (Lenny), Ubuntu und Fedory Distributionen als Gast Container.

Durch eine kleien Änderung des Debian-Templates kann dieses anstatt einer Lenny auch eine Squeeze Distribution installieren:

cp /usr/lib/lxc/templates/lxc-debian /usr/lib/lxc/templates/lxc-squeeze
chmod +x /usr/lib/lxc/templates/lxc-squeeze
vi /usr/lib/lxc/templates/lxc-squeeze
  • In Zeile 93: dhcp-client durch isc-dhcp-client ersetzen
  • In Zeile 113: lenny durch squeeze ersetzen
  • In Zeile 139: cache="/var/cache/lxc/debian" durch cache="/var/cache/lxc/squeeze" ersetzen
  • In Zeile 223: cache="/var/cache/lxc/debian" durch cache="/var/cache/lxc/squeeze" ersetzen


LXC Container anlegen

Die Container (Root Filesystem des Gastbetriebssystems) werden in Unterverzeichnissen unter /var/lib/lxc abgelegt. Beispielhaft wird hier ein Debian Gast-Container (Squeeze) mit Namen debian angelegt.

cd /var/lib/lxc
mkdir debian
/usr/lib/lxc/templates/lxc-squeeze -p /var/lib/lxc/debian/