Xen
Vývojář | Jan Beulich |
---|---|
První vydání | 9. září 2003 |
Aktuální verze | 4.19.0 (29. července 2024) |
Vyvíjeno v | C |
Typ softwaru | Hypervizor a svobodný software |
Licence | GPLv2 |
Web | xenproject |
Některá data mohou pocházet z datové položky. |
Xen je hypervizor poskytující rozhraní pro virtualizaci hardwaru a běh více operačních systémů na jednom počítači současně.
První verze Xenu vznikla v laboratořích na univerzitě v Cambridge. Od roku 2010 je Xen komunitním projektem publikovaným pod licencí GPL (GPLv2). Xen se vyvíjí pro platformy IA-32, x86-64, Itanium a architekturu ARM.
Hypervisor je v Xenu software pracující na nejnižší a nejvíce privilegované vrstvě.[2] Tato vrstva podporuje jeden nebo více hostovaných operačních systémů, jejichž běh je plánován na fyzické procesory. První hostitelský virtuální stroj se nazývá v terminologii Xenu doménou 0 (dom0). Hlavním účelem je přímý přístup k hardwaru ve výchozím nastavení a jeho management. Dále je možné do systému přidávat uživatelské domény (domU). Doména Dom0 je zpravidla upravená verze Linuxu, NetBSD a nebo Solarisu. Uživatelské domény mohou být open-source operační systémy nebo například Microsoft Windows. Nutností je podpora virtualizace x86 platformy (např. Intel VT-x a AMD-V). V případě paravirtualizace je nutná podpora ovladačů pro lepší interakci systému.
Historie
[editovat | editovat zdroj]Xen vznikl jako výzkumný projekt na univerzitě v Cambridge pod vedením odborného asistenta Iana Pratta a zakladatele společnosti XenSource, Inc. Tato společnost podporuje vývoj open-source projektů a také prodává komerční licence. První veřejná verze Xenu byla uveřejněna v roce 2003. V roce 2007 proběhla akvizice ze strany společnosti Citrix Systems a následně došlo i k přejmenování produktů pod značkou Citrix:
- XenExpress se stal "XenServer Express Edition" a "XenServer OEM Edition" (embedded hypervisor)
- XenServer se stal "XenServer Standard Edition"
- XenEnterprise se stal "XenServer Enterprise Edition"
Následně došlo k dalšímu přejmenování produktových řad. XenServer (zdarma), Essentials pro XenServer Enterprise a Essentials pro XenServer Platinum.
Dne 22. října 2007 Citrix Systems dokončila akvizici společnosti XenSource, [4] a projekt Xen se stěhoval na adresu http://www.xen.org/. Tento krok začal nějaký čas předtím a předcházelo mu založení poradního výboru (Xen AB), jehož členy jsou Citrix Systems, IBM, Intel, Hewlett-Packard, Novell, Red Hat, Sun Microsystems a Oracle. Xen AB aliance vznikla za účelem dohledu nad projektem, implementací kódů a rozvojem ochranné známky. Tu chce společnost Citrix nabízet svobodně pro všechny prodejce a projekty, které používají Xen hypervizor. Xen AB má odpovědnost za požadavky na udělení této licence.
Dne 21. října 2009 společnost Citrix oznámila uvolnění XenServeru jako open-source a je volně k dispozici veřejnosti pod názvem Xen Cloud Platform (XCP). [5] Simon Crosby, CTO pro virtualizaci a management ve společnosti Citrix, uvedl: "XenServer je 100% zdarma, ze zcela otevřených zdrojů." Produktové řady byly přejmenovány na jaře roku 2010:[1]
- XenServer [Free edition]
- XenServer Advanced Edition
- XenServer Enterprise Edition
- XenServer Platinum Edition
Vývoj verzí
[editovat | editovat zdroj]Version | Release date | Notes |
---|---|---|
1.0 | 2003-10-02[2][3] | |
2.0 | 2004-11-05[4] | |
3.0 | 2005-12-05[5][6] |
Vydání 3.0.4 a vyšší přidává:
|
3.1 | 2007-05-18[10] | |
3.2 | 2008-01-17[11] | PCI passthrough a ACPI S3 pohotovostní režim pro hostitelské systémy. |
3.3 | 2008-08-24[12] | Vylepšení pro PCI passthrough a řízení spotřeby. |
3.4 | 2009-05-18[13] | Obsahuje první verze "Xen Client Initiative", krátce XCI. |
4.0 | 2010-04-07[14] | Umožňuje použít dom0 linuxové jádro, které je realizované pomocí PVOps. Linuxové jádro verze 2.6.31 bylo upraveno pro tento účel, protože oficiální linuxové jádro ve skutečnosti nelze nasadit jako dom0 jádro (července 2010).[15] |
4.1 | 2011-03-25[16] | Některé z vylepšení: Podpora pro více než 255 procesorů, vylepšení stability. Linuxové jádro v2.6.37 s podporou využití jako dom0. ([17]). |
4.11 | 2018-07-10 | Xen Project 4.11 Release Notes |
Použití
[editovat | editovat zdroj]Správa virtuálních strojů (hypervizor) se často vyskytuje ve velkých sálových počítačích a serverech se systémem IBM, HP, aj. Internetové hostingové služby často využívají virtualizaci pro poskytování virtuálních privátních serverů. Amazon EC2, globální platformě Fujitsu cloud, [23] Linode a Rackspace Cloud použít pro správu virtuálních strojů Xen hypervisor.[24]
Virtualizace serverů může poskytovat mnoho výhod:
- Konsolidace hardwaru
- Zvýšení využití zdrojů hardwaru
- Rychlé zřizování a přidělování prostředků
- "Fault tolerance" proti selhání softwaru (díky rychlému bootstrappingu nebo restartu)
- Hardwarová odolnost proti chybám (díky migraci virtuálních strojů na jiný hardware)
- Možnost bezpečně oddělit virtuální operační systémy
- Schopnost podporovat starší software, stejně jako nové instance OS na jednom počítači
Xen podporuje živou migraci strojů z jednoho hostitele na jiný bez omezení a prostojů. Virtualizace má také výhody při práci vývojářů (včetně vyvíjení operačních systémů): Provozem nového systému jako hosta se vyhneme restartům fyzického stroje vždy, když dojde k chybě. Hostované systémy se Sandboxem mohou také pomoci při výzkumu počítačového zabezpečení, které umožňuje studium vlivu některých virů nebo červů bez možnosti kompromitování hostitelského systému. Nyní je možné hostovat více rozdílných aplikací, které potřebují samostatné zdroje OS pro vyšší bezpečnost, nebo různé druhy OS pro svůj běh. Xen je možné provozovat jako virtualizační platformu. Například Citrix XenServer Enterprise Edition (dříve XenSource je XenEnterprise), nebo paravirtualizovat vložením do hostitelského operačního systému. Jako příklad dělají některé distribuce:
- Novell SUSE Linux Enterprise 10 distribution
- Red Hat RHEL 5/Fedora 7
- Sun Microsystems Solaris
- Debian
V roce 2007 XenSource oznámila, že Dell bude obsahovat Citrix XenServer OEM Edition jako vestavěný hypervisor nainstalovaný volitelně na flash paměti pro všechny servery PowerEdge, počátkem roku 2008.[18] Nicméně do května 2010 Citrix a jeho OEM partneři (včetně Dellu) se rozhodlo o opuštění tohoto záměru. Pouze XenServer 5.6 Retail Edition je k dispozici pro servery Dell PowerEdge. Zákazníci v současné době používají Dell OEM edici XenServeru 5.5 (nebo starší) a mohou provést upgrade se zachováním konfigurace svých virtuálních strojů a dat.
Společnost XenSource také začala rozvíjet kompatibilitu pro hypervizor ve Windows Server 2008, takže je systém upraven tak, aby na příkaz Spustit fungoval stejně jako a provedl spuštění hostů.[19]
Technologie
[editovat | editovat zdroj]Typy virtualizace
[editovat | editovat zdroj]Paravirtualizace, potřebuje portování hostitelských systémů
[editovat | editovat zdroj]U většiny procesorů Xen používal paravirtualizaci. To vyžadovalo běh hostitelských systémů na upraveném operačním systému pomocí speciálního hypercall ABI místo některých architektonických prvků. Při paravirtualizaci může Xen dosáhnout vysoké výkonnosti i na své hostitelské architektuře (x86), která v dobách první implementace nebyla určena pro provoz tradičních virtualizačních technik.[20][21] Na platformě x86, funguje jádro Xenu v ring 0, zatímco hostované domény běží v Ring 1, nebo v Ring 3.
Hardware s podporou virtualizace, díky které nemusíme upravovat hostitelské OS
[editovat | editovat zdroj]Intel i AMD přispěly úpravami Xenu na podporu svých virtualizačních technologií Intel VT-x a AMD-V.[22] Ačkoliv se tyto technologie podstatně liší v jejich provádění a instrukčních sadách, Xen ovládá daná rozhraní pomocí společné abstraktní vrstvy, která umožňuje hostovaní nemodifikovaných operačních systémů běžících v Xenu na virtuálních strojích od verze 3.0. Tento vývoj umožňuje virtualizaci proprietárních operačních systémů (např. Microsoft Windows), protože jádro hostovaného systému nevyžaduje úpravy pro běh na hardwaru Intel VT-x nebo AMD-V.
Hardwarem podporovaná virtualizace nabízí nové instrukce pro podporu přímého volání, díky kterému dochází v hostovaném OS k přímému (řízenému) přístupu k hardwaru pomocí hypervizoru. Typicky se používá pro zrychlení práce s I/O nebo podobným systémovým voláním. Poskytuje také provedení "root mód" a "non-root mód". Oba způsoby se odehrávají v Ringu 0-3. Hosti v Xenu pracují v režimu root a mají přímý přístup ke skutečnému hardwaru, zatímco neupravené hostované OS fungují v Ring 0-3 v "non-root" režimu, kdy přístup k hardwaru plně řídí hypervizor (zde vzniká zpomalení přístupu).
Asistovaná virtualizace hardwaru je srovnatelná s tenkou emulační vrstvou, kterou nabízí projekt QEMU. Ten tímto způsobem poskytuje veškeré I/O jednotlivým virtuálním strojům. Systém emuluje hardware pomocí speciálního systémového daemona (qemu-dm). Ten běží na pozadí v Dom0. To znamená, že hostované systémy nerozpoznají změnu a běží s iluzí práce na skutečném hardwaru. Například se jedná o přístup k řadičům HDD, emulaci VGA grafické karty, síťové karty, PAE a nebo v omezené míře ACPI a APIC. Emulace SCSI není podporována.[23]
Xen 3.0.2 podporuje následující neupravený hosté:
- Určité verze systému Microsoft Windows (včetně Windows XP)
- Linux.
Migrace virtuálních strojů
[editovat | editovat zdroj]Správci mohou provádět "live migrace" virtuálních strojů mezi fyzickými hostiteli přes LAN bez ztráty dostupnosti. A to díky procesu, který provede zkopírování celého VM na druhý fyzický stroj. Poté dojde k synchronizaci obsahu paměti RAM a registrů v CPU. Nakonec dojde k přenastavení DNS a odpojení původního VM s následným vymazáním a převedením všech úloh na daný virtuální stroj na novém hardwaru. Tento proces si v praxi vyžádá nedostupnost serveru v rozmezí kolem 60-300 ms. Můžeme tedy tvrdit, že celá "live migrace" je bezproblémovou. Podobné technologie mohou sloužit k pozastavení virtuálních strojů na disku, jejich odmigrování "offline" a opětovné spuštění na novém hardwaru. Vzhledem k nárokům, které jsou na dnešní IT kladena je tato možnost stále méně často používána.
Host: Unixové systémy
[editovat | editovat zdroj]Xen na Linuxu běží na x86 platformě s procesorem Pentium II a novějšími procesory x86-64, stejně jako na IA-64 a PowerPC. Xen podporuje až 64-cestný symetrický multiprocessing. Xen bootuje ze zavaděče (bootloaderu), jako je GRUB, a pak obvykle načte upravený hostitelský operační systém do hostitelské domény (dom0). Většina linuxových distribucí měla balíčky pro interakci hypervizoru Xenu s dalšími doménami. Xen ale nebyl přijat do oficiálního linuxového jádra právě z důvodu nutnosti upravit jádro systému a instalace Xenu vyžaduje několik oprav kernelu. Některé distribuce, jako je Red Hat Enterprise Linux 6, Ubuntu 8.10 vyňali Xen ze své distribuce a podporován je dom0 až v dalších verzích. Se zahrnutím částí Xenu v Linuxu 2.6.37 oficiálního jádra na začátku roku 2011, začali některé distribuce opět zvažovat podporu dom0.[24][25] Verze 3.0 jádra Linuxu bude podporovat dom0 i domU nativně v jádru.[26]
- Novell SUSE Linux Enterprise Server verze 10 propagoval jako první komerční implementaci Xenu v této podobě.
- Red Hat Enterprise Linux 5 také poskytuje podporu pro Xen, ale v RHEL 6 není dom0 podporován.
- Fedora má podporu pro Xen od FC4 do Fedora 8, ale od roku 2010 Fedora neposkytuje podporu pro dom0.[27]
- Ubuntu začlenil balíčky Xenu od verze Ubuntu 8.04 (Hardy Heron), s podporou Xenu ve verzích 3.2 a 3.1.[28] Za povšimnutí stojí, že Ubuntu neobsahuje ani podporu dom0 jádra od Intrepid Ibex (Ubuntu 8.10) onward.[29][30]
- Debian obsahuje podporu Xenu 4.0.1 ve své stabilní verzi 6.0 (codename "Squeeze"), a Xen 3.2.1 ve starší verzi OS 5.0 (codename "Lenny").
- Gentoo a Arch Linux obsahují balíčky pro podporu Xenu.[31][32]
- openSUSE 10.x a 11.x obsahují podporu pro Xen 3.1. YaST a grafický software pro správu virtuálních počítačů: virt-man.[33]
- Distribuce založené na OpenSolaris podporují funkce dom0 a domU od verze Nevada 75 a novější.
- Od roku 2009 je podporován OpenBSD s nutností opravy chyby před jeho vydáním.[34]
- NetBSD 3.x. zahrnuje podporu pro Xen 2, společně s podporou pro Xen 3.0 je dostupná od verze NetBSD 4.0.[35]
Hosté založení na Unixu
[editovat | editovat zdroj]Hostované systémy DomU mohou být spouštěny plně virtualizované (je vyžadována podpora hardwaru) nebo paravirtualizovaně (je vyžadován modifikovaný DomO hostitelský systém). Následující systémy mají opravy, které jim umožňují pracovat v režimu paravirtualizovaného hosta:
- Linux, integroval paravirtualizaci v jádře 2.6.23, pro jiné verze existují patche
- Minix
- Plan 9 from Bell Labs
- NetBSD (NetBSD 2.0 měl podporu pro Xen 1.2, NetBSD 3.0 měl podporu pro Xen 2.0, NetBSD 3.1 podporoval Xen 3.0, NetBSD 5.0 bude podporovat Xen 3.3)
- OpenBSD, na blogu byla oznámena nepodpora. Podpora je od té doby přerušena.
- FreeBSD (Omezeně, experimentálně je podporován Xen 3 ve verzi 8 [1] Archivováno 12. 10. 2012 na Wayback Machine.)
- OpenSolaris (Zhlédněte Xen komunita OpenSolarisu)
- NetWare (at Brainshare 2005, Novell předvedl portaci, která běží jako Xen host)
- GNU/Hurd/Mach (gnumach-1-branch-Xen-branch)
- OZONE (má podporu pro Xen v1.2)
Microsoft Windows OS jako host
[editovat | editovat zdroj]Xen ve verzi 3.0 představil možnost provozovat Microsoft Windows jako hostitelský operační systém. Vše je podmíněno podporou hardwarové virtualizace procesoru, kterou zajišťuje Intel VT-x (dříve pod kódovým označením Vanderpool), nebo AMD-V (dříve pod kódovým označením Pacifica). Při vývoji Xenu 1.x byla navázána spolupráce s Microsoft Research a universitou Cambridge. Skupina zabývající se operačními systémy vyvinula port pro Windows XP běžících na Xenu – umožnil to akademický licenční program Microsoftu. Podmínky této licence neumožňují zveřejnění tohoto portu, ale dokumentace se zkušenostmi se objevila v původní papírové dokumentaci SOSP Xen.[36] James Harper v čele Xen open-source komunity začal rozvíjet GPL'd Paravirtualisation GPL ovladače pro paravirtualizaci Windows. Ty poskytují výstup pro ovladače Xenu, síťová zařízení a povolují mnohem větší disky a vyšší výkon sítě pro systémy Windows běžící v režimu HVM. Bez těchto ovladačů by veškerá práce s disky a síťové služby musely být zpracovány přes QEMU-DM.
Komerční implementace
[editovat | editovat zdroj]- Citrix XenServer
- Oracle VM
- Sun xVM
- Virtual Iron
- Thinsy Corporation
Související články
[editovat | editovat zdroj]- Kernel-based Virtual Machine (KVM)
- Comparison of platform virtual machines
- QEMU
- OpenVZ
- Hyper-V
- VMware ESX
- Red Hat Enterprise Virtualization
- Virtual disk image
Reference
[editovat | editovat zdroj]- ↑ XenServer features by edition [online]. Citrix Systems. Dostupné online.
- ↑ Xen / Mailing Lists
- ↑ http://lwn.net/Articles/52033/
- ↑ Xen 2.0 relased
- ↑ http://lwn.net/Articles/162841/
- ↑ XenSource: Press Releases. www2.getxen.com [online]. [cit. 2005-12-10]. Dostupné v archivu pořízeném dne 2005-12-10.
- ↑ Archivovaná kopie. lists.xensource.com [online]. [cit. 2011-12-04]. Dostupné v archivu pořízeném dne 2011-10-01.
- ↑ http://lists.xensource.com/archives/html/xen-devel/2006-10/msg00733.html
- ↑ http://lists.xensource.com/archives/html/xen-devel/2006-12/msg00889.html
- ↑ http://lists.xensource.com/archives/html/xen-announce/2007-05/msg00002.html
- ↑ Xen 3.2.0 Officially Released : @VMblog
- ↑ Archivovaná kopie. www.h-online.com [online]. [cit. 2011-12-04]. Dostupné v archivu pořízeném dne 2012-03-14.
- ↑ Welcome to the Citrix Community – Citrix. community.citrix.com [online]. [cit. 2011-12-04]. Dostupné v archivu pořízeném dne 2011-03-15.
- ↑ Virtualisation: Xen is looking to catch up by releasing version 4 – The H Open: News and Features
- ↑ Archivovaná kopie. www.xen.org [online]. [cit. 2011-12-04]. Dostupné v archivu pořízeném z originálu dne 2012-05-10.
- ↑ Archivovaná kopie. blog.xen.org [online]. [cit. 2011-12-04]. Dostupné v archivu pořízeném dne 2011-08-29.
- ↑ Archivovaná kopie. wiki.xensource.com [online]. [cit. 2011-12-04]. Dostupné v archivu pořízeném dne 2011-11-27.
- ↑ Dell and Citrix Partner to Simplify Virtualization Technology Archivováno 28. 9. 2011 na Wayback Machine., 23 October 2007
- ↑ Microsoft Press Release, 16 July 2006
- ↑ Robin and Irvine, "Analysis of the Intel Pentium's Ability to Support a Secure Virtual Machine Monitor", 9th Usenix Security Symposium, 2000
- ↑ Gil Neiger, Amy Santoni, Felix Leung, Dion Rodgers, Rich Uhlig. Intel Virtualization Technology: Software-only virtualization with the IA-32 and Itanium architectures, Intel Technology Journal, Volume 10 Issue 03, August 2006.
- ↑ Extending Xen with Intel Virtualization Technology, intel.com
- ↑ Demystifying Xen HVM. ian.blenke.com [online]. [cit. 2011-12-04]. Dostupné v archivu pořízeném dne 2007-12-22.
- ↑ Linux 2.6.37: first upstream Linux kernel to work as Dom0. blog.xen.org. 2011-01-14. Dostupné v archivu pořízeném dne 2011-03-22.
- ↑ Kernel development. LWN.net. 2010-11-01. Dostupné online [cit. 2011-04-03].
- ↑ Archivovaná kopie. blog.xen.org [online]. [cit. 2011-12-04]. Dostupné v archivu pořízeném dne 2011-06-07.
- ↑ http://fedoraproject.org/wiki/Archive:Tools/Xen
- ↑ https://help.ubuntu.com/community/Xen
- ↑ Archivovaná kopie. web.archiveorange.com [online]. [cit. 2011-12-04]. Dostupné v archivu pořízeném dne 2011-09-13.
- ↑ https://help.ubuntu.com/community/Xen#Ubuntu's Support of Xen
- ↑ Archivovaná kopie. packages.gentoo.org [online]. [cit. 2011-12-04]. Dostupné v archivu pořízeném dne 2011-09-28.
- ↑ Archivovaná kopie. aur.archlinux.org [online]. [cit. 2011-12-04]. Dostupné v archivu pořízeném dne 2011-10-02.
- ↑ Archivovaná kopie. wiki.xensource.com [online]. [cit. 2011-12-04]. Dostupné v archivu pořízeném dne 2011-11-30.
- ↑ http://marc.info/?l=openbsd-misc&m=116955702618902
- ↑ http://www.netbsd.org/Ports/xen/
- ↑ Xen and the Art of Virtualization, University of Cambridge SOSP'03 paper
Externí odkazy
[editovat | editovat zdroj]- Obrázky, zvuky či videa k tématu Xen na Wikimedia Commons
- Oficiální stránka
- Oficiální stránka společnosti Citrix Archivováno 21. 11. 2008 na Wayback Machine.
- Instalace XENu "krok za krokem"
- Stránky Cambridgeské univerzity o Xenu
- University of Cambridge, Technical Report Number 553, January 2003.Zpráva o architektuře Xenu.
- Příručka Xenu od Tapas Mishra
- UnifiedSessionsManager – Neoficiální konfigurační soubor pro Xen