Xen - Xen
Autori originali | Keir Fraser, William Perkins jr, Steven Hand, Ian Pratt , Laboratorul de Calculatoare al Universității din Cambridge |
---|---|
Dezvoltatori |
Linux Foundation Intel |
Eliberarea inițială | 2003 |
Versiune stabila | 4,15 / 8 aprilie 2021
|
Repertoriu | |
Scris in | C |
Tip | Hipervizor |
Licență | GPLv2 |
Site-ul web | xenproject |
Xen (pronunțat / z ɛ n / ) este un tip 1 hypervisor , furnizarea de servicii care permit mai multor calculatoare sisteme de operare pentru a executa pe același hardware de calculator concomitent. A fost inițial dezvoltat de Universitatea din Cambridge Computer Laboratory și este acum dezvoltat de Linux Foundation cu suport de la Intel , Citrix , Arm Ltd , Huawei , AWS , Alibaba Cloud , AMD , Bitdefender și epam .
Comunitatea Xen Project dezvoltă și menține Proiectul Xen ca software gratuit și open-source , sub rezerva cerințelor GNU General Public License (GPL), versiunea 2. Xen Project este disponibil în prezent pentru IA-32 , x86-64 și ARM seturi de instrucțiuni .
Arhitectura software
Xen Project rulează într-o stare CPU mai privilegiată decât orice alt software de pe aparat.
Responsabilitățile hipervizorului includ gestionarea memoriei și programarea procesorului pentru toate mașinile virtuale („domenii”) și pentru lansarea celui mai privilegiat domeniu („dom0”) - singura mașină virtuală care implicit are acces direct la hardware. De la dom0, hipervizorul poate fi gestionat și pot fi lansate domenii fără privilegii („domU”).
Domeniul dom0 este de obicei o versiune de Linux sau BSD . Domeniile utilizatorilor pot fi fie sisteme de operare tradiționale, cum ar fi Microsoft Windows, în care instrucțiunile privilegiate sunt furnizate de instrucțiunile de virtualizare hardware (dacă procesorul gazdă acceptă virtualizarea x86 , de exemplu, Intel VT-x și AMD-V ), sau sistemele de operare paravirtualizate prin care sistemul de operare este conștient că rulează în interiorul unei mașini virtuale și, prin urmare, face apeluri directe, mai degrabă decât să emită instrucțiuni privilegiate.
Xen Project pornește de la un bootloader precum GNU GRUB și apoi încarcă de obicei un sistem de operare gazdă paravirtualizat în domeniul gazdă (dom0).
Istorie
Xen își are originea ca proiect de cercetare la Universitatea din Cambridge, condus de Ian Pratt , lector superior în Laboratorul de Calculatoare , și doctorandul său Keir Fraser. Prima lansare publică a Xen a fost făcută în 2003, urmând v1.0 în 2004. La scurt timp, Pratt și Fraser împreună cu alți absolvenți din Cambridge, inclusiv Simon Crosby și CEO-ul fondator Nick Gault, au creat XenSource Inc. pentru a transforma Xen într-un produs competitiv pentru întreprinderi. .
Pentru a sprijini sistemele încorporate, cum ar fi smartphone-ul / IoT, cu resurse de calcul hardware relativ puține, arhitectura Secure Xen ARM pe un procesor ARM a fost expusă la Summit-ul Xen din 17 aprilie 2007, care a avut loc la IBM TJ Watson. Prima lansare publică a codului sursă Secure Xen ARM a fost realizată la Xen Summit pe 24 iunie 2008 de către Sang-bum Suh , absolvent al Cambridge, în Samsung Electronics.
Pe 22 octombrie 2007, Citrix Systems a finalizat achiziția XenSource, iar Xen Project s-a mutat în domeniul xen.org. Această mișcare a început cu ceva timp anterior și a făcut publică existența Comitetului consultativ pentru proiectul Xen (Xen AB), care avea membri de la Citrix , IBM , Intel , Hewlett-Packard , Novell , Red Hat , Sun Microsystems și Oracle . Comitetul consultativ Xen îl consiliază pe liderul proiectului Xen și este responsabil pentru marca Xen, pe care Citrix a licențiat-o în mod gratuit tuturor furnizorilor și proiectelor care implementează hipervizorul Xen . Citrix a folosit însăși marca Xen pentru anumite produse proprietare care nu au legătură cu Xen, inclusiv XenApp și XenDesktop .
La 15 aprilie 2013, s-a anunțat că Proiectul Xen a fost mutat sub egida Fundației Linux ca proiect de colaborare. Fundația Linux a lansat o nouă marcă comercială pentru „Xen Project” pentru a diferenția proiectul de orice utilizare comercială a vechii mărci comerciale „Xen”. Ca parte a transferului, a fost lansat un nou site comunitar la xenproject.org. Membrii proiectului la momentul anunțului includeau: Amazon, AMD, Bromium, CA Technologies, Calxeda, Cisco, Citrix, Google, Intel, Oracle, Samsung și Verizon. Proiectul Xen în sine se autoguvernează.
De la versiunea 3.0 a kernel-ului Linux , suportul Xen pentru dom0 și domU există în kernel-ul principal.
Istoricul lansărilor
Versiune | Data de lansare | Note |
---|---|---|
1.0 | 2 octombrie 2003 | |
2.0 | 5 noiembrie 2004 | Migrarea în direct a clienților PV. |
3.0 | 5 decembrie 2005 |
Versiunile până la 3.0.4 au adăugat, de asemenea:
|
3.1 | 18 mai 2007 | Migrare live pentru oaspeții HVM, XenAPI |
3.2 | 17 ianuarie 2008 | Passthrough PCI și modul standby ACPI S3 pentru sistemul gazdă. |
3.3 | 24 august 2008 | Îmbunătățiri pentru passthrough-ul PCI și gestionarea energiei. Codul sursă Xen ARM pentru hipervizor lansat pentru suport ARM CPU |
3.4 | 18 mai 2009 | Conține o primă versiune a „Xen Client Initiative”, în scurt timp XCI. |
4.0 | 7 aprilie 2010 | Face posibilă utilizarea unui kernel Linux dom0, care a fost implementat utilizând PVOps. Un kernel Linux cu versiunea 2.6.31 a fost modificat în acest scop, deoarece kernel-ul oficial Linux nu acceptă utilizarea ca kernel dom0 (data de iulie 2010). |
4.1 | 25 martie 2011 | Unele dintre îmbunătățiri: Suport pentru mai mult de 255 de procesoare, stabilitate mai bună. Kernel-ul Linux v2.6.37 și ulterior suportă utilizarea ca kernel dom0. |
4.2 | 8 septembrie 2012 | XL a devenit setul de instrumente implicit. Suport pentru până la 4095 procesoare gazdă și până la 512 procesoare invitate. |
4.3 | 9 iulie 2013 | Suport experimental ARM. Programare conștientă de NUMA. Suport pentru Open vSwitch . |
4.4 | 10 martie 2014 | Suport solid libvirt pentru libxl, noua interfață de canal de evenimente scalabilă, hipervizor ABI pentru ARM declarat stabil, Virtualizare imbricată pe hardware Intel. |
4.5 | 17 ianuarie 2015 | Cu 43 de caracteristici noi majore, 4.5 include cele mai multe actualizări din istoria proiectului. |
4.6 | 13 octombrie 2015 | Concentrat pe îmbunătățirea calității codului, întărirea securității, activarea dispozitivelor de securitate și predictibilitatea ciclului de lansare. |
4.7 | 24 iunie 2016 | Îmbunătățit: securitate, migrații în direct, performanțe și volumul de muncă. Suport hardware (ARM și Intel Xeon). |
4.8.1 | 12 aprilie 2017 | |
4.9 | 28 iunie 2017 | Note de lansare pentru Xen Project 4.9 |
4.10 | 12 decembrie 2017 | Note de lansare pentru Xen Project 4.10 |
4.11 | 10 iulie 2018 | Note de lansare pentru Xen Project 4.11 |
4.12 | 2 aprilie 2019 | Note de lansare pentru Xen Project 4.12 |
4.13 | 18 decembrie 2019 | Note de lansare pentru Xen Project 4.13 |
4.14 | 24 iulie 2020 | Note privind versiunea Xen Project 4.14 |
4.15 | 8 aprilie 2021 | Note de lansare pentru Xen Project 4.15 |
Utilizări
Companiile de servicii de găzduire pe internet utilizează hipervizoare pentru a furniza servere private virtuale . Amazon EC2 (din august 2006), IBM SoftLayer , Liquid Web, Fujitsu Global Cloud Platform , Linode , OrionVM și Rackspace Cloud utilizează Xen ca principal hipervizor VM pentru ofertele lor de produse.
Monitoarele mașinilor virtuale (cunoscute și sub denumirea de hipervizoare) funcționează adesea pe mainframe și pe servere mari care rulează IBM, HP și alte sisteme. Virtualizarea serverului poate oferi avantaje precum:
- Consolidare care duce la o utilizare sporită
- Aprovizionare rapidă
- Toleranță dinamică la erori împotriva eșecurilor software-ului (prin bootstrapping sau repornire rapidă)
- Toleranță la erori hardware (prin migrarea unei mașini virtuale către hardware diferit)
- Separați în siguranță sistemele de operare virtuale
- Suport pentru software vechi, precum și pentru noi instanțe ale sistemului de operare pe același computer
Suportul Xen pentru migrarea virtuală a mașinilor virtuale de la o gazdă la alta permite echilibrarea încărcării și evitarea timpilor de nefuncționare.
Virtualizarea are și avantaje atunci când se lucrează la dezvoltare (inclusiv dezvoltarea sistemelor de operare): rularea noului sistem ca invitat evită necesitatea repornirii computerului fizic ori de câte ori apare o eroare. Sistemele de oaspeți cu nisip pot ajuta, de asemenea, în cercetarea securității computerului, permițând studiul efectelor unor virusuri sau viermi, fără posibilitatea compromiterii sistemului gazdă.
În cele din urmă, furnizorii de dispozitive hardware pot decide să-și livreze dispozitivul rulând mai multe sisteme de oaspeți, astfel încât să poată executa diverse software care necesită diferite sisteme de operare.
Tipuri de virtualizare
Xen oferă cinci abordări pentru rularea sistemului de operare pentru oaspeți:
- HVM (mașină virtuală hardware)
- HVM cu drivere PV
- PVHVM (paravirtualizare cu virtualizare hardware completă, adică HVM cu drivere PVHVM)
- PVH (PV într-un container HVM)
- PV (paravirtualizare).
Xen oferă o formă de virtualizare cunoscută sub numele de paravirtualizare, în care oaspeții rulează un sistem de operare modificat. Oaspeții sunt modificați pentru a utiliza un hypercall special ABI , în loc de anumite caracteristici arhitecturale. Prin paravirtualizare, Xen poate obține performanțe ridicate chiar și pe arhitectura gazdă (x86), care are o reputație de necooperare cu tehnicile tradiționale de virtualizare. Xen poate rula invitați paravirtualizați („invitați PV” în terminologia Xen) chiar și pe procesoare fără niciun suport explicit pentru virtualizare. Paravirtualizarea evită necesitatea de a emula un set complet de servicii hardware și firmware, ceea ce face un sistem PV mai simplu de gestionat și reduce suprafața de atac expusă oaspeților potențial rău intenționați. Pe x86 pe 32 de biți, codul nucleului gazdă Xen rulează în Ring 0 , în timp ce domeniile găzduite rulează în Ring 1 (nucleu) și Ring 3 (aplicații).
CPU-urile care acceptă virtualizarea fac posibilă rularea oaspeților nemodificați, inclusiv sisteme de operare proprietare (cum ar fi Microsoft Windows). Aceasta este cunoscută sub numele de virtualizare asistată de hardware , cu toate acestea, în Xen aceasta este cunoscută sub numele de mașină virtuală hardware (HVM). Extensiile HVM oferă moduri de execuție suplimentare, cu o distincție explicită între cele mai privilegiate moduri utilizate de hipervizorul cu acces la hardware-ul real (numit „mod rădăcină” în x86) și modurile mai puțin privilegiate utilizate de nucleele de oaspeți și aplicațiile cu „ hardware "accesează sub controlul complet al hipervizorului (în x86, cunoscut sub numele de" mod non-root "; atât modul root, cât și non-root au inele 0-3). Atât Intel, cât și AMD au contribuit cu modificări la Xen pentru a exploata extensiile lor de arhitectură Intel VT-x și AMD-V. Utilizarea extensiilor de virtualizare ARM v7A și v8A a venit cu Xen 4.3. Extensiile HVM oferă, de asemenea, noi instrucțiuni pentru a permite apeluri directe de către un client / șofer paravirtualizat în hipervizor, de obicei utilizate pentru I / O sau alte operații care necesită performanțe ridicate. Acestea permit oaspeților HVM cu modificări minore adecvate să obțină multe dintre beneficiile de performanță ale I / O paravirtualizate. În versiunile actuale ale Xen (până la 4.2), numai oaspeții HVM complet virtualizați pot utiliza facilități hardware pentru mai multe niveluri independente de protecție a memoriei și de paginare. Ca urmare, pentru unele încărcări de lucru, oaspeții HVM cu driver PV (cunoscut și sub numele de PV-on-HVM sau PVH) oferă performanțe mai bune decât oaspeții PV puri. Xen HVM are o emulare a dispozitivului bazată pe proiectul QEMU pentru a oferi virtualizare I / O către mașinile virtuale. Sistemul emulează hardware printr-un daemon QEMU "patch manager" (qemu-dm) care se execută ca backend în dom0. Aceasta înseamnă că mașinile virtualizate văd o versiune emulată a unui PC destul de simplu. Într-un mediu critic de performanță, discurile PV-on-HVM și driverele de rețea sunt utilizate în timpul funcționării normale a oaspeților, astfel încât hardware-ul PC-ului emulat este utilizat în principal pentru boot.
Caracteristici
Administratorii pot „migra în direct” mașinile virtuale Xen între gazde fizice pe o rețea LAN fără pierderea disponibilității. În timpul acestei proceduri, LAN copiază iterativ memoria mașinii virtuale la destinație fără a opri executarea acesteia. Procesul necesită o oprire de aproximativ 60–300 ms pentru a efectua sincronizarea finală înainte ca mașina virtuală să înceapă executarea la destinația sa finală, oferind o iluzie de migrare fără probleme. Tehnologie similară poate servi la suspendarea rulării mașinilor virtuale pe disc, „înghețând” starea lor de funcționare pentru reluare la o dată ulterioară.
Xen poate scala până la 4095 de procesoare fizice, 256 VCPU-uri per invitat HVM, 512 VCPU-uri per invitat PV, 16 TB RAM per gazdă și până la 1 TB RAM pentru fiecare invitat HVM sau 512 GB RAM per invitat PV.
Disponibilitate
Hipervizorul Xen a fost portat la mai multe familii de procesoare:
- Intel: IA-32, IA-64 (înainte de versiunea 4.2), x86-64
- PowerPC: suportat anterior în cadrul proiectului XenPPC, nu mai este activ după Xen 3.2
- ARM: susținut anterior în cadrul proiectului XenARM pentru versiunile mai vechi ale ARM fără extensii de virtualizare, cum ar fi Cortex-A9. În prezent este acceptat de la Xen 4.3 pentru versiunile mai noi ale ARM cu extensii de virtualizare, cum ar fi Cortex-A15 .
- MIPS : port experimental XLP832
Gazde
Xen poate fi livrat pe o platformă dedicată de virtualizare, cum ar fi Citrix Hypervisor (fost Citrix XenServer, și înainte XenSource XenEnterprise).
Alternativ, Xen este distribuit ca o configurație opțională a multor sisteme de operare standard. Xen este disponibil și distribuit cu:
- Alpine Linux oferă un sistem minim dom0 ( Busybox , UClibc ) care poate fi rulat de pe suporturi amovibile, precum stick-uri USB.
- Arch Linux oferă pachetele necesare cu instrucțiuni detaliate de configurare pe Wiki.
- Debian Linux (de la versiunea 4.0 „etch”) și multe dintre derivatele sale;
- FreeBSD 11 include suport experimental pentru gazdă.
- Gentoo are pachetele necesare disponibile pentru a sprijini Xen, împreună cu instrucțiunile de pe Wiki.
- Mageia (de la versiunea 4);
- NetBSD poate funcționa ca domU și dom0.
- Distribuțiile bazate pe OpenSolaris pot funcționa ca dom0 și domU din Nevada build 75 în continuare.
- openSUSE 10.x la 12.x: doar gazdele pe 64 de biți sunt acceptate de la 12.1;
- Qubes OS utilizează Xen pentru a izola aplicațiile pentru un desktop mai sigur.
- SUSE Linux Enterprise Server (de la versiunea 10);
- Solaris (din 2013 cu Oracle VM Server pentru x86 , înainte cu Sun xVM );
- Ubuntu (începând cu 12.04 „Precise Pangolin” ; de asemenea, 8.04 „Hardy Heron” , dar nici un kernel capabil de dom0 în 8.10 „Intrepid Ibex” până la 12.04.)
Vizitatori
Sistemele de oaspeți pot rula complet virtualizate (care necesită suport hardware), paravirtualizate (care necesită un sistem de operare pentru oaspeți modificat) sau complet virtualizate cu drivere paravirtualizate (PVHVM). Majoritatea sistemelor de operare care pot rula pe PC-uri pot rula ca invitat Xen HVM. Următoarele sisteme pot funcționa ca invitați Xen paravirtualizați:
- Linux
- FreeBSD în 32 de biți sau 64 de biți prin PVHVM;
- OpenBSD , prin PVHVM;
- NetBSD
- MINIX
- GNU Hurd (gnumach-1-branch-Xen-branch)
- Planul 9 de la Bell Labs
Versiunea Xen 3.0 a introdus capacitatea de a rula Microsoft Windows ca sistem de operare invitat nemodificat dacă procesorul mașinii gazdă acceptă virtualizarea hardware furnizată de Intel VT-x (fost denumit în cod Vanderpool) sau AMD-V (anterior codificat Pacifica). În timpul dezvoltării Xen 1.x, Microsoft Research , împreună cu grupul de sisteme de operare Universitatea din Cambridge, au dezvoltat un port Windows XP către Xen - posibil datorită programului de licențiere academică al Microsoft . Termenii acestei licențe nu permit publicarea acestui port, deși documentația despre experiență apare în hârtia Xen SOSP originală . James Harper și comunitatea open-source Xen au început să dezvolte drivere gratuite de paravirtualizare pentru Windows. Acestea oferă drivere front-end pentru blocul Xen și dispozitive de rețea și permit performanțe mult mai mari pe disc și rețea pentru sistemele Windows care rulează în modul HVM. Fără aceste drivere, tot traficul de disc și de rețea trebuie procesat prin QEMU-DM. Ulterior, Citrix a lansat sub licență BSD (și continuă să mențină) driverele PV pentru Windows.
Management
Dezvoltatorii terți au construit o serie de instrumente (cunoscute sub numele de console de management Xen) pentru a facilita sarcinile comune de administrare a unei gazde Xen, cum ar fi configurarea, pornirea, monitorizarea și oprirea oaspeților Xen. Exemplele includ:
- HyperVM bazat pe web
- OpenNebula set de instrumente de management cloud
- Pe openSUSE YaST și virt-man oferă management grafic al VM
- OpenStack acceptă nativ Xen ca țintă Hypervisor / Compute
- Apache CloudStack acceptă, de asemenea, Xen ca hipervizor
- PlateSpin Orchestrate de la Novell gestionează, de asemenea, mașinile virtuale Xen pentru expediere Xen în SUSE Linux Enterprise Server.
Versiuni comerciale
- Citrix Hypervisor (fost XenServer, până în 2019)
- Huawei FusionSphere
- Oracle VM Server pentru x86
- Thinsy Corporation
- Virtual Iron (întrerupt de Oracle)
- Creuzet (hipervizor) de Star Lab Corp.
Hipervizorul Xen este acoperit de licența publică generală GNU, deci toate aceste versiuni conțin un nucleu de software gratuit cu cod sursă. Cu toate acestea, multe dintre ele conțin adăugiri proprietare.
Versiune de distribuție comercială | Data lansării versiunii comerciale | Versiunea Xen Projects | Data lansării comerciale EOL |
---|---|---|---|
Citrix XenServer 6.0 | 30.09.2011 | 4.1.1 | 26.09.2016 |
Citrix XenServer 6.1 | 2012-09-28 | 4.1.3 | 30.09.2016 |
Citrix XenServer 6.2 | 18.06.2013 | 4.1.5 | 26.06.2018 |
Citrix XenServer 6.2 SP1 | 16.12.2013 | 4.1.5 | 26.06.2018 |
Citrix XenServer 6.5 | 13.01.2015 | 4.4.1 | 26.06.2018 |
Citrix XenServer 6.5 SP1 | 12.05.2015 | 4.4.1 | 26.06.2018 |
Citrix XenServer 7.0 | 24.05.2016 | 4.6.1 | 2021-05-19 |
Citrix XenServer 7.1 | 23-02-2017 | 4.7.1 | 2022-08-01 |
Citrix XenServer 7.4 | 27.02.2018 | 4.7.4 | 30.09.2018 |
Citrix XenServer 7.5 | 30.05.2018 | 4.7.x | 2019-04-20 |
Citrix XenServer 7.6 | 06.09.2018 | 4.7.6 | 2019-07-06 |
Vezi si
- CloudStack
- Mașină virtuală bazată pe kernel (KVM)
- OpenStack
- Imagine de disc virtual
- tboot , un sistem de integritate bazat pe TXT pentru kernel-ul Linux și hipervizorul Xen
- VMware ESX
- Qubes OS
Referințe
Lecturi suplimentare
- Paul Venezia (13 aprilie 2011) Shoot-out de virtualizare: Citrix, Microsoft, Red Hat și VMware. Cei mai importanți concurenți de virtualizare a serverelor abordează provocarea supremă de virtualizare a InfoWorld , InfoWorld