Kratko poređenje SDS arhitekture ili traženje odgovarajuće platforme za skladištenje (GlusterVsCephVsVirtuozzoStorage)

Ovaj članak je napisan da vam pomogne da odaberete pravo rješenje za sebe i shvatite razlike između SDS-a kao što su Gluster, Ceph i Vstorage (Virtuozzo).

U tekstu se koriste linkovi na članke s detaljnijim razotkrivanjem određenih problema, pa će opisi biti što kraći, uz korištenje ključnih tačaka bez suvišnog labavosti i uvodnih informacija koje možete, ako želite, samostalno dobiti na internetu.

U stvari, naravno, teme koje se postavljaju zahtijevaju tonove teksta, ali u modernom svijetu sve više ljudi ne voli puno da čita))), tako da možete brzo pročitati i napraviti izbor, a ako je nešto nije jasno, slijedite linkove ili google nejasne riječi))), a ovaj članak je poput prozirnog omota za ove duboke teme, pokazujući punjenje - glavne ključne točke svake odluke.

gluster

Počnimo s Glusterom, koji aktivno koriste proizvođači hiperkonvergiranih platformi sa SDS baziranim na otvorenom kodu za virtuelna okruženja i može se naći na RedHat web stranici u odjeljku za pohranu, gdje možete birati između dvije SDS opcije: Gluster ili Ceph.

Gluster se sastoji od hrpe prevoditelja - servisa koji obavljaju sav posao distribucije datoteka itd. Brick je servis koji servisira jedan disk, Volume je volumen (pool) koji ujedinjuje ove cigle. Slijedi servis za distribuciju datoteka u grupe koristeći DHT (distributed hash table) funkciju. Nećemo uključiti uslugu Sharding u opis jer će donje veze opisati probleme povezane s njom.

Kratko poređenje SDS arhitekture ili traženje odgovarajuće platforme za skladištenje (GlusterVsCephVsVirtuozzoStorage)

Prilikom pisanja, cijeli fajl se pohranjuje u brick i njegova kopija se istovremeno upisuje u brick na drugom serveru. Zatim će drugi fajl biti upisan u drugu grupu od dvije cigle (ili više) na različitim serverima.

Ako su datoteke približno iste veličine, a volumen se sastoji od samo jedne grupe, onda je sve u redu, ali pod drugim uvjetima će se pojaviti sljedeći problemi iz opisa:

  • prostor u grupama se koristi neravnomjerno, zavisi od veličine fajlova i ako u grupi nema dovoljno prostora za pisanje fajla, dobićete grešku, datoteka neće biti upisana i neće se preraspodeliti drugoj grupi ;
  • prilikom pisanja jedne datoteke, IO ide samo na jednu grupu, ostale su neaktivne;
  • ne možete dobiti IO za cijeli volumen kada pišete jednu datoteku;
  • a generalni koncept izgleda manje produktivno zbog nedostatka distribucije podataka u blokove, gdje je lakše balansirati i riješiti problem ujednačene distribucije, a ne kako sada cijeli fajl ide u blok.

Iz službenog opisa arhitektura takođe nehotice dolazimo do shvatanja da gluster radi kao skladište datoteka na vrhu klasičnog hardverskog RAID-a. Bilo je razvojnih pokušaja da se fajlovi (Sharding) iseku na blokove, ali sve je to dodatak koji nameće gubitke performansi već postojećem arhitektonskom pristupu, plus korišćenje takvih slobodno distribuiranih komponenti sa ograničenjima performansi kao što je Fuse. Ne postoje usluge metapodataka, što ograničava performanse i mogućnosti tolerancije grešaka u skladištu prilikom distribucije datoteka u blokove. Bolji pokazatelji performansi se mogu uočiti sa „Distributed Replicated“ konfiguracijom, a broj čvorova bi trebao biti najmanje 6 da bi se organizirala pouzdana replika 3 s optimalnom raspodjelom opterećenja.

Ovi nalazi se odnose i na opis korisničkog iskustva gluster i kada se uporedi sa ceph, a tu je i opis iskustva koje vodi do razumijevanja ove produktivnije i pouzdanije konfiguracije “Replicirano distribuirano”.
Kratko poređenje SDS arhitekture ili traženje odgovarajuće platforme za skladištenje (GlusterVsCephVsVirtuozzoStorage)

Na slici je prikazana raspodjela opterećenja pri pisanju dva fajla, pri čemu se kopije prvog fajla distribuiraju na prva tri servera, koji se kombinuju u grupu 0, a tri kopije drugog fajla se stavljaju na drugu grupu volume1 od tri serveri. Svaki server ima jedan disk.

Opšti zaključak je da Gluster možete koristiti, ali uz razumijevanje da će postojati ograničenja u performansama i toleranciji grešaka koja stvaraju poteškoće pod određenim uvjetima hiperkonvergiranog rješenja, gdje su resursi potrebni i za računarska opterećenja virtuelnih okruženja.

Postoje i neki Gluster pokazatelji učinka koji se mogu postići pod određenim uslovima, ograničeno na tolerancije grešaka.

ceph

Sada pogledajmo Ceph iz opisa arhitekture koje sam uspio nađi. Postoji i poređenje između Glusterfs i Ceph, gdje odmah možete shvatiti da je preporučljivo postaviti Ceph na odvojene servere, jer njegove usluge zahtijevaju sve hardverske resurse pod opterećenjem.

arhitektura Ceph složeniji od Glustera i postoje usluge kao što su usluge metapodataka, ali je čitav niz komponenti prilično složen i nije baš fleksibilan za korištenje u rješenju za virtualizaciju. Podaci se pohranjuju u blokovima, što izgleda produktivnije, ali u hijerarhiji svih servisa (komponenti) dolazi do gubitaka i kašnjenja pod određenim opterećenjima i hitnim uvjetima, npr. članak.

Iz opisa arhitekture srce je CRUSH, zahvaljujući čemu se bira lokacija za pohranjivanje podataka. Slijedi PG - ovo je najteža apstrakcija (logička grupa) za razumijevanje. PG-ovi su potrebni da bi CRUSH bio efikasniji. Glavna svrha PG-a je grupisanje objekata radi smanjenja potrošnje resursa, povećanja performansi i skalabilnosti. Adresiranje objekata direktno, pojedinačno, bez njihovog kombinovanja u PG, bilo bi veoma skupo. OSD je servis za svaki pojedinačni disk.

Kratko poređenje SDS arhitekture ili traženje odgovarajuće platforme za skladištenje (GlusterVsCephVsVirtuozzoStorage)

Kratko poređenje SDS arhitekture ili traženje odgovarajuće platforme za skladištenje (GlusterVsCephVsVirtuozzoStorage)

Klaster može imati jedan ili više skupova podataka za različite svrhe i s različitim postavkama. Pulovi su podijeljeni u grupe plasmana. Grupe plasmana pohranjuju objekte kojima klijenti pristupaju. Ovdje se završava logički nivo, a počinje fizički nivo, jer je svakoj grupi plasmana dodijeljen jedan glavni disk i nekoliko diskova replika (koliko tačno ovisi o faktoru replikacije spremišta). Drugim riječima, na logičkom nivou objekt je pohranjen u određenu grupu smještaja, a na fizičkom - na diskovima koji su mu dodijeljeni. U ovom slučaju, diskovi se mogu fizički nalaziti na različitim čvorovima ili čak u različitim podatkovnim centrima.

U ovoj shemi, grupe za plasman izgledaju kao neophodan nivo za fleksibilnost cjelokupnog rješenja, ali istovremeno i kao dodatna karika u ovom lancu, što nehotice sugerira gubitak produktivnosti. Na primjer, kada pišete podatke, sistem ih treba podijeliti u ove grupe, a zatim na fizičkom nivou na glavni disk i diskove za replike. Odnosno, funkcija Hash radi prilikom pretraživanja i umetanja objekta, ali postoji nuspojava - to su vrlo visoki troškovi i ograničenja u ponovnoj izgradnji hash-a (prilikom dodavanja ili uklanjanja diska). Još jedan problem sa heširanjem je jasno zakucana lokacija podataka koja se ne može promijeniti. Odnosno, ako je disk na neki način pod povećanim opterećenjem, onda sistem nema mogućnost da ne upiše na njega (odabirom drugog diska), hash funkcija obavezuje podatke da se lociraju prema pravilu, ma koliko loše disk je, tako da Ceph pojede mnogo memorije kada obnavlja PG u slučaju samoizlječenja ili povećanja memorije. Zaključak je da Ceph radi dobro (iako sporo), ali samo kada nema skaliranja, hitnih situacija ili ažuriranja.

Postoje, naravno, opcije za povećanje performansi kroz keširanje i dijeljenje keš memorije, ali to zahtijeva dobar hardver i i dalje će biti gubitaka. Ali sve u svemu, Ceph izgleda primamljivije od Glustera za produktivnost. Također, prilikom korištenja ovih proizvoda potrebno je uzeti u obzir važan faktor - to je visok nivo kompetencije, iskustva i profesionalizma sa velikim naglaskom na Linux, budući da je vrlo važno sve ispravno implementirati, konfigurirati i održavati, što nameće još veću odgovornost i opterećenje administratoru.

Vstorage

Arhitektura izgleda još zanimljivije Virtuozzo pohrana (Vstorage), koji se može koristiti u sprezi sa hipervizorom na istim čvorovima, na istom žlezda, ali je vrlo važno da sve ispravno konfigurirate kako biste postigli dobre performanse. Odnosno, postavljanje takvog proizvoda iz kutije na bilo koju konfiguraciju bez uzimanja u obzir preporuka u skladu s arhitekturom bit će vrlo lako, ali ne i produktivno.

Šta može koegzistirati za skladištenje pored usluga kvm-qemu hipervizora, a ovo je samo nekoliko servisa u kojima je pronađena kompaktna optimalna hijerarhija komponenti: klijentski servis montiran preko FUSE (modifikovan, ne open source), MDS servis metapodataka (Metadata service), servis Chunk servis blokova podataka, koji je na fizičkom nivou jednak jednom disku i to je sve. Što se tiče brzine, naravno, optimalno je koristiti shemu otpornu na greške sa dvije replike, ali ako koristite keširanje i logove na SSD diskovima, tada se kodiranje otporno na greške (brisanje kodiranja ili raid6) može pristojno overklokovati na hibridna šema ili još bolje na svim blicama. Postoji neki nedostatak kod EC (brisanje kodiranja): prilikom promjene jednog bloka podataka potrebno je ponovo izračunati paritetne iznose. Da bi se zaobišli gubici povezani s ovom operacijom, Ceph piše u EC odloženo i problemi s performansama mogu se pojaviti tokom određenog zahtjeva, kada, na primjer, svi blokovi moraju biti pročitani, au slučaju Virtuozzo Storagea, vrši se upisivanje promijenjenih blokova koristeći pristup „log-strukturiranog sistema datoteka“, koji minimizira troškove izračunavanja pariteta. Za približno procjenu opcija sa ubrzanjem rada sa i bez EC postoje kalkulator. – brojke mogu biti približne u zavisnosti od koeficijenta tačnosti proizvođača opreme, ali rezultat proračuna je dobra pomoć u planiranju konfiguracije.

Jednostavan dijagram skladišnih komponenti ne znači da te komponente ne upijaju resursi gvožđa, ali ako unaprijed izračunate sve troškove, možete računati na suradnju pored hipervizora.
Postoji šema za upoređivanje potrošnje hardverskih resursa od strane Ceph i Virtuozzo servisa skladištenja.

Kratko poređenje SDS arhitekture ili traženje odgovarajuće platforme za skladištenje (GlusterVsCephVsVirtuozzoStorage)

Ako je ranije bilo moguće usporediti Gluster i Ceph koristeći stare članke, koristeći najvažnije linije iz njih, onda je s Virtuozzoom to teže. Nema mnogo članaka o ovom proizvodu i informacije se mogu dobiti samo iz dokumentacije Engleski ili na ruskom ako smatramo Vstorage kao skladište koje se koristi u nekim hiperkonvergiranim rješenjima u kompanijama kao npr Rosplatforma i Acronis.

Pokušaću da pomognem sa opisom ove arhitekture, pa će biti malo više teksta, ali potrebno je dosta vremena da sami razumete dokumentaciju, a postojeća dokumentacija se može koristiti samo kao referenca revizijom tabele sadržaja ili pretraživanje po ključnoj riječi.

Razmotrimo proces snimanja u hibridnoj hardverskoj konfiguraciji s gore opisanim komponentama: snimanje počinje ići do čvora s kojeg ga je klijent inicirao (usluga tačke montiranja FUSE), ali glavna komponenta usluge Metapodataka (MDS) će naravno usmjerava klijenta direktno na željeni chunk servis (CS blokovi servisa skladištenja), odnosno MDS ne učestvuje u procesu snimanja, već jednostavno usmjerava uslugu na traženi dio. Općenito, možemo dati analogiju snimanju sa sipanjem vode u bačve. Svaki barel je blok podataka od 256MB.

Kratko poređenje SDS arhitekture ili traženje odgovarajuće platforme za skladištenje (GlusterVsCephVsVirtuozzoStorage)

Odnosno, jedan disk je određeni broj takvih barela, odnosno volumen diska podijeljen sa 256MB. Svaka kopija se distribuira jednom čvoru, druga skoro paralelno drugom čvoru, itd... Ako imamo tri replike i postoje SSD diskovi za keš (za čitanje i pisanje logova), onda će se potvrda upisivanja dogoditi nakon pisanja log na SSD, a paralelno resetovanje sa SSD-a će se nastaviti na HDD-u, kao da je u pozadini. U slučaju tri replike, zapis će biti urezan nakon potvrde sa SSD-a trećeg čvora. Može se činiti da se zbir brzine pisanja tri SSD-a može podijeliti sa tri i dobit ćemo brzinu pisanja jedne replike, ali kopije se pišu paralelno i brzina kašnjenja mreže je obično veća od brzine SSD-a, a zapravo će performanse pisanja ovisiti o mreži. S tim u vezi, da biste vidjeli pravi IOPS, morate ispravno učitati cijeli Vstorage metodologija, odnosno testiranje stvarnog opterećenja, a ne memorije i keša, pri čemu je potrebno uzeti u obzir tačnu veličinu bloka podataka, broj niti itd.

Gore spomenuti dnevnik snimanja na SSD-u funkcionira na način da čim u njega dođu podaci, servis ga odmah čita i upisuje na HDD. Postoji nekoliko usluga metapodataka (MDS) po klasteru i njihov broj je određen kvorumom koji radi prema Paxos algoritmu. Sa stanovišta klijenta, tačka montiranja FUSE je fascikla za skladištenje klastera koja je istovremeno vidljiva svim čvorovima u klasteru, svaki čvor ima montiranog klijenta po ovom principu, tako da je ova memorija dostupna svakom čvoru.

Za izvođenje bilo kojeg od gore opisanih pristupa, vrlo je važno, u fazi planiranja i postavljanja, pravilno konfigurirati mrežu, gdje će doći do balansiranja zbog agregacije i pravilno odabranog propusnog opsega mrežnog kanala. U agregaciji, važno je odabrati pravi način heširanja i veličine okvira. Postoji i vrlo jaka razlika u odnosu na gore opisani SDS, ovo je osigurač sa tehnologijom brzog puta u Virtuozzo Storage-u. Što, pored moderniziranog osigurača, za razliku od drugih open source rješenja, značajno povećava IOPS i omogućava vam da ne budete ograničeni horizontalnim ili vertikalnim skaliranjem. Generalno, u poređenju sa gore opisanim arhitekturama, ova izgleda moćnije, ali za takvo zadovoljstvo, naravno, morate kupiti licence, za razliku od Ceph-a i Glustera.

Da rezimiramo, možemo izdvojiti vrh od tri: Virtuozzo Storage zauzima prvo mjesto u smislu performansi i pouzdanosti arhitekture, Ceph zauzima drugo mjesto, a Gluster treće mjesto.

Kriterijumi po kojima je Virtuozzo Storage odabran: to je optimalan skup arhitektonskih komponenti, moderniziran za ovaj Fuse pristup s brzim putem, fleksibilnim skupom hardverskih konfiguracija, manjom potrošnjom resursa i mogućnošću dijeljenja s računanjem (računanje/virtualizacija), odnosno potpuno je pogodno za hiperkonvergirano rješenje čiji je dio. Drugo mjesto je Ceph jer je produktivnija arhitektura u odnosu na Gluster, zbog njegovog rada u blokovima, kao i fleksibilnijih scenarija i mogućnosti rada u većim klasterima.

U planu je pisanje poređenja između vSAN-a, Space Direct Storage-a, Vstorage-a i Nutanix Storage-a, testiranje Vstorage-a na HPE i Huawei opremi, kao i scenarija za integraciju Vstorage-a sa eksternim hardverskim sistemima za skladištenje podataka, tako da ako vam se sviđa članak, to bi bilo lijepo je dobiti povratnu informaciju od vas, koja bi mogla povećati motivaciju za nove članke, uzimajući u obzir vaše komentare i želje.

izvor: www.habr.com

Dodajte komentar