Triviális és mégis

A múlt heti TechNet napnak és a "Mi is az a hypervisor?" cikknek van egy különös összefüggése – ehhez kapcsolódott FlowM@N megjegyzése.  Már a hypervisoros válaszok között is volt olyan, aki a monolitikus hypervisort "operációs rendszer nélküli" valamicsodának gondolta. Tisztázzuk gyorsan a monolitikus-mikrokernel hypervisorok közötti különbséget és aztán térjünk vissza az "operációs rendszer nélküli" számítógépekhez meg a TechNet naphoz.

A válaszok jól jellemzik, mi marad meg az emberek fejében sok-sok fejtágítás után: némi technológia és némi termék-pozícionálás (marketing duma, ha így jobban tetszik.) Valamikor kízárólag a VmWare volt az, amely az x86/x64 világban type1-es hypervisorral rendelkezett. Ezzel "szemben" állt a Microsoft Virtual Server, amely csak type2-es megoldás (host alapú virtualizáció). Innen az összehasonlítási szándék. Pedig a világ azóta változott. Ma kétféle type1-es hypervisor létezik: a monolitikus felépítésű, és a mikrokernel szerkezetű. Az VmWare ESX egy monolitikus type1-es hypervisor, a Microsoft Hyper-V és a Xen pedig mikrokernel alapú, de szintén type1-es hypervisor. A monolitikus és a mikrokernel megoldások közötti elvi különbséget az alábbi két ábra szemlélteti.

Hypervisor1 hypervisor2

Mindkét kép egy Microsoft prezentációból származik és eredetileg arra a kérdésre adnak választ, hogy miért nem hagyható el a Hyper-v megoldásból a parent partíció (Dom0 – a Xen fogalmai szerint). A válasz az, hogy bizonyos funkciókat a szülőpartíció hajt végre (jobb oldali ábra). Ha el szeretnénk hagyni a szülőpartíciót, akkor ezeket a funkciókat, mivel szükségesek, a hypervisorba kellene mozgatni, ott megvalósítani (bal oldali ábra). És íme, előttünk áll a monolitikus hypervisor. Vagyis erős leegyszerűsítéssel arról van szó, hogy az operációs rendszer egyes funkcióit a monolitikus és a mikrokernel alapú megoldások más processzor provilégium szinten hajtják végre.

Itt a lényeg: a hypervisorral az operációs rendszer nem tűnik el: a funkcióira szükség van, s már csak tervezés kérdése, hogy ezeket miként implementálják. A monolitikus hypervisor talán megszabadulhat a Konzol OS-től, de azon az áron, hogy az OS "leköltözik" magába a hypervisorba. Mert számítógép nincs operációs rendszer nélkül.(*)

És akkor most vissza a TechNet naphoz. Az utolsó előadás után egy kolléga néhány kérdést tett fel nekem, tanácsot kért. Az egyik kérdése az volt, vajon lehet-e virtualizálni egy NAS kiszolgálót? Fura kérdés, ugye? A NAS kiszolgálók hardver eszközök. Persze a kolléga a FreeNAS-ra gondolt, egy olyan NAS megoldásra, amely ingyenes, és "szoftveresen" is elérhető. De milyen előnyt tudna felmutatni egy virtualizált NAS szerver egy fájlmegosztási képességel rendelkező virtualizált operációs rendszerrel szemben? Véleményen szerint nem sokat. Akkor miért ez a NAS szimpátia? Azért, mert a NAS azt az ígéretet hordozza, hogy neked csak egy funkcióval kell foglalkoznod (ti.: a fájlmegosztással), nem pedig valamilyen összetett rendszerrel. Pedig ez illúzió! Mert számítógép nincs operációs rendszer nélkül! A NAS kiszolgáló alatt operációs rendszer fut. A FreeNAS alatt pl. FreeBSD. És hadd legyen ünnep rontó: a hardveres tűzfalak alatt is egy operációs rendszer fut. Az ADSL Routerek alatt is operációs rendszer fut. A routerekben, switchekben, telefonközpontokban, IPS rendszerekben, VPN koncentrátorokban, Tape Library-kben, a nyomtató-szerverekben, vékonykliensekben, mobiltelefonokban, smartkártyákon(!) is operációs rendszer fut. Mert számítógép nincs operációs rendszer nélkül. És igen: a type1-es hypervisoros rendszereknél is a processzort egy operációs rendszer vezérli.

Miért szeretik az emberek ezeket a hardver eszközöket? Mert könnyű kezelhetőséget ígérnek. Azt például, hogy tovább üzemelnek, nem kell őket karbantartani, felügyelni stb. stb. Illúzió: az operációs rendszerük éppúgy karbantartásra és felügyeletre szorul, mint bármely más rendszer. (Nem csoda: többnyire általános célú operációs rendszerek testre szabott változatáról van szó). A hardveres tűzfal "firmware"-ét, a router vagy switch IOS szoftverét frissíteni kell, mint egy Windows OS-t. És éppen úgy figyelni kell a teljesítmény adataikat, mint ahogy ezt bármely más rendszernél tesszük.

Megjegyzem a hardvergyártók nem hangsúlyozzák, hogy a felhasználó operációs rendszerrel dolgozik. A "hardveres" tűzfal az jobb, ugye. Meg a hardveres VPN koncentrátor. Meg a "hardveres" telefonközpont. De fordítsuk meg a dolgot: ha ezekre az eszközökre, mint számítógépekre tekintünk, akkor nézzük csak meg: mekkora a processzor terhelésük? Mennyi memóriát fogyasztanak? Hány portot foglalnak a hálózati kapcsolókból? És hogy nézne ki mindez, ha virtualizálnánk?

Kissé lázba jöttem a témától, mert egy városi legendát találtam. Egy hiedelmet, és ami mögötte van: tudáshiányt. Pedig olyam triviális: számítógép nincs operációs rendszer nélkül.

*. Egészen pontosan: áltános célú processzor, amely több programot futtat egymás mellett, a tevékenységét hatékonyan csak operációs rendszerrel tudja elvégezni.

2 Responses to Triviális és mégis

  1. Gábor says:

    Igazad van, bar azert kiegeszitenem: a "hardveres" tuzfalakban, telefonkozpontban, switchen, NAS-on, etc. futo oprendszert nem mindig feltetlenul szukseges frissiteni, sot van amikor a lehetoseg is korlatozott, vagy nincs is. Egesz egyszeruen azert, mert – bar altalanos celu oprendszerek – nincs szukseg egyfelol a felhasznalo elleni vedekezesre (kozvetlen hozzaferese nincs a felhasznalonak), a felhasznalo tarolt adatainak vedelmere megintcsak nincs szukseg (nincs taroloegysege), tehat csak az altalanos internet feloli vedelemnek kell biztositottnak lenni.Nyilvan tokeletes berendezes nincs, de az egyeni felhasznalok altal elerheto kategoria meg a kozelebe se torekszik a tokeletesnek, mindossze a pore ethernet kabelhez kepest kivan jobb alternativat nyujtani. Kovetkezeskepp ezeket nem szugsekszeruen kell allando jelleggel menedzselni, frissitgetni, etc. mert ezek elvannak magukba is. Ha frissul is egy firmware, csak akkor erdemes feltenni, ha valoban, a felhasznalo szamara fontos frissites / uj feature van benne, egyebkent nem. Nem szabad osszekeverni a valodi szamitogepen futo onallo operacios rendszerrel, amin bizony van miert frissiteni, hiszen kozvetlen kell vedekeznie a felhasznalo es a kulvilag ellen is, plusz fel kell lennie keszulve egy esetleges varatlan hardvercserere (ugye ez pl. a hardveres tuzfalnal megint nincs, konstans eszkozok) is.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: