LĂŒhike vĂ”rdlus SDS arhitektuurist vĂ”i sobiva salvestusplatvormi leidmine (GlusterVsCephVsVirtuozzoStorage)

See artikkel on kirjutatud, et aidata teil valida sobiv lahendus ning mÔista erinevusi selliste SDS-ide nagu Gluster, Ceph ja Vstorage (Virtuozzo) vahel.

Tekstis kasutatakse viiteid artikeltele, kus arutatakse erinevaid probleeme pĂ”hjalikumalt, seetĂ”ttu on kirjeldused vĂ”imalikult lĂŒhikesed ning sisaldavad peamisi punkte, vĂ€ltides liialt pikkade seletuste ja sissejuhatuste jagamist, mida saate vajadusel ise internetist leida.

Tegelikult nĂ”uavad kĂ€sitletavad teemad sĂ”numit, kuid tĂ€napĂ€eva maailmas ei soovi ĂŒha rohkem inimesi palju lugeda))), seega vĂ”ite kiirelt ĂŒle vaadata ja otsustada, ning kui midagi jÀÀb arusaamatuks, siis uurida viiteid vĂ”i Google’ist otsida tundmatuid sĂ”nu))), see artikkel on nagu lĂ€bipaistev kate nende sĂŒgavate teemade jaoks, nĂ€idates sisu – iga lahenduse peamised vĂ”tmeviidatud punktid.

Gluster

Alustame Glusterist, mida kasutatakse aktiivselt hĂŒperkonsolideeritud platvormide tootjate seas, kes pakuvad open source baasil SDS-i virtuaalsete keskkondade jaoks, ja seda saab leida RedHati kodulehelt salvestuse jaotises, kus pakutakse valida kahe SDS variandi vahel: Gluster vĂ”i Ceph.

Gluster koosneb tĂ”lkeserveriteste – teenustest, mis teostavad kĂ”ik failide jaotamise tööd jne. Brick on teenus, mis teenindab ĂŒhte ketast, Volume – maht (plokk) – mis ĂŒhendab need brick'id. Edasi liigub failide jaotamise teenus gruppide vahel DHT (jaotatud rĂ€si tabel) funktsiooni abil. Sharding teenust ei hakka siia kirjeldama, kuna allolevates linkides on kirjas sellega seotud probleemid.

LĂŒhike vĂ”rdlus SDS arhitektuurist vĂ”i sobiva salvestusplatvormi leidmine (GlusterVsCephVsVirtuozzoStorage)

Kirjutamisel pannakse fail tervikuna brick'i ja selle koopia kirjutatakse paralleelselt teise serveri brick'ile. JÀrgnev fail kirjutatakse siis teise gruppi kahest brick'ist (vÔi rohkem) erinevates serverites.

Kui failid on umbes sama suurusega ja maht koosneb ainult ĂŒhest grupist, siis on kĂ”ik korras, kuid teiste tingimuste korral tekivad jĂ€rgmistest kirjeldustest jĂ€rgmised probleemid:

  • ruumi grupis kasutatakse ebaĂŒhtlaselt, see sĂ”ltub failide suurustest ja kui grupis ei ole kirjutamiseks piisavalt ruumi — saate vea, fail ei salvestata ega jaotata teise gruppi;
  • ĂŒhe faili kirjutamisel toimub IO vaid ĂŒhes grupis, teised aga ootavad;
  • ĂŒhe faili kirjutamisel ei saa kogu mahu IO-d saada;
  • ja ĂŒldine kontseptsioon tundub vĂ€hem tootlik, kuna puudub andmete jaotus plokkide vahel, kus tasakaalustamine ja probleemide lahendamine on lihtsam, mitte nagu praegu, kui fail asetub tervikuna brikkidesse.

Ametlikust kirjelduse arhitektuurist ka tuleb tahtmatult arusaam, et gluster töötab nagu failide salvestamise sĂŒsteem klassikalise riistvara RAID-i kohal. On tehtud katseid faile plokkideks jagada (Sharding), kuid see on kĂ”ik tĂ€iendav, mis toob kaasa tootlikuse kaotuse juba olemasolevale arhitektuurilisele lĂ€henemisele, pluss selliste tasuta vĂ”imaluste kasutamine, millel on tootlikuse piirang nagu Fuse. Metandmete teenuseid pole, mis piiravad salvestuse tootlikkuse ja talitlushĂ€iretĂ”rje vĂ”imalusi failide jaotamisel plokkideks. Paremaid tootlikkuse nĂ€itajaid vĂ”ib tĂ€heldada

need jĂ€reldused on seotud ka kogemuse kirjeldamisega Gluster ja vĂ”rdlemisel Ceph, samuti on olemas kogemuse kirjeldus selle tĂ”husama ja usaldusvÀÀrsema konfiguratsiooni mĂ”istmise saavutamise kohta “Replicated Distributed”.
LĂŒhike vĂ”rdlus SDS arhitektuurist vĂ”i sobiva salvestusplatvormi leidmine (GlusterVsCephVsVirtuozzoStorage)

Pildil on nĂ€idatud koormuse jaotust kahe faili kirjutamisel, kus esimese faili koopiad jaotatakse kolmele esimesest serverist, mis on ĂŒhendatud mahtude rĂŒhmaga 0, ja kolme koopia teise faili asetatakse teise gruppi volume1 kolme serveri seast. Igal serveril on ĂŒks kĂ”vaketas.

Üldine jĂ€reldus on see, et Glusterit saab kasutada, kuid arvestades, et tootlikkuse ja talitlushĂ€iretĂ”rje osas on piirangud, mis loovad raskusi teatud hĂŒperkonvergente lahenduse tingimustes, kus ressursse vajatakse ka virtuaalsete keskkondade arvutuskoormuseks.

On olemas ka mÔned Glusteri tootlikkuse nÀitajad, mida saab saavutada teatud tingimustes piiratud talitlushÀiretÔrjes.

Ceph

NĂŒĂŒd vaatame Cephi arhitektuuri kirjelduse, mida olen suutnud leida. Samuti on olemas vĂ”rdlus Glusterfs ja Ceph, kus saab kohe aru, et Cephi on soovitatav paigaldada eraldi serveritele, kuna selle teenused vajavad koormuste korral kĂ”iki riistvara ressursse.

Arhitektuur Ceph on keerukam kui Gluster ja sellel on sellised teenused nagu metateenused, kuid kogu komponentide virna struktuur on ĂŒsna keeruline ja mitte eriti paindlik virtuaaliseerimise lahenduste kasutamiseks. Andmed salvestatakse plokkidena, mis nĂ€evad vĂ€lja tootlikumad, kuid kĂ”igi teenuste (komponentide) hierarhias esinevad kaotused ja latentsus teatud koormuste ja avariitingimuste korral, nĂ€iteks jĂ€rgmised artikkel.

Arhitektuuri kirjeldusest on peamiseks komponendiks CRUSH, tĂ€nu millele valitakse andmete paiknemise koht. JĂ€rgmiseks on PG – see on kĂ”ige keerulisem abstraktsioon (loogiline rĂŒhm), mida on raske mĂ”ista. PG-d on vajalikud selleks, et CRUSH oleks efektiivsem. PG peamine eesmĂ€rk on objektide rĂŒhmitamine ressursikasutuse vĂ€hendamiseks, tootlikkuse suurendamiseks ja skaaleeritavuse tagamiseks. Objektide otsene ja eraldi adresseerimine, ilma nende PG-sse ĂŒhendamiseta, oleks vĂ€ga kulukas. OSD on teenus iga eraldi ketta jaoks.

LĂŒhike vĂ”rdlus SDS arhitektuurist vĂ”i sobiva salvestusplatvormi leidmine (GlusterVsCephVsVirtuozzoStorage)

LĂŒhike vĂ”rdlus SDS arhitektuurist vĂ”i sobiva salvestusplatvormi leidmine (GlusterVsCephVsVirtuozzoStorage)

Klastril vĂ”ib olla ĂŒks vĂ”i mitu andmepooli, millel on erinevad eesmĂ€rgid ja seaded. Pooled jagunevad paigutusgruppideks. Paigutusgruppides hoitakse objekte, millele kliendid pöörduvad. Siit lĂ”peb loogiline tase ja algab fĂŒĂŒsiline, kuna igale paigutusgrupile on mÀÀratud ĂŒks peamine ketas ja mitu koopiakettast (kui palju sĂ”ltub pooli kopeerimise tegurist). TeisisĂ”nu, loogilisel tasemel hoitakse objekt konkreetsetes paigutusgruppides, samas kui fĂŒĂŒsilisel tasemel hoitakse neid ketastes, mis on nende kaudu mÀÀratud. Samas vĂ”ivad kettad fĂŒĂŒsiliselt asuda erinevates sĂ”lmedes vĂ”i isegi erinevates andmekeskustes.

Selles skeemis nĂ€evad paigutusgrupid vĂ€lja kui vajalik tasand kogu lahenduse paindlikkuse jaoks, kuid samas ka kui ĂŒleliigne lĂŒli selles ahelas, mis sunnib mĂ”tlema jĂ”udluse kaotamisele. NĂ€iteks, kui andmeid salvestatakse, peab sĂŒsteem need jagama nende gruppide vahel ja seejĂ€rel fĂŒĂŒsiliselt peamisele kettale ning replikatsiooniketastele. See tĂ€hendab, et hash-funktsioon töötab objekti otsimisel ja lisamisel, kuid on ka kĂ”rvalmĂ”jusid – see toob kaasa vĂ€ga suured kulud ja piirangud hash'i taastamisel (kui ketast lisatakse vĂ”i eemaldatakse). Veel ĂŒks hash'i probleem on see, et andmete asukoht on rangelt mÀÀratletud, mida ei saa muuta. See tĂ€hendab, et kui mĂ”ni ketas kogeb suuremat koormust, ei saa sĂŒsteem kirjutada sellele (valides teise ketta), hash-funktsioon sunnib andmeid paigutama reegli jĂ€rgi, sĂ”ltumata sellest, kui halvasti kettaga lĂ€heb, mistĂ”ttu Ceph sööb palju mĂ€lu PG-de taastamisel eneseparandamise vĂ”i salvestusruumi suurendamise korral. KokkuvĂ”ttes töötab Ceph hĂ€sti (kuigi aeglaselt), kuid ainult siis, kui ei toimu skaleerimist, hĂ€daolukordi ega uuendusi.

Muidugi on olemas vĂ”imalusi jĂ”udluse parandamiseks vahemĂ€lu ja vahemĂ€lu kihistamise abil, kuid selleks on vajalik hea riistvara ja ikkagi tekivad kaotused. KĂŒll aga tundub Ceph ĂŒldiselt ahvatlevam kui Gluster tootmises. Samuti tuleb neid tooteid kasutades arvesse vĂ”tta oluline tegur – kĂ”rge kompetentsuse, kogemuse ja professionaalsuse tase, keskendudes eriti Linuxile, kuna on ÀÀrmiselt oluline kĂ”ik Ă”igesti seadistada, paigaldada ja toetada, mis seab administreerimisele veelgi suurema vastutuse ja koormuse.

Vstorage

Veelgi huvitavam arhitektuur on Virtuozzo storage (Vstorage), mida saab kasutada koos hyperviisoriga samadel sÔlmedel, samas riistvaral, kuid on ÀÀrmiselt oluline kÔik Ôigesti konfigureerida, et saavutada hea jÔudlus. See tÀhendab, et kui selline toode paigaldatakse lihtsalt mingi konfiguratsiooni peale, jÀrgimata arhitektuuri soovitusi, on vÀga lihtne seda teha, kuid tulemus ei ole tulemuslik.

Mis saab eksisteerida koos KVM-QEMU hĂŒperviisori teenustega, see on vaid mĂ”ned teenused, kus leiti kompaktne optimaalne komponentide hierarhia: kliendi teenus, mis on ĂŒhendatud FUSE'i kaudu (muudetud, mitte avatud lĂ€htekoodiga), metateenuste teenus MDS, andmeplokkide teenus Chunk, mis fĂŒĂŒsilisel tasandil vastab ĂŒhele kettale ja sellega asi piirdub. Kiirus on loomulikult optimaalne kasutada kahe replikaga talitlushĂ€iretesti, kuid kui kasutada vahemĂ€lu ja ajakirju SSD-kettal, siis saab vigade korrigeerimise kodeeringut (erase coding vĂ”i raid6) mĂ€rgatavalt kiirendada hĂŒbriidskeemil vĂ”i isegi paremini all-flash skeemil. EC (erase coding) puhul on teatav miinus: ĂŒhe andmeploki muutmisel tuleb arvutada pariteetsummad uuesti. Selle operatsiooni kadude vĂ€ltimiseks kirjutab Ceph EC-st viivitusega ja jĂ”udlusega vĂ”ivad tekkida probleemid teatud pĂ€ringute korral, kui nĂ€iteks on vajalik lugeda kĂ”iki plokke, samas kui Virtuozzo Storage'is toimub muudetud plokkide kirjutamine lĂ€henemisviisi "log-structured file system" abil, mis minimaliseerib pariteedi arvutamise kulusid. Et ligikaudselt hinnata variante töö kiirendamiseks EC ja ilma, on. kalkulaator. – numbrid vĂ”ivad olla ligikaudsed, sĂ”ltuvalt seadme tootja tĂ€psuse koefitsiendist, kuid arvutustulemused aitavad hĂ€sti konfigureerimist planeerida.

Lihtne salvestuskomponentide skeem ei tĂ€henda, et need komponendid ei tarbiks. rauda, aga kui kĂ”iki kulusid ette arvestada, siis vĂ”ib loota koostöös hĂŒperviisoriga.
On olemas vÔrdlustabel Ceph'i ja Virtuozzo salvestus teenuste rauatarbimise kohta.

LĂŒhike vĂ”rdlus SDS arhitektuurist vĂ”i sobiva salvestusplatvormi leidmine (GlusterVsCephVsVirtuozzoStorage)

Kui varem sai Glusterit ja Cephi vĂ”rrelda vanade artiklite pĂ”hjal, kasutades nende olulisemaid ridu, siis Virtuozzot on keerulisem. Selle toote kohta ei ole palju artikleid ja teavet saab ammutada ainult dokumentatsioonist. inglise vĂ”i vene keeles, kui vaadata Vstorage'i, kui salvestust, mida kasutatakse mĂ”nes hĂŒperkonvergentses lahenduses ettevĂ”tetes nagu. Rospilatforma ja Acronis.

PĂŒĂŒan aidata selle arhitektuuri kirjeldamisega, seetĂ”ttu on tekst veidi pikem. Ent, et ise dokumentatsioonist aru saada, on vajalik palju aega ja olemasolevat dokumentatsiooni saab kasutada ainult viitena, vaadates sisukorda vĂ”i otsides mĂ€rksĂ”na kaudu.

Vaatame hĂŒbriidkonfiguratsiooni riistvara salvestusprotsessi, kus osaleb eelpool kirjeldatud komponente: salvestus algab sellele sĂ”lmele, kust klient (FUSE montaaĆŸiteenuse) selle algatab, kuid metandmete teenuse (MDS) komponent suunab kliendi otse vajaliku ploki salvestusteenuse (CS), s.t MDS ei osale salvestusprotsessis, vaid suunab lihtsalt vajaliku ploki teenusele. Üldiselt vĂ”ib tuua analoogia salvestamise jaotumisega veekeeriste vahel. Iga keeris on 256 MB andmeplokk.

LĂŒhike vĂ”rdlus SDS arhitektuurist vĂ”i sobiva salvestusplatvormi leidmine (GlusterVsCephVsVirtuozzoStorage)

See tĂ€hendab, et ĂŒks ketas on mingi hulk selliseid keeriseid, st ketta maht jagada 256 MB-ga. Iga koopia jaotatakse ĂŒhele sĂ”lmele, teine peaaegu samal ajal teisele sĂ”lmele jne... Kui meil on kolm koopia ja SSD kettad, mida kasutatakse vahemĂ€lu jaoks (lugemiseks ja kirjutuslogideks), siis kirjutamise kinnitamine toimub pĂ€rast logi kirjutamist SSD-le ja paralleelne tagasi mÀÀrimine SSD-lt jĂ€tkub HDD-le, nagu taustal. Kolme koopia puhul toimub kirjutamise kinnitamine pĂ€rast kinnitust kolmanda sĂ”lme SSD-lt. VĂ”ib tunduda, et kolme SSD kirjutamiskiirus jagatakse kolme ja saame ĂŒhe koopia kirjutamiskiirus, kuid koopia kirjutamine toimub paralleelselt ja vĂ”rgu latentsus on tavaliselt suurem kui SSD-l, seega sĂ”ltub kirjutamise jĂ”udlus vĂ”rgust. Sel pĂ”hjusel, et nĂ€ha reaalseid IOPS-e, on vajalik koormata kogu Vstorage Ă”igesti meetodi, st testida reaalselt koormust, mitte mĂ€lu ja vahemĂ€lu, kus on oluline arvestada andmeploki Ă”ige suuruse, voogude arvu jne.

Üles nimetatud SSD logifail töötab nii, et niipea kui andmed sinna jĂ”uavad, loetakse need koheselt teenuse poolt ja kirjutatakse HDD-le. Metaandmete teenuseid (MDS) on klastris mitu ning nende arv mÀÀratakse kvoorumiga, mis töötab Paxos algoritmi pĂ”hjal. Klientide jaoks on FUSE-mount punkt klastrihalduse kaust, mis on samaaegselt nĂ€htav kĂ”igile klastrinodele; igal noodil on see mountitud kliendi kaudu, mistĂ”ttu on sellele salvestusele igas nodis ligipÀÀs.

Iga eelpool kirjeldatud lĂ€henemise jĂ”udluse jaoks on vĂ€ga oluline, et plaanimise ja juurutamise etapis oleks Ă”ige vĂ”rgu seadistamine, kus toimub tasakaalustus aggregeerimise ja Ă”igesti valitud vĂ”rguĂŒhenduse lĂ€bilaskevĂ”ime kaudu. Aggregeerimises on oluline Ă”igesti valida hashimise reĆŸiim ja raamide suurused. Samuti on suur erinevus eelpool kirjeldatud SDS-de ja Technoloogia fast path fuse vahel Virtuozzo Storage'is. See, erinevalt teiste avatud lĂ€htekoodiga lahendustest, suurendab IOPS-e ja vĂ”imaldab mitte piirduda horisontaalse vĂ”i vertikaalse skaleerimisega. Üldiselt tundub see eelpool kirjeldatud arhitektuuride vĂ”rreldes tugevam, kuid sellise rÔÔmu eest tuleb siiski litsentse osta, erinevalt Cephist ja Glusterist.

KokkuvÔtteks vÔib rÔhutada kolme parimat: esikoha jÔudluse ja usaldusvÀÀrsuse osas hoiab Virtuozzo Storage, teisel kohal on Ceph ja kolmandal Gluster.

Kriteeriumid, mille pĂ”hjal valiti Virtuozzo Storage: see on optimaalne komponentide komplekt arhitektuurist, fuse on moderniseeritud selle lĂ€henemise jaoks fast path tehnoloogiaga, paindlik riistvara konfiguratsiooni komplekt, madalam ressursitarve ja vĂ”imalus koos kasutada arvutusvĂ”imet (virtualiseerimisega), see tĂ€hendab, et see sobib tĂ€ielikult hĂŒperkonvergente lahendusse, mille osana see on. Teisel kohal on Ceph, kuna see on tĂ”husam arhitektuur kui Gluster, operatiivsete plokkide tĂ”ttu, samuti paindlike stsenaariumide ja vĂ”imaluse tĂ”ttu töötada suuremates klastrites.

Plaanide hulgas on soov kirjutada vÔrdlus vSANi, Space Direct Storage'i, Vstorage'i ja Nutanix Storage'i vahel, testida Vstorage'i HPE ja Huawei riistvaraga ning samuti Vstorage'i integreerimise stsenaariumeid vÀlistesse riistvaralistesse andmesalvestusse. SeetÔttu, kui artikkel teile meeldis, oleks tore saada teie tagasisidet, mis vÔiks suurendada motivatsiooni uute artiklite kirjutamiseks, arvestades teie mÀrkusi ja soove.

Allikas: habr.com

Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster