LXC

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
LXC
Maintainer Daniel Lezcano, Serge Hallyn, Stéphane Graber
Aktuelle Version 1.0.7
(5. Dezember 2014)
Betriebssystem Linux
Programmier­sprache C, Python 3, Shell, Lua
Kategorie Virtualisierungssoftware
Lizenz GNU LGPL v.2.1 (einige Teile unter GNU GPL v2 bzw. 2-clause-BSD)
www.linuxcontainers.org

LXC (LinuX Containers) ist ein Verfahren zur Virtualisierung auf Betriebssystemebene, das mehrere voneinander isoliert laufende Linux-Systeme auf einem einzigen Host ermöglicht.

Funktionsweise[Bearbeiten]

Im Gegensatz zu anderen Systemen realisiert LXC seine Virtualisierung nicht mittels virtueller Maschinen. Stattdessen erzeugt LXC eine virtuelle Umgebung, die zwar ihre eigenen Prozesse besitzt, doch für diese gemeinschaftlich den Kernel des Hostsystems nutzt.

LXC besteht aus einer Programmbibliothek, diversen APIs für Python, Lua und Go, Containervorlagen sowie Werkzeugen zur Kontrolle der Container. Jene verwendet neben Kernelnamensräumen weitere Funktionen des Linuxkernels, wie etwa SELinux und cgroups.

Während die Kernelnamensräume die Prozesse von anderen abschotten, Prozesse außerhalb der Namensräume sind nicht sichtbar, sorgen die cgroups für eine Ressourcenverwaltung. Hierüber kann die Speichergröße begrenzt, der Datendurchsatz im Netzwerk oder auf Festplatten begrenzt werden, die Zahl der verfügbaren CPUs bestimmt werden, etc.

LXC stellt eine erweiterte chroot-Umgebung zur Verfügung und lässt sich insofern mit BSD-jails und Linux-VServer vergleichen.

Sicherheit[Bearbeiten]

Ab Kernelversion 3.12 können Kernel-Namespaces[1] für ipc, uts, mount, pid, network und user verwendet werden. Damit besteht ab LXC-Version 1.0 die Möglichkeit, einen Container unter einer anderen UID als der von root zu starten. Damit sind viele Sicherheitsprobleme behoben, insbesondere kann vom Container aus das Hostsystem nicht mehr verändert werden, wie zum Beispiel über das Schreiben in die Datei /proc/sysrq-trigger.

Siehe auch[Bearbeiten]

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. https://lwn.net/Articles/531114/