Xen

aus Wikipedia, der freien Enzyklopädie
Xen

Xen-Logo
Xen screenshot.png
Basisdaten

Entwickler Linux Foundation
Aktuelle Version 4.15
(8. April 2021[1])
Betriebssystem plattformübergreifend
Kategorie Virtualisierung
Lizenz GPL (Freie Software)
deutschsprachig nein
xenproject.org

Xen (Aussprache: [ˈzɛn]), auch Xen Project (in Abgrenzung zu darauf basierenden kommerziellen Produkten), ist ein Hypervisor, also eine Software, die den Betrieb mehrerer virtueller Maschinen auf einem physischen Computer erlaubt. Sie entstand an der britischen Universität Cambridge und wird heute von dem US-Unternehmen Citrix Systems weiterentwickelt. Der Name leitet sich von der Vorsilbe xeno (zu altgriechisch ξένος xénos „Fremder, Gast“) ab.

Technische Details

Xen ist ein Typ-1-Hypervisor (auch Virtual Machine Monitor, VMM, genannt), der direkt auf einer Hardware läuft. Xen kann mehrere Betriebssysteme in virtuellen Maschinen starten, den sogenannten Domänen. Für diese Betriebssysteme sind weder der Hypervisor noch andere Domänen „sichtbar“. Vom Prinzip her ist das Vorgehen vergleichbar mit virtuellem Speicher und Prozessen: Durch den virtuellen Speicher kann jeder Prozess (hier: das virtuelle System) den Speicher so nutzen, als wäre er der einzige Prozess, der vom Betriebssystem ausgeführt wird. Genauer gesagt: Der Hypervisor weist dem virtuellen System Teilbereiche des gesamten Hauptspeichers zu. Diese erscheinen dem virtuellen System als zusammenhängender Adressraum, so wie der physische Speicher einem nicht virtuellen System erscheint. Er kann vom virtuellen System entsprechend und exklusiv genutzt werden.

Eine besondere Bedeutung hat die erste Domäne, die von Xen gestartet wird: Diese Domäne ist privilegiert und dient der Interaktion mit dem eigentlichen Hypervisor. Die privilegierte Domäne, Dom0 genannt, kann andere Domänen starten, stoppen und verwalten. Dazu muss diese Verwaltungsfunktionalität in das Betriebssystem integriert werden, das in der Dom0 läuft.

Um völlig transparent für die unprivilegierten Domänen, häufig DomU genannt, zu sein, benötigt Xen einen Hauptprozessor mit der Befehlssatzerweiterung Secure Virtual Machine, wie beispielsweise Intel VT oder AMD-V. Mit dieser Hardware müssen die Betriebssysteme, die in den Domänen laufen, nicht angepasst werden – sie „bemerken“ nicht, dass sie die Hardware in Wirklichkeit mit anderen Systemen teilen. Diese Betriebsart wird als volle Virtualisierung oder Hardware Virtual Machine (HVM) bezeichnet. Wird auf anderer Hardware virtualisiert, haben die jeweiligen Kernels vollen Hardwarezugriff und könnten aufgrund fehlerhaften oder böswilligen Codes auf jeweils fremde Ressourcen (z. B. Hauptspeicher) zugreifen, was aus Gründen der Stabilität und Sicherheit des Ganzen nicht erwünscht ist.

Die Effizienz virtualisierter Systeme kann gesteigert werden, indem Unterstützung für den Betrieb als DomU in das Betriebssystem integriert wird. Dieser Ansatz wird als Paravirtualisierung bezeichnet und erfordert eine Modifikation des Systems, das in einer DomU laufen soll.

Unterstützte Betriebssysteme

Der Linux-Kernel stellt ab Version 2.6.21 die Rahmenbedingungen für den Betrieb unterhalb eines beliebigen Hypervisors in Form von sogenannten paravirt ops bereit. Ab Version 2.6.23 ist eine eingeschränkte Unterstützung für den Betrieb unter Xen integriert.[2] Dieser Basis-Support unterstützte jedoch zahlreiche Möglichkeiten von Xen nicht, beispielsweise das (dynamische) Durchreichen von PCI-Geräten oder dynamische Speichervergrößerungen. Ab Version 3.0 des Kernels unterstützt dieser Xen vollständig.

In den Linux-Distributionen openSUSE ist Xen ab Version 9.3 und in Fedora ab Version 4 integriert. Ebenfalls enthalten ist Xen im Novell/SUSE Linux Enterprise Server (SLES) ab Version 10 und im Red Hat Enterprise Linux 5 (RHEL5). Debian enthält ab Version 4 (Etch) einen Xen-Kernel und Ubuntu ab Version 12.04 (Precise Pangolin). Gentoo Linux und Arch Linux bieten beide Pakete für vollständige Xen-Unterstützung.

Bei den Versionen bis Xen 3.x ist für den Betrieb als Dom0 oder als vollwertige native DomU nur der „offizielle“ Linux-Kernel-Quellcode von Xen verwendbar, der lediglich in der Version 2.6.18.8 vorliegt. Durch die aktive Entwicklung am Linux-Kernel lässt sich der Patch für diese Version nicht ohne erheblichen Aufwand auf einen aktuellen Kernel anwenden. So wurde die aufwändige Praxis, die Xen-Patches an aktuellere Versionen anzupassen, beispielsweise von Debian eingestellt.[3]

Seit Xen 4.0 unterstützt Xen per default auch die Standard-Kernel-Option PVOps für seine dom0-Kernel in Kernel-Version 2.6.31.x. Weiter ist eine Long-Term-Support-Version (LTS) unter pvops und dem Linux-Kernel 2.6.32.x für dom0-Kernel verfügbar. Trotzdem bleibt die Kompatibilität zum bisherigen 2.6.18-Kernel auch weiterhin erhalten und es sind weitere Xen-Patches für diese Version sowie auch für einige Kernel mit Forward-Patches (wie dem Kernel von RHEL 5.x) geplant.

NetBSD 2.0 unterstützte Xen 1.2 als Host und Gast sowie Xen 2.0 nur als Gast, die Version NetBSD 3.1 unterstützt Xen 2.0 komplett, also als Host und Gast, sowie Xen 3.0 als Gast. Seit NetBSD 4.0 wird Xen 3.0 vollständig unterstützt.[4]

Sun hat Xen Anfang Oktober 2007 mit Nevada build 75 unter dem Namen xVM vollständig in OpenSolaris integriert, davor existierten Testversionen.[5]

Auf der Novell BrainShare Conference stellte Novell 2005 eine Portierung von Netware auf Xen vor.

An einer Portierung von ReactOS auf Xen wird seit 2005 gearbeitet.[6]

Unterstützer und Zusammenarbeit

Zu den Unterstützern von Xen zählen weltweit agierende IT-Konzerne – selbst direkt stark untereinander konkurrierende Unternehmen vereinen sich unter diesem Dach, unter anderem: Microsoft, Oracle, Intel, AMD, IBM, HP, Red Hat und SUSE.

Die Open-Source-Software Xen entstand ursprünglich an der Universität Cambridge. Die Entwickler haben mit XenSource ein Unternehmen gegründet, das Xen zum Industriestandard machen soll. Die Firma XenSource wurde im August 2007 für 500 Millionen US-Dollar durch die Firma Citrix Systems übernommen.

Anfang 2013 wurde Xapi dann zusammen mit Xen.org wieder zurück an das Xen-Project übertragen, das unter dem Dach der Linux-Foundation arbeitet. Xapi ist heute demnach ein Unterprojekt des Xen-Projects.

Kommerzielle Produkte

Auf Xen basieren unter anderem die Citrix Produkte XenServer und XenClient.

Versionen

Version Veröffentlichung Bemerkungen
1.0 9. September 2003[7]
2.0 5. November 2004[8]
3.0 5. Dezember 2005[9][10][11]
  • Unterstützung von Intel VT für HVM-Gäste.
  • Unterstützung der IA-64-Architektur.

Bis zur Version 3.0.4 kamen außerdem folgenden Features hinzu:

3.1 18. Mai 2007[15]
3.2 17. Januar 2008[16] PCI-Passthrough und ACPI-S3-Standby-Modus für das Host-System.
3.3 24. August 2008[17] Verbesserungen am PCI-Passthrough und am Powermanagement.
3.4 18. Mai 2009[18][19] Enthält eine erste Version der „Xen Client Initiative“, kurz XCI.
4.0 7. April 2010[20] Schafft die Voraussetzungen, um einen mittels PVOps implementierten dom0-Kernel nutzen zu können. Ein Kernel in Version 2.6.31 wurde speziell für diesen Zweck angepasst, da die auf PVOps aufbauenden Funktionen des offiziellen Kernels noch nicht den Betrieb als dom0 unterstützen (Stand Juli 2010).[21]
4.1 25. März 2011[22] Unter anderem: Unterstützung für mehr als 255 Prozessoren, Verbesserung der Stabilität.
4.2 17. September 2012[23] Unter anderem neues Standardmanagementwerkzeug (XL statt xend), Unterstützung größerer Systeme (bis zu 4095 Prozessoren), Fortentwicklungen des Sicherheitssubsystems und Bemühungen um bessere Dokumentation.
4.3 9. Juli 2013[24] Experimenteller Support für ARM-Virtualisierung, NUMA-aware scheduling, Support für openvswitch als Bridging-Mechanismus, verbesserte Sicherheit, PCI-Passthrough.[25][26]
4.4 10. März 2014[27] Produktreifer ARM-Support, stabiler „libvirt“ support für „libxl“, skalierbares Event-Channel-Interface, Nested Virtualization auf Intel-Hardware.[28][29]
4.5 14. Januar 2015 Verschlankung des Codes, neue PVH-Extension, xf oder libxf anstatt xen[30]
4.6 13. Oktober 2015 [31]
4.7 20. Juni 2016 [32]
4.8 5. Dezember 2016 [32]
4.9 28. Juni 2017 [33]
4.10 12. Dezember 2017 [34]
4.11 10. Juli 2018

Siehe auch

Literatur

  • Andrej Radonic, Frank Meyer, Thomas Halinka: Xen 3.2. Franzis' Verlag, Poing 2008, ISBN 978-3-7723-7247-6.
  • Timo Benk, Henning Sprang, Jaroslaw Zdrzalek, Ralph Dehner: Xen – Virtualisierung unter Linux. Open Source Press, München 2007, ISBN 978-3-937514-29-1.
  • Hans-Joachim Picht: Xen Kochbuch. O'Reilly Verlag, Köln 2009, ISBN 978-3-89721-729-4.
  • Marcus Fischer: Xen – Das umfassende Handbuch. Galileo Press, Bonn 2009, ISBN 978-3-8362-1118-5.
  • David Chisnall: The Definitive Guide to the Xen Hypervisor. Prentice Hall Press, Upper Saddle River, NJ, USA 2007, ISBN 978-0-13-234971-0.

Weblinks

Grafische Verwaltungen

Verwaltungen für Konsole

  • XEN-SHELL2 – leichtgewichtiges, konsolenbasiertes Multi-User Xen VM Management

Einzelnachweise

  1. https://wiki.xenproject.org/wiki/Xen_Project_4.15_Release_Notes
  2. New Linux Does Inclusive Virtualization, 27. April 2007
  3. Peter Siering: Xen/c't-Debian-Server (Kasten „Xen und der Linux-Kernel“), c't 19/2008, S. 222 oder online (Memento vom 2. September 2008 im Internet Archive)
  4. http://www.netbsd.org/ports/xen/howto.html
  5. OpenSolaris Community: Xen (Memento vom 29. September 2009 im Internet Archive)
  6. Artikel Xen port (Memento vom 22. November 2008 im Internet Archive) im Wiki von ReactOS
  7. Xen / List xen-announce Archives. Abgerufen am 4. Dezember 2020.
  8. Xen 2.0 released [LWN.net]. Abgerufen am 4. Dezember 2020.
  9. heise online: Virtualisierungssoftware Xen 3.0 freigegeben. Abgerufen am 4. Dezember 2020.
  10. Virtualisierung neu aufgelegt: Xen 3.0. In: LinuxCommunity. 5. Dezember 2005, abgerufen am 4. Dezember 2020 (deutsch).
  11. Press Releases. XenSource, Inc., 5. Dezember 2005, archiviert vom Original am 10. Dezember 2005; abgerufen am 10. Januar 2015 (englisch).
  12. xen-users (Memento vom 1. Oktober 2011 im Internet Archive)
  13. http://lists.xensource.com/archives/html/xen-devel/2006-10/msg00733.html
  14. http://lists.xensource.com/archives/html/xen-devel/2006-12/msg00889.html
  15. [Xen-devel] Xen 3.1 released! - Xen Source. Abgerufen am 4. Dezember 2020.
  16. Xen 3.2 freigegeben. In: Linux-Magazin. 17. Januar 2008, abgerufen am 4. Dezember 2020 (deutsch).
  17. heise online: Hypervisor Xen 3.3.0 steht zum Download bereit. Abgerufen am 4. Dezember 2020.
  18. Community – Citrix. Abgerufen am 4. Dezember 2020 (englisch).
  19. Xen 3.4 veröffentlicht. Abgerufen am 4. Dezember 2020.
  20. heise online: Virtualisierung: Xen sucht mit Version 4 Anschluss. Abgerufen am 4. Dezember 2020.
  21. http://www.xen.org/files/Xen_4_0_Datasheet.pdf
  22. http://blog.xen.org/index.php/2011/03/25/xen-4-1-releases/
  23. http://blog.xen.org/index.php/2012/09/17/xen-4-2-0-released/
  24. http://blog.xen.org/index.php/2013/07/09/xen-4-3-0-released/
  25. http://wiki.xenproject.org/wiki/Xen_4.3_Feature_List
  26. https://www.heise.de/newsticker/meldung/Virtualisierer-Xen-4-3-jetzt-auch-fuer-ARM-1914140.html
  27. http://blog.xen.org/index.php/2014/03/10/xen-4-4-released/
  28. Xen Project 4.4 Feature List – Xen. Abgerufen am 4. Dezember 2020.
  29. heise online: Xen 4.4: virtuelle Maschinen für ARM. Abgerufen am 4. Dezember 2020.
  30. Russell Pavlicek: Xen Project Hypervisor Delivers Enhanced Performance and Security for Cloud and Enterprise Computing. In: Xen Project. 14. Januar 2015, abgerufen am 4. Dezember 2020 (amerikanisches Englisch).
  31. https://blog.xenproject.org/2015/10/13/xen-4-6/
  32. a b Xen Project 4.7 and 4.6.3 Release | Xen Project Blog. Abgerufen am 6. April 2017 (amerikanisches Englisch).
  33. What’s New in the Xen Project Hypervisor 4.9?| Xen Project Blog. Abgerufen am 19. Januar 2018 (amerikanisches Englisch).
  34. What’s New in the Xen Project Hypervisor 4.10| Xen Project Blog. Abgerufen am 19. Januar 2018 (amerikanisches Englisch).