Hlavní navigace

Zbrusu nový hypervizor v OpenBSD napsaný na zelené louce

21. 12. 2015
Doba čtení: 5 minut

Sdílet

 Autor: Depositphotos
Je to konečně tady – nativní OpenBSD hypervizor je na světě. Virtuální stroj, který je (a hlavně se má stát) něčím mimořádným. Je totiž napsaný úplně od nuly a nabídne podporu i pro systémy staré, starší i nejstarší. Co nepůjde spustit přímo na „holém železe“, se může v budoucnu nastěhovat do vmm.

V dnešní době si bez virtualizace většina firem, ale i velká část běžných uživatelů, nedokáže představit život. Virtualizuje se síťové připojení, diskové systémy i celé stroje, a přesto v podstatě do letošních Vánoc byli uživatelé OpenBSD ponecháni bez efektivního virtuálního motoru. Jediné, co spolehlivě funguje, je Qemu, ovšem posledních cca 5 let je bez akcelerátoru, protože vývoj kqemu skončil a KVM je licencí GNU GPL a navíc velmi výrazně vázán na linuxový kernel (i když vývojáři Solarisu už KVM portovali).

To je opravdu s podivem, když systémový bratříček NetBSD (nebo spíše otec?), jehož kernel je velmi blízký OpenBSD, už před dlouhými roky implementoval Xen. Xen také dosud na NetBSD Xen spolehlivě funguje a to nejen jako paravirtualizační systém, ale i s HVM, tzn. plnou virtualizací, která dovolí běh i uzavřeným systémům jako Windows nebo OS X. Osobně na NetBSD několik takových Xen serverů provozuji a stabilitu si musím jen chválit.

Vývoj začal letos

To všechno se ale mění. Na hackatonu v Brisbane na jaře roku 2015 se vývojář Mike Larkin rozpovídal o konceptu virtuálního stroje, který měl už dlouho v hlavě. Ostatní vývojáře tím tak zaujal, že mu dokonce odsouhlasili financovat částečně vývoj ze zdrojů OpenBSD Foundation. Nadace získává peníze částečně prodejem instalačních CD s OpenBSD a částí z darů příznivců tohoto projektu. Tím byl vývoj odstartován.

Paradoxní na tom všem je, že vedení OpenBSD v čele s bojovným, vzteklým a velmi nekorektním, ale zároveň obdivuhodně schopným podivínem Theo De Raadtem, několikrát různé koncepty virtualizace (především pak právě Xen) odmítlo. Virtualizace prý podkopává bezpečnost, což bylo zdůvodněno ze všech možných pohledů na věc. Rýpaví kritici to také dnes nezapomněli Theovi a jeho hochům pěkně nahlas připomenout. Když si přečtete odpovědi týmu okolo Thea, máte dojem, že vystudovali sofistiku, práva i teologii. Musíte se usmívat, jak obratně vysvětlují, že to tenkrát tak a tak nemysleli a vlastně konzistentně tvrdí pořád to samé, akorát tenkrát hypervizor nechtěli a nyní ho chtějí.

Co tedy přesně nový hypervizor přináší? Především, stejně jako různý jiný zajímavý software z dílny vývojářů okolo OpenBSD, například relayd (httpd), opensmtpd, nebo libressl, má údajně vynikat jednoduchostí, čistotou kódu a přenositelností, navíc má podporovat i starší hardware. Když se podíváte na software, který okolo OpenBSD vzniká, musíte uznat, že něco na jejich tvrzení je. Ačkoli mnozí čekali, že dojde k portování B-Hyve z FreeBSD, což by mělo svou logiku, pustil se vývojář Mike Larkin do vývoje vlastního hypervizoru úplně od píky.

Velmi rychlý vývoj

Na blogu undeadly.org, kde OpenBSD prezentuje mnoho ze svých činností, nejdříve prosakovaly nejisté zprávičky a 1. září vyšlo závazné oznámení, že hypervizor se během podzimu skutečně do BSD kódu dostane. Následně v říjnu bylo možno číst, jak daleko se vývojář dostal a co už mu funguje. Dlouho ale odmítal zveřejnit kód. V listopadu 2015 přišel přelom: kód byl commitnut do zdroje OpenBSD-current (což je velmi zhruba něco jako Debian-testing, nebo Mageia cauldron, nebo poslední Fedora beta) a nyní ho mohou všichni zkoušet a začít hlásit chyby a zapojit se do vývoje.

Co už tedy funguje? Žádný kompletní VirtualBox à la BSD to není, ale vývoj je ukrutně rychlý. Na konci listopadu virtuálnímu stroji nazvanému nyní pouze prostě vmm chybělo v podstatě všechno – byl to jen kernel. Autor říkal přibližně toto: Nabootuje kernel a načte se souborový systém – teď můžete všichni začít testovat a očekávejte, že to bude padat…

Binárku spustíte na OpenBSD i386 nebo amd64, a ty samé architektury systému OpenBSD stroj dokáže virtualizovat (podpora i386 je ve chvíli psaní zase dočasně vypnutá). Autor kódu už oznámil, že už po jedné hodině práce rozběhl NetBSD, jehož API je velmi blízké OpenBSD, ale zatím tuto funkcionalitu oficiálně nenabízí. Na začátku prosince oznámil, že už běží X a síť. Zároveň ale z jeho poznámek vyplývá, že má rozpracováno spousty dalších částí, které do vmmctl (ovládací program) hodlá v nejbližší budoucnosti implementovat – zřejmě ale až po stabilizaci.

Jak rychlý je vývoj, si můžete prohlédnout už jen na tomto příkladu:

Tento návod na testování byl uveřejněný na internetu na konci listopadu. Tři týdny na to už si to ale nevyzkoušíte:

  • vmmctl se nově jmenuje jen vmctl
  • když chcete postupovat dle návodu, dočtete se, že:
# vmctl -e
unknown option "-e"

Když srovnáte tento obrázek s předchozím, vidíte evidentní pokrok:

Co bude dál? Otec projektu na svém blogu nastínil hrubě své nejbližší cíle a vize asi takto: podpora přímé hardwarové virtualizace bude pro primární použití, ale ne podmínkou Vysvětlil také, jak budou ostatní počítače bez přímé virtualizace emulovat potřebné prvky přes shadow RAM. Další věcí, kterou Larkin letmo nastínil je propojení vmm s Qemu, možná trochu podobně jako to dělá KVM. Larkin toho má v plánu určitě víc, ale ve svých vyjádřeních se drží spíše při zemi.

CS24_early

Jaký to má smysl?

Přemýšlivý čtenář si nemůže nepoložit otázku, jaký všechno to velké úsilí má význam – máme přece funkční VMWare, Xen, VirtualBox, qemu+KVM na Linuxu, Solarisu, FreeBSD a podobně? Jeden z cílů, který si vývojáři dali, když se rozhodli projekt podpořit z financí získaných prodejem instalačních CD, je podpora legacy hardware. I když nemáte zrovna nejmodernější poslední stroj s čtyřjádrovým procesorem i7, měl by vám vmm z dílny OpenBSD svižně chodit.

Kromě toho, každý tvůrce přináší se svým virtuálním strojem nové a zajímavé prvky, které si časem, pokud se osvědčí, osvojují i ostatní. A je zřejmé, že při masovém použití Xenu (hlavně v jeho komerční formě CITRIX) a VMWare, a nemalém podílu Virtualboxu (asi hlavně v uživatelské sféře) je virtuální stroj, který někdo napíše od píky úplně jinak, vítanou šancí pro bezpečnost. Je snadné napadat jeden nebo dva hlavní systémy, ale už není tak snadné psát malware napadající velký počet hypervizorů. Proto si dokážu představit, že firmy, které akcentují bezpečnost, budou s očekáváním pokukovat pod ruce vývojářům z OpenBSD. A to nemluvím o těch, kdo (jako já) rádi zkoušejí a testují zajímavý open source.

Zdroje

Byl pro vás článek přínosný?

Autor článku

Petr Topiarz vystudoval angličtinu a pracuje jako systémový administrátor v jedné pražské IT firmě.