Artikel

Muss es wirklich virtuelle Hardware sein?: Linux-VServer

Virtualisierung bedeutet nicht zwangsläufig die Bereitstellung virtueller Hardware. Linux-VServer bietet ein Linux-in-Linux Konzept, um die Illusion mehrerer voneinander unabhängiger Linux-Umgebungen auf einer einzigen Maschine zu erzeugen.

Um das abstrakte Thema Virtualisierung zu verstehen, schafft sich der menschliche Verstand Bilder. Eines dieser Bilder ist, dass das zu virtualisierende Betriebssystem auf einer virtuellen Hardware betrieben wird. Einige der existierenden Virtualisierungslösungen verfolgen genau diesen Ansatz: Es wird jede notwendige Komponente eines PCs virtuell nachgebildet, um darauf ein Betriebssystem laufen zu lassen und die Illusion einer eingenständigen und unabhängigen Umgebung zu schaffen.

Linux-VServer verfolgt einen grundlegend anderen Ansatz, der in der Fachliteratur gerne als „Container-based Virtualization“ bezeichnet wird. Die Idee ist nicht neu: Linux-VServer ist bereits seit 2001 frei verfügbar [1] und wer beispielsweise FreeBSD Jails oder Solaris Zones kennt, wird mit dem Konzept vertraut sein.

Innerhalb des Betriebssystems wird eine Umgebung geschaffen, in der eine Menge von Prozessen isoliert vom Rest des Systems laufen kann. Ein solcher „Container“ wird in Linux-VServer schlicht „Guest“ genannt. Einem Guest wird eine numerische Kennung (Context ID oder kurz XID) zugeordnet: Anhand dieser wird im Kernel über Virtualisierungs- und Isolationsmaßnahmen entschieden, die insbesondere die Zugriffsrechte auf das Filesystem, den Netzwerk-Stack, die Rechte innerhalb des Kernels, das CPU Scheduling und die Zuteilung von RAM zwischen konkurrierenden Guests regeln.

Linux-VServer bietet hier eine Fülle von harten und weichen Limitationsmechanismen, die für jeden Guest individuell eingestellt werden können. Es sei an dieser Stelle nochmal explizit angemerkt: Der Guest hat keinen eigenen Kernel, so wie es bei Usermode-Linux der Fall ist. Ein einziger Kernel dient allen Guests als Host. Er allein verwaltet das gesamte System und bietet dadurch im Vergleich zu anderen Virtualisierungstechniken einen deutlichen Effizienzvorteil, da grundlegende Funktionen nur ein einziges Mal verwaltet werden müssen. Beispielsweise passiert ein IP-Paket nur einen Kernel und Filesystem-Caches werden nur einmal verwaltet, anstatt pro Guest entsprechende Ressourcen in Anspruch zu nehmen.

Der Gastgeber

Linux-VServer besteht aus einem Kernel-Patch und einem Satz von Userland-Tools, um die Guests bauen, starten, stoppen und anderweitig verwalten zu können. Zusätzlich existieren Web-Frontends zum Management der Guests. Die Userland-Tools sind in allen gängigen Distributionen bereits enthalten. Ein Kernel kann mit dem Linux-VServer Patch selbst gebaut werden. Alternativ bedient man sich eines vorbereiteten Kernel-Paketes aus der Community. Viele sind auf der Projekt-Homepage [2] verlinkt. Debian Sid enthält bereits ein vorbereitetes Paket.

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Schreib den ersten Kommentar!