Virtualisierung auf dem Weg in den Linux-Kernel
Linus Torvalds hat in den aktuellen Entwickler-Kernel 2.6.19-rc1 drei Patches aufgenommen, die von IBM, dem OpenVZ -Projekt sowie von dem Linux-Networx -Entwickler Eric W. Biederman stammen. Alle drei Änderungen waren bereits seit längerem in Andrew Mortons Kernel-Zweig enthalten und wurden dort ausgiebig getestet.
Der erste Patch ist für die Virtualisierung der Interprozesskommunikation (IPC) zuständig, mit der Prozesse beispielsweise Nachrichten austauschen. Durch die Virtualisierung der IPC läuft dieser Vorgang isoliert voneinander ab, so dass ein Container die IPC-Objekte eines anderen nicht sehen kann.
Zusätzlich beherrscht der nächste Kernel nun die UTS-Namespace-Virtualisierung. Über "utsname()" können Informationen über den laufenden Kernel abgefragt werden, wie sie auch der Befehl "uname -a" ausgibt. Dadurch, dass dieser Vorgang virtualisiert wird, kann auch der korrekte Hostname des jeweiligen Containers mit ausgegeben werden, obwohl dieser den Kernel des Hostsystems mitverwendet.
Als dritter Patch sind grundlegende Änderungen in den Kernel gelangt, um eine PID-Namespace-Funktion umzusetzen. Dadurch kann jede virtuelle Umgebung ihre eigenen Prozess-IDs haben und die der anderen Container nicht sehen.
Alle drei Änderungen sind allerdings nur grundlegende Arbeiten, die den Weg für eine Virtualisierung auf Betriebssystemebene im Kernel ebnen. Um eine komplette Lösung dieser Art in den Kernel zu bringen, sind noch weitere Funktionen notwendig, die erwartungsgemäß noch Zeit brauchen. Bei der Virtualisierung auf Betriebssystemebene läuft zwar jede virtuelle Umgebung isoliert, alle nutzen aber gemeinsam den Kernel des Hostsystems, was vor allem zu einem Geschwindigkeitsvorteil führen soll. Damit wird jedoch auch nur Linux als Gastsystem unterstützt.
- Anzeige Hier geht es zu Linux: Das umfassende Handbuch bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.