abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 00:22 | Komunita

V Norimberku probíhá do pátku ownCloud conference 2018, tj. konference vývojářů a uživatelů open source systému ownCloud (Wikipedie) umožňujícího provoz vlastního cloudového úložiště. Přednášky lze sledovat online. Videozáznamy jsou k dispozici na YouTube. Při této příležitosti byl vydán ownCloud Server 10.0.10. Z novinek lze zdůraznit podporu PHP 7.2. Vydán byl také ownCloud Desktop Client 2.5.0. Vyzkoušet lze online demo ownCloudu.

Ladislav Hagara | Komentářů: 0
dnes 00:11 | Pozvánky

Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.

xkucf03 | Komentářů: 0
včera 16:11 | Komunita

Vývojáři relačního databázového systému PostgreSQL oznámili, že schválili svůj Code of Conduct (CoC) aneb kodex chování vývojářů PostgreSQL.

Ladislav Hagara | Komentářů: 15
včera 14:44 | Nová verze

Byla vydána verze 1.0 poštovního serveru Courier (Wikipedie). Aktualizovány byly také související balíčky jako Courier authentication library, Courier-IMAP, SqWebMail, maildrop nebo Cone.

Ladislav Hagara | Komentářů: 0
včera 02:22 | Zajímavý software

Společnost ​Versity Software otevřela svůj archivační souborový systém ScoutFS. Zdrojové kódy jsou k dispozici na GitHubu (kernel space, user space) pod licencí GPLv2.

Ladislav Hagara | Komentářů: 24
včera 00:44 | Nová verze

Byla vydána verze 4.2 programovacího jazyka Swift (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu. Ke stažení jsou oficiální binární balíčky pro Ubuntu 18.04, Ubuntu 16.04 a Ubuntu 14.04. Přehled novinek ve videozáznamu přednášky z WWDC 2018.

Ladislav Hagara | Komentářů: 4
17.9. 17:55 | Nová verze

Po třech a půl letech od vydání verze 3.4.1 byla vydána nová verze 3.4.2 programu pro filtrování spamu Apache SpamAssassin (Wikipedie). Z novinek lze zmínit 4 nové pluginy. Pravidla budou ověřována pomocí SHA-256 a SHA-512 místo SHA-1. Řešeny jsou také 4 bezpečnostní chyby. Například chyba CVE-2018-11780 v pluginu PDFInfo zneužitelná ke vzdálenému spuštění kódů (RCE).

Ladislav Hagara | Komentářů: 0
17.9. 16:22 | Pozvánky

Díky openSUSE Video Teamu lze sledovat živý přenos většiny prezentací z letošní SUSE Labs Conference. Záznamy proběhlých prezentací budou postupně přidávány na kanál SUSE Labs na YouTube.

Michal Kubeček | Komentářů: 0
17.9. 10:22 | Pozvánky

Na webových stránkách konference LinuxDays byl zveřejněn program přednášek a workshopů. Současně byla spuštěna registrace. Konference proběhne o víkendu 6. a 7. října 2018 v Praze v areálu ČVUT v Dejvicích na Fakultě informačních technologií.

Ladislav Hagara | Komentářů: 0
17.9. 02:22 | Komunita

Linus Torvalds se v oznámení o vydání 4. rc verze Linuxu 4.19 omlouvá za své chování. Posledním commitem před zvýšením rc3 na rc4 bylo odstranění souboru s Code of Conflict a přidání souboru s Contributor Covenant Code of Conduct vycházejícího z Contributor Covenant. Vývoj Linuxu 4.19 dokončí Greg Kroah-Hartman. Linus Torvalds si bere volno a bude pracovat na svém chování. Pravděpodobně vylepší svého poštovního klienta, aby mu nedovolil odesílat emaily obsahující nadávky.

Ladislav Hagara | Komentářů: 54
Na optické médium (CD, DVD, BD aj.) jsem naposledy vypaloval(a) data před méně než
 (13%)
 (15%)
 (20%)
 (23%)
 (25%)
 (4%)
 (1%)
Celkem 359 hlasů
 Komentářů: 33, poslední 16.9. 11:55
Rozcestník

Xen - základy virtualizácie

19. 11. 2008 | Ivan Dirbák | Systém | 12945×

Xen je open-source virtualizačný software určený pre linuxové hostiteľské systémy. Článok obsahuje zakladný popis princípov virtualizácie a paravirtualizácie, rovnako ako možnosti realizácie virtualizácie pomocou Xenu.

Úvod

Vznikol na univerzite Cambridge (UK) odštiepením od projektu Xenoserver určenom k vývoju infraštruktúry pre distribuovaný výpočet. Prvá verzia XENu (1.0) bola uvoľnená v roku 2003. V súčasnosti existuje už verzia XEN 3.3. ktorá sa  využíva v rozličných komerčných prostrediach na beh štandardných ale aj bussiness critical aplikácií. V tomto článku popíšem základné princípy virtualizácie prostredníctvom virtualizačného software XEN.

Virtualizácia a požiadavky na ňu kladené

Virtualizácia umožňuje simultánny beh niekoľkých virtuálnych mašín (VM) na jednom fyzickom hardware, pričom je zaručená ich vzájomná izolácia. Keďže VM zdieľajú spoločný prístup k HW, musí byť virtualizácia navrhnutá tak, aby pri tomto zdieľaní došlo k minimálnemu poklesu výkonu. Z administrátorského hľadiska by bolo vhodné zabezpečiť centrálnu administráciu virtuálnych mašín a dynamickú relokáciu zdrojov prípadne samotných VM bez toho, aby došlo k prerušeniu služieb. Vzhľadom k operačnému systému bežiacom na samotných virtuálnych VM by mal byť virtualizačný software navrhnutý tak, aby nebola nutná jeho modifikácia.

Privilegovaný režim procesora

Súčasné procesory dokážu bežať v rôznych režimoch z dôvodu ochrany proti neautorizovanému prístupu k fyzickému procesoru a hardware (reálny, privilegovaný, nereálny mód, virtuálny reálny režim ai.). Z pohľadu virtualizácie nás najviac zaujíma privilegovaný režim procesora. Tento režim vytvára tzv. chránené úrovne, označované tiež ako kruh (ring). Procesory x86 rozoznávajú štyri kruhy, ktoré sú číslované od 0 do 3 (viz Obr. 1). Najnižší - kruh0 - je označovaný aj ako “supervisor mode“ a je to úroveň s najväčšími privilégiami vzhľadom k prístupu k hardwarovým prostriedkom. Na tejto úrovni beží jadro operačného systému, správa pamäti, kontrola prístupu k HW a privilegované inštrukcie, tzn. inštrukcie, ktoré môžu ohroziť beh systému. Kruh 1 a 2 sa používajú minimálne, kruh3 je označovaný ako „user mode“ a je určený pre beh neprivilegovaných inštrukcií, tj. užívateľských aplikácií.

xen 1: Úrovne privilegovaného režimu
Obr. 1: Úrovne privilegovaného režimu.

Xen

Pri virtualizácií prostredníctvom virtualizačného software XEN dochádza k niekoľkým zmenám oproti predchodziemu popisu. Jadro operačného systému nebeží v supervisor mode, ale na menej privilegovanej úrovni v závislosti na tom, či je použitá 32bit. architektúra (kruh1), alebo 64bit. (kruh3). Keďže je jadro OS presunuté, dochádza k závažnému problému s vykonávaním privilegovaných inštrukcií – tie samozrejme nie je možné spúšťať na úrovni kruhu 1 resp. 3. Pokus o ich spustenie by vyvolal chybový stav. Jedným z riešení by mohol byť prechod do kruhu0, kde by sa vykonala operácia s následným návratom. Toto riešenie však znamená značnú degradáciu výkonu. XEN na rozdiel od predchodzieho riešenia využíva paravirtualizáciu. Pre vykonávanie privilegovaných inštrukcií je v kruhu0 zavedená vrstva označovaná ako hypervisor (viz Obr. 2), ktorý je akýmsi sprostredkovateľom medzi hardware a virtuálnymi mašinami XENu.

xen 2: XEN a začlenenie jeho komponentov v úrovniach privilegovaného režimu
Obr. 2: XEN a začlenenie jeho komponentov v úrovniach privilegovaného režimu.

Hypervisor spolu s modifikovaným kernelom operačného systému nielenže spravuje prístup k pamäti a ostatnému hardware, ale slúži aj k monitorovaniu a administrácií virtuálnych mašín. Tento modifikovaný kernel sa nazýva domain0 (v skratke dom0). Domain0 následne spúšťa ďalšie tzv. neprivilegované domény označované aj ako domainU (v skratke domU). Detailné informácie o každej domU sú uložené v konfiguračnom súbore domény (konfigurácia siete, grafická podpora, pamäť, plánovač ai.). Konfiguračný súbor taktiež poskytuje mechanizmus pre priradenie jedného alebo viacerých CPU k danej doméne, aby zabezpečil, že v prípade potreby vyšších výpočetných nárokov bude doméne priradene priradená adekvátna výpočetná sila.

xen 3: Základné komponenty virtualizácie pomocou XENu
Obr. 3: Základné komponenty virtualizácie pomocou Xenu.

Podobne ako aplikácia komunikuje s operačným systémom prostredníctvom systémových volaní, komunikujú domU s hypervisorom prostredníctvom volaní označovaných ako hypercally. Jedná sa o softwarové volania, ktoré sú reakciou napr. na potrebu vykonania privilegovaných operácií. V prípade, že procesor hardwarovo nepodporuje virtualizáciu, označuje sa domU ako „paravirtual guest“. V tomto prípade je nutné modifikovať operačný systém tak, aby zabraňoval spusteniu privilegovaných operácií a v prípade potreby vykonania týchto operácií volal hypervisor pomocou hypercallov. Tento proces je naznačený na obrázku 4.

xen 4: Porovnanie vykonávania privilegovaných operácií v paravirtualizovanom a natívnom móde
Obr. 4: Porovnanie vykonávania privilegovaných operácií v paravirtualizovanom a natívnom móde.

Moderné procesory ako Intel VM (Virtualization technology, aka vanderpool), a AMD-V/SVM(Virtualization/Secure Virtual Nachine, aka pacifica), obsahujú hardwarovú podporu virtualizácie. Týmto pridávajú sadu nových inštrukcií pre podporu virtualizácie na úrovni Kruh1. Výsledokom je, že nie je nutná zmena OS a teda dochádza k plnej virtualizácií.

V prípade simultánneho behu viacerých domU plánovač hypervisoru zisťuje, ktorá VM má mať pridelený fyzický procesor a v akom poradí. XEN spočiatku podporoval plánovače round robin a bvt (borrowed virtual time). Tieto však boli postupom času odstranené a nahradené plánovačmi sedf a credit (pridelenie na základe výsledkov merania), ktoré využíva XEN verzie 3.x. Výber plánovača sa volí ako parameter v konfiguračnom súbore Grub loadera (pozn. Grub je jediný bootloader podporovaný XENom). Okrem samotného plánovača hypervisora každá VM implementuje svoju vlastnú politiku plánovania pre procesy bežiace vo vnútri domény k poskytovaniu I/O požiadaviek vo vnútri jadra (SCHED_FIFO, SCHED_NORMAL, SCHED_BATCH, SCHED_RR).

Záver

Zmeny OS vyžadované pre interakciu s hypervisorom nemenia vyšší level kernelu (nieje nutné modifikovať aplikácie) ale len kernel level kód, ako napríklad drivery zariadení. Dochádza teda k paravirtualizácii, čím je zaručený minimálny pokles výkonu virtuálnych mašín. Do doby, kým nebola pridaná HW podpora virtualizácie, bolo možné púšťať len 32bit. XEN domU na fyzickom hoste, ktorý bežal na 32bit. hypervisore a dom0. S nástupom HW podpory virtualizácie zavádzajúcej kruh1 umožňuje XEN aj podporu plnej virtualizácie. Výsledokom je, že XEN podporuje 32 a 64bit. virtuálne mašiny rôznych typov na jednom systéme bez nutnosti modifikácie OS.

Nie som špecialista na virtualizáciu, avšak táto téma je hodne zaujímavá, preto by som v prípade nejakých nepresností poprosil o pripomienky.

Nejčtenější články posledního měsíce

Microsoft Office 2016 Professional Plus za méně než 570 korun!
Jaderné noviny – 30. 8. 2018: Druhá polovina začleňovacího okna 4.19
Jaderné noviny – 16. 8. 2018: Jak je důležité míti šum

Nejkomentovanější články posledního měsíce

Jaderné noviny – 16. 8. 2018: Jak je důležité míti šum
Týden na ITBiz: Blockchain jako bezpečnostní riziko
Jaderné noviny – 30. 8. 2018: Druhá polovina začleňovacího okna 4.19
  všechny statistiky »

Související články

Seriál: Virtualizace na úrovni jádra
Virtuální linuxový server - User Mode Linux
Solaris 10 a zóny
Jaderné noviny: Souborové kvalifikace
Jaderné noviny: KVM 15
Jaderné noviny: Vývoj KVM
Jaderné noviny: /dev/kvm
Jaderné noviny: Patche Xen
Jaderné noviny: Kontejnery procesů
Jaderné noviny: Připojení Linuxu k hypervisorům
Jaderné noviny: Virtualizační rozhraní VMI
Jaderné noviny: Kontejnery a odlehčená virtualizace
Jaderné noviny: API pro virtuální I/O: virtio
Jaderné noviny: Virtuální čas
Jaderné noviny: OpenVZ a checkpointing za běhu
Jaderné noviny: Zdroje: má dáti, dal
VMware 4.0
VMWARE - recenze knihy

Odkazy a zdroje

xen.org

Další články z této rubriky

Paralelizace běžných činností v konzoli pomocí GNU Parallel
Unixové nástroje – 26 (triky pro práci v Bashi)
Unixové nástroje – 25 ((s,c)fdisk, gdisk, parted a findmnt)
Linux: systémové volání splice()
Bootování ze sítě: pxelinux a kořenový adresář na NFS
       

Hodnocení: 91 %

        špatnédobré        

Nástroje: Tisk bez diskuse

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

19.11.2008 03:37 Láďa | skóre: 9
Rozbalit Rozbalit vše Re: Xen - základy virtualizácie
Skvělé, jenom škoda že Xen už není virtualizační hvězda jako býval - seriál by byl hned mnohem zajímavější. V současné době má přece jenom mnohem zářivější budoucnost KVM, jednak protože je podporováno dvěmi nejvýraznějšími distribucemi (Redhat a Ubuntu) a druhák protože je oblíbené mezi Linuxovými hackery.
19.11.2008 07:01 Pavel F.
Rozbalit Rozbalit vše Re: Xen - základy virtualizácie
KVM má možná budoucnost, ale v současnosti bych stále volil Xen, zejména pro mission-critical aplikace. Xen bych nazval vyzrálým systémem, kde dnes můžeme sklízet plody, u KVM uvidíme za jeden, dva roky, kam nám doroste.
Nikola Ciprich avatar 19.11.2008 08:17 Nikola Ciprich | skóre: 23 | blog: NiX_blog | Palkovice
Rozbalit Rozbalit vše Re: Xen - základy virtualizácie
na zaklade ceho byste oznacil XEN za vyzralejsi, zvlaste pro mission-critical aplikace? ze svych zkusenosti bych rekl ze mnohem bezproblemovejsi je KVM, at uz z hlediska funkcnosti, tak i z hlediska diagnostiky chyb, odezvy vyvojaru, celkove koncepce vyvoje atd...
Did you ever touch the starlight ? Dream for a thousand years? Have you ever seen the beauty Of a newborn century?
Black.Stone avatar 19.11.2008 20:20 Black.Stone | skóre: 7
Rozbalit Rozbalit vše Re: Xen - základy virtualizácie
treba tim ze je nejakou dobu XEN v RHEL supportovany? Nebo snad nekdo nasazuje mission-critical aplikace na nesupportovany SW/HW?
20.11.2008 08:40 xm | skóre: 36 | blog: Osvobozený blog | Praha
Rozbalit Rozbalit vše Re: Xen - základy virtualizácie
Představ si, že na mission-critical aplikace se používá i třeba takový Debian.
Svoboda je tím nejdůležitějším, co máme. Nenechte se o ní připravit, podporujte Pirátskou stranu!
19.11.2008 17:06 xm | skóre: 36 | blog: Osvobozený blog | Praha
Rozbalit Rozbalit vše Re: Xen - základy virtualizácie
Já bych naopak za mnohem vyzrálejší řešení nazval KVM (a to přesto, že je mnohem mladší - i to něco vypovídá o jeho kvalitách).
Svoboda je tím nejdůležitějším, co máme. Nenechte se o ní připravit, podporujte Pirátskou stranu!
19.11.2008 22:37 SAL
Rozbalit Rozbalit vše Re: Xen - základy virtualizácie
XEN stale vedie, ale je fakt, ze KVM sa v poslednom case vyvija velmi rychlo a naopak XEN dost pomaly.

KVM stale postrada:
  - live migraciu (migraciu za behu virtualneho systemu)
  - paravirtualizacia je stale v plienkach. Paravirtualne ovladace disku/sietovky znacne urychluju beh. Paravirtualne servery nepotrebuju podporu virtualizacie v HW.
  - nejaka vhodne nastroje na spravu virtualnych serverov (start, stop, restart, pripojenie na konzolu, ...) su v plienkach
  - sprava zariadeni v KVM je tiez dost obmedzena
Co sa tyka virtualizacie na desktope, tak KVM urcite vedie. Co sa tyka virtualizacie na servri, tak Xen stale vedie.
20.11.2008 02:12 Láďa | skóre: 9
Rozbalit Rozbalit vše Re: Xen - základy virtualizácie
- Live migraci KVM umí.

- Díky virtio je výkon KVM při komunikaci s hostem výborný. A HW bez podpory virtualizace jsou už muzejní kousky.

- libvirt vyvíjený Redhatem je dost dobře použitelný. Sériová konzole je trabl, na druhou stranu VNC do guesta funguje skvěle.

Virtualizace na desktopu je spíš doménou produktů jako VirtualBox nebo VMware, které se zaměřují na pohodlí a už tolik neřeší výkon. Xen samozřejmě je v tuhle chvíli napřed, protože je déle podporovaný Redhatem a Novellem a protože tu jednoduše byl dřív. Ale třeba u Redhatu to může být otázka jenom do vydání RHEL 6, protože je jasné, že po zaplacení 107 mil. USD za Quamranet sotva budou pokračovat ve výrazné podpoře Xenu (už dříve koupeného Citrixem za 500 mil. USD - skvělý obchod).
19.11.2008 10:13 miso | skóre: 36 | blog: iSCSI_initiator_howto | Praha
Rozbalit Rozbalit vše Re: Xen - základy virtualizácie
Prosim no flame - ako Ubuntu podporuje XEN?
Project Satan infects Calculon with Werecar virus
19.11.2008 10:14 miso | skóre: 36 | blog: iSCSI_initiator_howto | Praha
Rozbalit Rozbalit vše Re: Xen - základy virtualizácie
... samozrejme som myslel KVM ;-)
Project Satan infects Calculon with Werecar virus
19.11.2008 14:00 Láďa | skóre: 9
Rozbalit Rozbalit vše Re: Xen - základy virtualizácie
Víc info tady. Z vlastní zkušenosti můžu říct, že nástroj ubuntu-vm-builder není tak dotažený jako xen-tools, ale samotný běh KVM je bezproblémový.
19.11.2008 14:59 miso | skóre: 36 | blog: iSCSI_initiator_howto | Praha
Rozbalit Rozbalit vše Re: Xen - základy virtualizácie
Ale nepytal som sa ci preferuje, ale ako ho podporuje ...(nieco taketo)
Inak suhlasim, ze KVM ma nabeh zatienit XEN, ale ten den este neprisiel
Project Satan infects Calculon with Werecar virus
19.11.2008 16:32 Láďa | skóre: 9
Rozbalit Rozbalit vše Re: Xen - základy virtualizácie
Podporovat má dva významy - do oblíbené diskuze jestli Ubuntu dostatečně přispívá do upstreamu nechci zabíhat ;-)
nettezzaumana avatar 19.11.2008 16:21 nettezzaumana | skóre: 3
Rozbalit Rozbalit vše Re: Xen - základy virtualizácie
hmm .. nestacil by priste misto takto pozoruhodneho clanku jen odkaz na wiki ??

nechci rejpat, ale informacni hodnota mi pripada miziva ..

regards
nettezzaumana avatar 19.11.2008 16:23 nettezzaumana | skóre: 3
Rozbalit Rozbalit vše Re: Xen - základy virtualizácie
pouzivame ve firme Xen i kvm a mohu prohlasit, ze s KVM jsme nemeli diky bohu jediny problem a me osobne pripada transparentnejsi, efektivnejsi a ve virtualizaci linuxoveho kernelu temer spolehlivejsi nez Xen ..

19.11.2008 10:50 Kerala
Rozbalit Rozbalit vše Re: Xen - základy virtualizácie
Předpokládám, že MS Hyper-V vychází z XENu, takže XEN nemusí být jenom pro linux.
xxxs avatar 19.11.2008 10:51 xxxs | skóre: 18 | blog: vetvicky
Rozbalit Rozbalit vše Re: Xen - základy virtualizácie
esteticke chybicky:

označovaných ako hypercalli -y

potrebu vykonanie -vykonania

nieje -nie je

kernel level kod -kód

Dochádza teda k paravirtualizácií -cii

virtualne mašiny -virtuálne

Niesom -nie som

clanok sa mi pacil.
19.11.2008 15:03 Stevko
Rozbalit Rozbalit vše Re: Xen - základy virtualizácie

predchodziemu -> predchádzajúcemu/predošlému

A nejak sa strácam v článku (a asi aj v problematike). Viackrát je tam spomenutý operačný systém (a že ho treba nejak upravovať), ale neviem, či hostiteľský (ak tam vôbec niečo také je) alebo ten vo virtuálnom stroji.

Luboš Doležel (Doli) avatar 20.11.2008 11:19 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Xen - základy virtualizácie
Opraveno.
19.11.2008 18:48 artec | skóre: 24
Rozbalit Rozbalit vše Re: Xen - základy virtualizácie
Informacni hodnota clanku mi prijde uplne nulova ve srovnani s tim, co vyslo asi pred rokem a pul na rootu. Bude mit clanek nejake pokracovani s nejakou praktickou casti?
20.11.2008 22:15 dannak
Rozbalit Rozbalit vše Re: Xen - základy virtualizácie
Nemate nekdo, prosim, tuseni, jestli ve VM v XENu, kdyz budu mit procak s HW virtualizaci (Core i7), pujde accelerace videa ? resp. pristup k HW ? jde mi o programovani v CUDE (grafika NV9500GT), ne tak o video acceleraci, ikdyz i to by bylo prijemny.

Nebo by melo spis smysl mit jako "podvozek" treba Gentoo64bit a v tom nekolik masin v KVM ? chci jednu VM na databazi, druhou na WWW server, treti na windowsy a mozna jeste jedna se bude hodit na hrani... Diky, s virtualizaci mam zatim zkusenosti jen s VMWare-serverem (ne ESX(i)) a VirtualBoxem, XEN ani KVM jsem zatim nestudoval a neznam :( takze, prosim o radu. diky

Založit nové vláknoNahoru

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.