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í
×
    31.5. 23:55 | Nová verze

    Byla vydána nová stabilní verze 24.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Uakari. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

    Ladislav Hagara | Komentářů: 0
    31.5. 17:33 | Nová verze

    Byla vydána nová verze 1.48.0 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se v příspěvku na blogu NetworkManageru věnuje Fernando F. Mancera. Mimo jiné se v nastavení místo mac-address-blacklist nově používá mac-address-denylist.

    Ladislav Hagara | Komentářů: 10
    31.5. 17:11 | Komunita

    Před 25 lety, 31. května 1999, započal vývoj grafického editoru Krita (Wikipedie). Tenkrát ještě pod názvem KImageShop a později pod názvem Krayon.

    Ladislav Hagara | Komentářů: 3
    31.5. 12:55 | Nová verze

    Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 24.05.0 editoru videa Kdenlive (Wikipedie). Ke stažení brzy také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    31.5. 11:22 | Zajímavý článek

    David Revoy, autor mj. komiksu Pepper&Carrot, se rozepsal o své aktuální grafické pracovní stanici: Debian 12 Bookworm, okenní systém X11, KDE Plasma 5.27, …

    Ladislav Hagara | Komentářů: 9
    30.5. 22:44 | Nová verze

    Wayland (Wikipedie) byl vydán ve verzi 1.23.0. Z novinek lze vypíchnout podporu OpenBSD.

    Ladislav Hagara | Komentářů: 0
    30.5. 21:22 | Zajímavý článek

    Craig Loewen na blogu Microsoftu představil novinky ve Windows Subsystému pro Linux (WSL). Vypíchnout lze GUI aplikaci pro nastavování WSL nebo správu WSL z Dev Home.

    Ladislav Hagara | Komentářů: 0
    30.5. 12:44 | Pozvánky

    V sobotu 1. června lze navštívit Maker Faire Ostrava, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    30.5. 12:22 | Nová verze

    Webový server Caddy (Wikipedie) s celou řadou zajímavých vlastností byl vydán ve verzi 2.8 (𝕏). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 15
    29.5. 22:11 | Nová verze

    Byla vydána verze 3.0 (@, 𝕏) svobodného softwaru HAProxy (The Reliable, High Performance TCP/HTTP Load Balancer; Wikipedie) řešícího vysokou dostupnost, vyvažování zátěže a reverzní proxy. Detailní přehled novinek v příspěvku na blogu společnosti HAProxy Technologies.

    Ladislav Hagara | Komentářů: 7
    Rozcestník

    Virtualizace na úrovni jádra operačního systému

    31. 7. 2007 | Jaroslav Tomeček | Systém | 14925×

    S virtualizacemi se poslední dobou jakoby roztrhl pytel. Obvykle při ní simulujeme činnost nebo funkčnost celého hardwaru - vytváří se virtuální stroj nebo speciální přístup k fyzickému stroji. Takový způsob s sebou však nese i vyšší režijní ztráty a malou míru sdílení zdrojů. Tento problém řeší virtualizace na úrovni jádra operačního systému (kernel-level virtualization).

    Seriál, jehož první díl čtete, popíše dva nástroje virtualizace na úrovni jádra operačního systému - Linux-VServer a OpenVZ. Ukážeme si jejich instalaci a základní konfiguraci. OpenVZ se minulý rok stal součástí distribucí Debian a Mandriva a Linux-VServer je základem celoplanetárního gridu PlanetLab. I to ukazuje, že si pozornost zaslouží.

    Virtualizace

    Co je vlastně virtualizace? Požadavky správců a uživatelů na víceúlohové a víceuživatelské operační systémy vedou k vývoji a zdokonalování metod souběžné obsluhy procesů a uživatelů, které využívají virtualizaci. Jedná se o mechanismus, pomocí něhož dosáhneme určitého stupně abstraktního stroje s abstraktním hardwarem. Pro hardwarový zdroj, který je v počítači obsažen pouze jako jedna fyzická instance, je možné vytvořit více virtuálních instancí, stejně jako zprostředkovat hardwarový zdroj, který se vyskytuje ve více fyzických instancích jako jedno virtuální zařízení. Přistupovat k hardwaru pak můžeme jednodušším způsobem, než jak je fyzicky zapojen a skryjeme tak pro uživatele nepodstatné informace.

    Samotné metody abstrakce hardware směřují už od 60. let 20. století k vytvoření celých virtuálních strojů postavených na kombinaci hardwarových a softwarových technik. Jeden fyzický stroj by pak mohl obsluhovat řádově až stovky virtuálních strojů. Metoda kombinuje myšlenku sdílení systémových prostředků a izolovanosti jednotlivých virtuálních prostředí. Výhodou virtuálního stroje je možnost sestavení celého operačního systému na míru každému uživateli, který takový počítač používá, bez toho, aby se operační systémy vzájemně ovlivňovaly, a aby byla systémová režie příliš vysoká. Každý operační systém by měl být plně funkční bez jakéhokoliv omezení.

    Běh virtuálních strojů vyžaduje vyřešení mnoha problémů. Vlastní virtualizační systém musí mít plánovač, který bude schopný spravovat požadavky operačních systémů. Zabezpečuje, aby činnost jednoho operačního systému nebyla ovlivněna činností ostatních systémů. Z pohledu virtualizačního nástroje dochází k přepínání kontextu celých OS. Algoritmus plánování přístupu k hardwaru řeší vícenásobný přístup k systémovým zařízením. Dalším problémem je ošetření komunikace mezi virtuálními stroji. Například správné doručování příchozích paketů z vnější sítě a jejich pohyb mezi běžícími systémy by mělo být rychlé, ale zároveň nesmí příliš snižovat výkon počítače.

    Nejčastěji se virtualizace dosahuje zavedením softwarového rozhraní mezi vlastním OS a fyzickým hardwarem. Tato vrstva komunikuje s fyzickým a vytváří virtuální hardware pro běžící operační systémy a obsluhuje jejich požadavky. Existuje více metod, jak dosáhnout robustního systému, který bude schopen kvalitně plnit svoji funkci. Wikipedia uvádí tyto typy virtualizací:

    • Aplikační virtualizace – Zástupcem je například Java Virtual Machine. Jedná se o speciální, na platformě závislé API, které zprostředkovává komunikaci mezi hardwarem. Jeho prostřednictvím provozujeme na platformě nezávislou aplikaci, kterou pak můžeme spustit i na jiné architektuře, než na které byla napsána. Vlastní kód programu se interpretuje pomocí virtuálního stroje.
    • Simulace nebo emulace – Nástroje umožňují spustit operační systémy, které nejsou původně určeny pro architekturu fyzického systému. Využívá se dynamické reinterpretování kódu virtuálního stroje. Virtuální prostředí vytváří kompletní virtuální hardware a umožňuje spustit nemodifikovaný operační systém, který může být určen i pro jinou architekturu než fyzický stroj. Metoda je používána k vývoji aplikací pro procesory, které ještě nejsou na trhu, a známá je pouze jejich specifikace, nebo k simulaci prostředí jiných architektur. Příklady jsou Bochs, PearPC, Qemu (bez akceleračního modulu) a emulátor Hercules.
    • Úplná virtualizace – Nástroje úplné virtualizace vytvářejí kompletní virtuální hardware. Umožňují spouštění neupravených OS stejné architektury jako fyzický počítač. Virtuální stroje nekomunikují přímo s fyzickým hardwarem, ale jejich požadavky odeslané virtuálním zařízením jsou zpracovány a předány fyzickým zařízením. Příklady jsou Virtual Iron, VMware Server, VMware Workstation, Win4Lin, KVM a další.
    • Paravirtulizace – Nevytváří se kompletní virtuální hardware, nástroje pouze umožňují komunikovat upravenému jádru virtualizovaného operačního systému s fyzickým hardwarem přes speciální API upraveného jádra hostitelského systému. Systémová volání probíhají přes hypervisor (odtud název hypervisory používaný pro paravirtualizační nástroje). Nejznámějším zástupcem nejen této skupiny určeným pro Linux je Xen. Dalšími jsou VMware ESX Server nebo Win4Lin 9x. Systémy na bázi paravirtualizace dosahují vysoké efektivity.
    • Virtualizace na úrovni jádra operačního systému – K virtualizaci dochází až na úrovni operačního systému. Rozšiřuje obsluhu procesů jádrem na celé skupiny procesů – kontexty. Využívá částí virtualizovaných operačních systémů, které by se při plné virtualizaci nebo paravirtualizaci vyskytovaly vícekrát. Provozované servery sdílí jádro OS a jeho služby. Metoda umožňuje provoz více instancí stejných operačních systémů určených pro stejnou architekturu jako hostitelský systém. Technika kombinuje princip izolace, který je jedním z požadavků virtualizace OS, a sdílení, díky kterému systémy dosahují vysoké efektivity. Příklady jsou FreeBSD Jails, Solaris Containers, Virtuozzo, OpenVZ a Linux-VServer. Mechanismus dosahuje při běhu virtuálního systému téměř stejné efektivity jako jeho běh v nevirtuálním prostředí.

    Virtualizace na úrovni jádra operačního systému

    Virtualizace na úrovni jádra operačního systému je společně s paravirtulizací považována za nejefektivnější typ virtualizace. Virtualizovaná prostředí běží nad společným jádrem, které má přímý přístup k fyzickému hardwaru, tudíž se nevytváří virtuální zařízení ani speciální přístupové API. Režijní ztráty jsou způsobeny pouze oddělením procesů, diskových prostorů a síťového provozu serverů.

    V seriálu se zaměříme na využitelnost systémů pracujících na tomto principu a podíváme se na specifické vlastnosti, například dynamické změny omezení systémových zdrojů.

    Paravirtualizační prostředí, zastoupené například systémem Xen, nabízejí plnou izolovanost virtuálně běžících OS. V případech, kdy provozujeme více stejných operačních systémů, se však stává celý systém neefektivním, protože některé části operačních systémů běží vícenásobně. Naproti tomu při virtualizaci na úrovni jádra běží všechny virtuální servery nad jedním jádrem. Celý mechanismus pouze rozšiřuje služby jádra OS tak, aby byly schopné odizolovat jednotlivé související skupiny procesů nazývané sekce nebo kontexty a k nim příslušné diskové souborové systémy. V systémech typu unix lze technologii považovat za rozšíření mechanismu chroot. Výhodou řešení je výrazné snížení režijních ztrát (např. pouze 1 - 3 % u OpenVZ) a nutnost upravit pouze jádro hostitelského systému.

    Následující obrázek ilustruje princip úplné virtualizace, simulace a paravirtualizace.

    Úplná virtualizace/paravirtualizace

    Druhý obrázek ukazuje, jak pracuje virtualizace na úrovni jádra operačního systému.

    Virtualizace na úrovni jádra OS

    Systém umožňuje měnit limity systémových prostředků za běhu virtuálních serverů, což bývá u paravirtualizace obtížné nebo často nemožné. Na rozdíl od systému Xen můžeme dynamicky zvyšovat i snižovat hodnoty hardwarového nastavení virtuálních serverů. Tyto nástroje alokují potřebné hardwarové prostředky již při startu serveru a následná změna by vyžadovala spolupráci virtualizovaného OS. Naproti tomu Linux-VServer a OpenVZ přistupují k serverům jako k procesům, kterým můžeme v Linuxu přidělení hardwarových prostředků snadno měnit. Nevýhodou je možnost provozovat pouze operační systémy stejného typu jako upravené jádro, avšak s různými knihovnami a popřípadě různé distribuce.

    Virtuální stroje založené na virtualizaci na úrovni jádra jsou využívány pro testování software na různých distribucích. Programátor nemusí instalovat celý operační systém, stačí jen potřebné knihovny dané distribuce a programy nutné pro běh virtuálního serveru a testovaného programu. Změna OS je pak otázkou několika málo minut.

    V samostatném prostředí může běžet antivirus a firewall nezávisle na uživatelském serveru. Bezpečnostní software pak není negativně ovlivněn procesy provozovanými uživateli. Technologii lze použít pro provoz gridů se stejnými, ale na míru upravenými OS.

    Systém využívají také firmy poskytující provoz, pronájem a prodej serverů. Každý zákazník si upraví server podle svých představ bez ohledu na ostatní uživatele. Poskytovatel služby však může provozovat více virtuálních na jednom fyzickém serveru. Sníží značně náklady a správa takového systému je také podstatně jednodušší. Tento nepříliš náročný způsob virtualizace je výhodný pro výuku. Každý student má k dispozici vlastní server. Chybný úkon však neznamená poškození vlastního operačního systému nebo hardwaru.

    Nyní již víme, co je virtualizace a virualizace na úrovni jádra OS, a v příštím díle se podíváme na instalaci Linux-VServeru.

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

    Týden na ITBiz: Kvalita a přesnost dat generovaných AI rozhodne o důvěře zaměstnanců v umělou inteligenci
    Týden na ScienceMag.cz: Působivá simulace pádu do černé díry
    Květnový výprodej na Goodoffer24 nabízí Windows 11 Pro za €20 a mnoho dalších slev

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

    Týden na ScienceMag.cz: Kosmologové se opět zkouší vypořádat se s problémem Hubbleovy konstanty
    Týden na ITBiz: Platby výkupného za ransomware vzrostly za poslední rok na pětinásobek
    Jaderné noviny – přehled za duben 2024
      všechny statistiky »

    Seriál Virtualizace na úrovni jádra (dílů: 8)

    Virtualizace na úrovni jádra operačního systému (první díl)
    »—> Linux-VServer - instalace a spuštění
    Linux-VServer - správa výpočetních zdrojů (poslední díl)

    Související články

    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
    Chroot prostředí

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

    Úvod do Dockeru (1)
    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()
           

    Hodnocení: 100 %

            š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ář

    31.7.2007 12:04 polish
    Rozbalit Rozbalit vše Re: Virtualizace na úrovni jádra operačního systému
    tesim se na popis openvz
    pit0 avatar 31.7.2007 12:39 pit0 | skóre: 8
    Rozbalit Rozbalit vše Re: Virtualizace na úrovni jádra operačního systému
    Pekny clanok a pripajam, sa k radujucim sa. Tesim sa na pokracovanie!
    31.7.2007 15:13 skywaker
    Rozbalit Rozbalit vše Re: Virtualizace na úrovni jádra operačního systému
    niekde som cital ze dragonflybsd je prve bsdcko co podporuje Vkernel teda virtualkernel po vzoru KVM v linuxu...
    31.7.2007 18:17 martink
    Rozbalit Rozbalit vše Re: Virtualizace na úrovni jádra operačního systému
    I linux-vserver je součástí Debianu, viz třeba http://packages.debian.org/stable/net/util-vserver a http://packages.debian.org/stable/admin/linux-image-vserver-686
    1.8.2007 16:02 Jan Zapletal
    Rozbalit Rozbalit vše Re: Virtualizace na úrovni jádra operačního systému
    Ano, a na rozdil od OpenVZ se nemusi patchovat a kompilovat jadro (protoze jsou prislusne obrazy jader rovnou v archivu.) Z tohoto pohledu je tvrzeni, ze je OpenVZ soucasti Debianu pomerne usmevne.
    pushkin avatar 1.8.2007 09:43 pushkin | skóre: 43 | blog: FluxBlog
    Rozbalit Rozbalit vše Re: Virtualizace na úrovni jádra operačního systému
    Jeden dotaz, týkající se QEMU: pokud samostatné QEMU, provozované bez akceleračního modulu spadá do oblasti simulace / emulace, jak je to s kombinací QEMU+kqemu?
    stativ avatar 1.8.2007 19:21 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: Virtualizace na úrovni jádra operačního systému
    to je pak klasická virtualizace, jelikož už se pak neprovádí překlad instrukcí procesoru.
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    1.8.2007 10:41 Jiri Bajer | skóre: 34 | blog: Sarimuv koutek | Praha
    Rozbalit Rozbalit vše Re: Virtualizace na úrovni jádra operačního systému
    Pekny clanek, mozna by stalo za to ho jeste doplnit o povidani o HW virtualizaci (nPar u HP, fPar u IBM, domeny od SUNu) popr. pseudo-HW virtualizaci (vPar u HP) apod...
    Petr (DotaZ) Jakubec avatar 1.8.2007 13:43 Petr (DotaZ) Jakubec | skóre: 5
    Rozbalit Rozbalit vše Re: Virtualizace na úrovni jádra operačního systému
    pekny clanek, zajimavy... dika, urcite si prectu i pokracovani...

    jeste by mne zajimalo, kdyz se vam to autore tak pekne podarilo rozskatulkovat, jake vyhody ci nevyhody vsechna ta reseni maji.
    2.8.2007 15:57 Jaroslav Tomeček
    Rozbalit Rozbalit vše Re: Virtualizace na úrovni jádra operačního systému
    Já se odkazuji na wikipedii. Pouze jsem využil toho, co už někde je. Na wiki také naleznete výhody a nevýhody řešení.

    Založit nové vláknoNahoru

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