Blog

Mis on hyper-converged infrastruktuur ehk HCI

Hiljuti avaldasin paar blogiartiklit (loe neid siit ja siit) teemal kuidas ma kodustest vahenditest endale pisikese, kuid toimiva HCI klastri kokku klopsisin. Jagasin neid artikleid usinalt ka sotsiaalmeedias ning sain enda jaoks veidi üllatava vastukaja osaliseks. Nimelt selgus, et päris suurt hulk IT inimesi ei teagi eriti, mis imeloom see HCI on. Eks see ole ka arusaadav, IT on läinud tänapäeval nii laiaks valdkonnaks, et kõik ei suudagi kõigega kursis olla. Mina töötan IT infrastruktuuri lahendusi pakkuvas ettevõttes ning minule on see igapäevane teema. Seetõttu ei osanud isegi aimata, et alustada oleks tulnud päris algusest - mis on hyperconvergence. Püüan seda puudujääki siin nüüd korvata.

Hyperconvergence on tänaseks juba üsna lai ja keeruline teema. Süvatehnilisi artikleid erinevate lahenduste kohta leiab Interneti avarustest sadu või isegi tuhandeid. Püüan siin artiklis jääda populaarteaduslikule tasemele, et pakkuda infot ka mitte väga tehnilise taustaga inimestele. Palun juba tehnokraatidelt ette leebemat suhtumist.


Veidi ajaloost

Traditsionaalne IT infrastruktuur on juba aastaid (kui mitte aastakümneid) koosnenud suhteliselt fikseeritud komponentidest – tsentraalne andmesalvestusseade (kettakabinet), andmesalvestus võrk (SAN), kohtvõrk (LAN), kõige sellega ühendatud serverid ning nendel töötavad laiatarbe operatsioonisüsteemid nagu Windows või Linux/UNIX. Umbes kümmekond aastat tagasi hakkas andmekeskuste uksevahelt jõuliselt sisse pressima virtualiseerimine. Selle valdkonna suurimaks pioneeriks ja teerajajaks oli VMware, kellele riburadapidi hakkasid järgnema teised (n. Microsoft, RedHat, Oracle jne). Virtualiseerimine lõi aluse andmekeskuste suuremaks konsolideerimiseks, tekitas vabaduse konkreetsest riistvarast, sest virtuaalserver oli mobiilne.

Virtualiseerimine omakorda lõi soodsamad võimalused pilveteenuste tekkimiseks. Tekkis võimalus suhteliselt mugavalt ja lihtsalt liigutada oma IT töövood väljapoole ettevõtte serveriruumi kasutamaks ära kellegi teise (pilveteenuse pakkuja) riistvaralisi võimalusi. Selle asemel, et suurenenud IT lahenduste nõudluse tõttu hakata laiendama oma ettevõtte serveriruumi, otsustasid paljud ettevõtted pilveteenuste kasuks.

Hüppeliselt kasvav IT lahenduste nõudlus ning pilveteenuste populaarsus tõid aga välja ühe olulise puuduse traditsionaalses IT infrastruktuuris – laiendatavus ehk skaleeruvus. Servereid oli küll suhteliselt lihtne juurde hankida, kuid märksa keerulisemaks läks olukord andmesalvestuse vallas. Enamus andmesalvestusseadmeid on laiendatavad ainult teatud piirini. Odavama otsa seadmetele saab lisada veidi kettaid, paremal juhul ka mõned kettasahtlid, kuid mitte piisavalt. Lisaks ei piisa ainult ketaste lisamisest, vaja on ka I/O operatsioonide töötlemiseks piisavat arvutusressurssi ehk võimsamaid kontrollereid. Andmesalvestusseadmete väljavahetamine on tihti väga kulukas, keeruline ning aeganõudev protsess. Pilveteenuste pakkujatele selline mudel enam ei sobinud. Vajadus tekkis sujuva, lineaarse kasvumudeli järele, mis võimaldaks teenusepakkujal teha investeeringuid vastavalt vajaduse kasvule.


Hyperconvergence

Eelpool mainitud vajadusest tingitult hakkasid entusiastid otsima võimalust vabaneda traditsionaalsest andmesalvestusest tingitud kasvupiirangutest. Ning tulemuseks tekkis hyperconverged infrastruktuur. Väga lühidalt seletades tähendab see seda, et oma andmekeskuses virtualiseerimisklastrisse serverit lisades lisandub sellega koos praktiliselt kõik laienemiseks vajalik – mälu, protsessor, kettapind ning ka salvestusvõimsus (I/O jõudlus). Kuidas seda saavutatakse?

Lahendus on tegelikult üsna lihtne. Kõikides serverites on olemas lokaalkettad, mille kettapind spetsiaalse tarkvara abil üle tavalise kohtvõrgu (LAN) välja jagatakse. Kõikide klastri serverite lokaalsed kettapinnad liidetakse sama tarkvara abil kokku üheks suureks jagatud loogiliseks andmekandjaks. Tarbijatele paistab see kui üks ühtne suur kettapind, millele on võimalik andmeid salvestada. Tarbijale, milleks tavaliselt on samas serveris töötav hüperviisor, tagatakse ligipääs andmetele üle kohtvõrgu töötava salvestusprotokolli – näiteks NFS (Network File System) abil. Kõik klastris olevad serverid saavad seeläbi jagatult kasutada kõikide teiste klastris olevate serverite lokaalseid kettapindu. Andmete kirjutamisel sellele jagatud loogilisele kettapinnale paigutatakse andmeblokid laiali mitme serveri vahel tagades tõrkekindluse ning ka koormuse jaotamise. Seega iga klastrisse lisatav server suurendab nii ketta mahtu kui ka jõudlust. Erinevad tootjad pakuvad siin väga erinevaid tehnoloogilisi lahendusi, kuidas täpselt toimub andmeblokkide jagamine ning kirjutamine serverite vahel. Nende võimaluste kirjeldamine läheks juba üsna tehniliseks ning pole hetkel selle artikli eesmärk.

Nagu te ilmselt juba aru saite, siis säärases lahenduses toimub andmete jaotamine serverite vahel üle kohtvõrgu. Sellest ka tungiv vajadus kiire ning stabiilse võrguühenduse järele. Enamustel juhtudel on reaalselt toimiva HCI lahenduse jaoks vajalik 10Gb/s kiirusega võrk, et serverite vaheline andmete sünkroniseerimine ei muutuks piiravaks kogu lahenduse toimivuse seisukohast.

Et asja veidi „visualiseerida“ sirgeldasin tahvlile ka kiirelt ühe joonise. Palun juba ette vabandust selle kvaliteedi osas.

Esimese põlvkonna HCI süsteemid (enamus praegustest) olid väga hüperviisori kesksed. Nad olid loodud spetsiaalselt töötama kas ainult VMware, Microsofti või KVM keskkonnas (populaarsemad virtualiseerimisetehnoloogiad tänapäeva andmekeskustes). Jõuline trend on aga lihtsuse suunas, mistõttu uuemad HCI lahendused on muutumas üha enam sõltumatuks tegelikust virtuaalplatvormist.

HCI lahendusi võib liigitada ka kahte laia suunda selle järgi, kuidas serveeritakse salvestuspinda hüperviisorile. On olemas nö virtuaalmasina-kesksed ja voluumi/ketta-kesksed lahendused. Virtuaalmasina-kesksed on lahendused, kus andmesalvestuse aluseks olev tarkvara integreerub väga sügavalt konkreetse hüperviisori hinge-ellu pakkudes sellele spetsiifilisi funktsionaalsusi (n. kiire kloonimine, varundus, snapshot-ide tegemine). Tuntumateks näideteks siin oleks VMware vSAN, Nutanix, Cisco HX. Voluumi/ketta-kesksed lahendused tihti hüperviisorit ei vajagi, vaid töötavad ka lihtsalt universaalse jagatud (klasterdatud) andmesalvestuse pakkujana tava operatsioonisüsteemi baasil. Siin oleks tuntumateks näideteks Ceph, GlusterFS, EMC ScaleIO. Need lahendused toetavad tihti erinevat tüüpi salvestusmeetodeid, näiteks blokk-seadmed, NFS, iSCSI kui ka objekti-põhist andmesalvestust. Neid saab kasutada nii koos hüperviisoriga kui ka eraldi.


Tootjad

HCI maailm on tohutu kiirusega arenemas ning muutumas kaasaegsetes andmekeskustes juba uueks standardiks. Seda eriti Põhja-Ameerikas. Euroopa, seal hulgas Eesti, on nagu tavaliselt ikka mõned aastad trendist maas, kuid ka siinkandis on HCI jõudsalt pead tõstmas.

Paralleelselt arenevad nii vabavaralised kui ka kommertsiaalsed lahendused. Esimeste kasuks räägib reeglina soodsam hind (vajalik on ainult riistvara), kuid nende paigaldamine, haldamine ning kasutamine on reeglina oluliselt keerulisemad eeldades võimekat meeskonda. Kommertsiaalsed pakkujad on eelkõige keskendunud jõudlusele, lihtsusele ning mugavusele, kuid nõuavad seni veel suhteliselt kopsakat eelarvet.

Vabavara maailmas on ilmselt tuntumad lahendused Ceph ja GlusterFS. Kumbki pole päris pesuehtne HCI, keskendudes peamiselt ainult andmesalvestusele, kuid koostöös mingi vabavaralise hüperviisoriga nagu näiteks KVM on võimalik kokku panna ka HCI lahendus.

Kommertsmaailm on HCI vallas üpris kirju. Toon siinkohal välja mõned tootjad, kuid see nimekiri pole kaugeltki mitte lõplik – VMware, Nutanix, Cisco, EMC, Microsoft, StarWind, SpringPath jne.

On ka selliseid tootjaid, kes on oma lahendustes baseerunud vabavaralistele komponentidele ning müüvad sinna juurde peamiselt hooldusteenust. Lisaks on mitmel kommertstootjal oma tootest olemas limiteeritud funktsionaalsusega tasuta versioonid eriti-väike-ettevõtetele.


Twitter: @KaidoKibin

Seotud postitused: