abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 18:00 | IT novinky

    DuckDuckGo AI Chat umožňuje "pokecat si" s GPT-3.5 Turbo od OpenAI nebo Claude 1.2 Instant od Anthropic. Bez vytváření účtu. Všechny chaty jsou soukromé. DuckDuckGo je neukládá ani nepoužívá k trénování modelů umělé inteligence.

    Ladislav Hagara | Komentářů: 1
    včera 14:22 | IT novinky

    VASA-1, výzkumný projekt Microsoftu. Na vstupu stačí jediná fotka a zvukový záznam. Na výstupu je dokonalá mluvící nebo zpívající hlava. Prý si technologii nechá jenom pro sebe. Žádné demo, API nebo placená služba. Zatím.

    Ladislav Hagara | Komentářů: 3
    včera 04:44 | Nová verze

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 140 (pdf) a HackSpace 77 (pdf).

    Ladislav Hagara | Komentářů: 0
    včera 01:00 | Nová verze

    ESPHome, tj. open source systém umožňující nastavovat zařízení s čipy ESP (i dalšími) pomocí konfiguračních souborů a připojit je do domácí automatizace, například do Home Assistantu, byl vydán ve verzi 2024.4.0.

    Ladislav Hagara | Komentářů: 0
    18.4. 22:11 | IT novinky Ladislav Hagara | Komentářů: 0
    18.4. 20:55 | Nová verze

    Neziskové průmyslové konsorcium Khronos Group vydalo verzi 1.1 specifikace OpenXR (Wikipedie), tj. standardu specifikujícího přístup k platformám a zařízením pro XR, tj. platformám a zařízením pro AR (rozšířenou realitu) a VR (virtuální realitu). Do základu se z rozšíření dostalo XR_EXT_local_floor. Společnost Collabora implementuje novou verzi specifikace do platformy Monado, tj. open source implementace OpenXR.

    Ladislav Hagara | Komentářů: 2
    18.4. 17:22 | Nová verze

    Byla vydána nová verze 0.38.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 4.4 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 13
    18.4. 17:11 | Nová verze

    ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzích 1.3.1, 1.2.3 a 1.0.6. Ve verzi 1.3.1 je mimo jiné řešena bezpečnostní chyba CVE-2024-20380.

    Ladislav Hagara | Komentářů: 2
    18.4. 12:11 | IT novinky

    Digitální a informační agentura (DIA) oznámila (PDF, X a Facebook), že mobilní aplikace Portál občana je ode dneška oficiálně venku.

    Ladislav Hagara | Komentářů: 10
    18.4. 05:11 | Komunita

    #HACKUJBRNO 2024, byly zveřejněny výsledky a výstupy hackathonu města Brna nad otevřenými městskými daty, který se konal 13. a 14. dubna 2024.

    Ladislav Hagara | Komentářů: 2
    KDE Plasma 6
     (68%)
     (11%)
     (2%)
     (20%)
    Celkem 566 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Xen - základy virtualizácie

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

    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.

           

    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: 25 | 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.