ÄŖss SDS arhitektÅ«ras salÄ«dzinājums vai piemērotas uzglabāŔanas platformas meklÄ“Å”ana (GlusterVsCephVsVirtuozzoStorage)

Å is raksts tika uzrakstÄ«ts, lai palÄ«dzētu jums izvēlēties sev piemērotāko risinājumu un izprastu atŔķirÄ«bas starp SDS, piemēram, Gluster, Ceph un Vstorage (Virtuozzo).

Tekstā tiek izmantotas saites uz rakstiem ar detalizētāku noteiktu problēmu atklāŔanu, tāpēc apraksti bÅ«s pēc iespējas Ä«si, izmantojot galvenos punktus bez liekas pÅ«koÅ”anas un ievadinformāciju, ko, ja vēlaties, varat patstāvÄ«gi iegÅ«t internetā.

PatiesÄ«bā, protams, izvirzÄ«tās tēmas prasa teksta toņus, taču mÅ«sdienu pasaulē arvien vairāk cilvēku nepatÄ«k daudz lasÄ«t))), lai jÅ«s varētu ātri izlasÄ«t un izdarÄ«t izvēli, un, ja kaut kas ir nav skaidrs, sekojiet saitēm vai google neskaidros vārdus))), un Å”is raksts ir kā caurspÄ«dÄ«gs iesaiņojums Ŕīm dziļajām tēmām, kas parāda pildÄ«jumu - katra lēmuma galvenos atslēgas punktus.

Mirdzums

Sāksim ar Gluster, ko aktīvi izmanto hiperkonverģēto platformu ražotāji ar uz atvērtā koda bāzētu SDS virtuālajām vidēm un kas atrodams RedHat mājaslapas krātuves sadaļā, kur var izvēlēties no divām SDS iespējām: Gluster vai Ceph.

Gluster sastāv no tulku kaudzes - servisiem, kas veic visu failu izplatÄ«Å”anas darbu utt. Brick ir serviss, kas apkalpo vienu disku, Volume ir sējums (pool), kas apvieno Å”os Ä·ieÄ£eļus. Nākamais ir pakalpojums failu sadalei grupās, izmantojot DHT (distributed hash table) funkciju. Mēs neiekļausim Sharding pakalpojumu aprakstā, jo tālāk norādÄ«tajās saitēs ir aprakstÄ«tas ar to saistÄ«tās problēmas.

ÄŖss SDS arhitektÅ«ras salÄ«dzinājums vai piemērotas uzglabāŔanas platformas meklÄ“Å”ana (GlusterVsCephVsVirtuozzoStorage)

Rakstot, viss fails tiek saglabāts ķieģelī un tā kopija vienlaikus tiek ierakstīta ķieģelī otrajā serverī. Pēc tam otrais fails tiks ierakstīts otrajā divu (vai vairāku) ķieģeļu grupā dažādos serveros.

Ja faili ir aptuveni vienāda izmēra un sējums sastāv tikai no vienas grupas, tad viss ir kārtÄ«bā, bet citos apstākļos no aprakstiem radÄ«sies Ŕādas problēmas:

  • vieta grupās tiek izmantota nevienmērÄ«gi, tas ir atkarÄ«gs no failu lieluma un ja grupā nepietiks vietas faila rakstÄ«Å”anai, tiks parādÄ«ts kļūdas ziņojums, fails netiks ierakstÄ«ts un netiks pārdalÄ«ts citai grupai ;
  • rakstot vienu failu, IO iet tikai uz vienu grupu, pārējie ir dÄ«kstāvē;
  • rakstot vienu failu, nevar iegÅ«t visa sējuma IO;
  • un vispārējā koncepcija izskatās mazāk produktÄ«va, jo trÅ«kst datu sadales blokos, kur ir vieglāk lÄ«dzsvarot un atrisināt vienmērÄ«gas izplatÄ«Å”anas problēmu, nevis kā tagad viss fails nonāk blokā.

No oficiālā apraksta arhitektÅ«ra mēs arÄ« neviļus nonākam pie izpratnes, ka gluster darbojas kā failu krātuve papildus klasiskajam aparatÅ«ras RAID. Ir bijuÅ”i izstrādes mēģinājumi sagriezt (Sharding) failus blokos, taču tas viss ir papildinājums, kas uzliek veiktspējas zudumus jau esoÅ”ajai arhitektoniskajai pieejai, kā arÄ« tādu brÄ«vi izplatÄ«tu komponentu izmantoÅ”anai ar veiktspējas ierobežojumiem kā Fuse. Nav metadatu pakalpojumu, kas ierobežo krātuves veiktspēju un kļūdu tolerances iespējas, sadalot failus blokos. Labākus veiktspējas rādÄ«tājus var novērot, izmantojot konfigurāciju ā€œDistributed Replicatedā€, un mezglu skaitam jābÅ«t vismaz 6, lai izveidotu uzticamu kopiju 3 ar optimālu slodzes sadalÄ«jumu.

Å ie atklājumi ir saistÄ«ti arÄ« ar lietotāja pieredzes aprakstu Mirdzums un salÄ«dzinot ar Cef, kā arÄ« ir sniegts pieredzes apraksts, kas ļauj izprast Å”o produktÄ«vāko un uzticamāku konfigurāciju ā€œReplicēts izplatÄ«tsā€.
ÄŖss SDS arhitektÅ«ras salÄ«dzinājums vai piemērotas uzglabāŔanas platformas meklÄ“Å”ana (GlusterVsCephVsVirtuozzoStorage)

Attēlā redzams slodzes sadalījums, rakstot divus failus, kur pirmā faila kopijas tiek sadalītas pa pirmajiem trim serveriem, kas ir apvienoti sējuma 0 grupā, bet otrā faila trīs kopijas tiek ievietotas otrās grupas sējumā1 no trim serveriem. Katram serverim ir viens disks.

Vispārējais secinājums ir tāds, ka Gluster var izmantot, taču saprotot, ka bÅ«s ierobežojumi veiktspējā un kļūdu tolerance, kas rada grÅ«tÄ«bas noteiktos hiperkonverģēta risinājuma apstākļos, kur resursi ir nepiecieÅ”ami arÄ« virtuālo vidi skaitļoÅ”anas slodzēm.

Ir arī daži Gluster veiktspējas rādītāji, kurus var sasniegt noteiktos apstākļos, ierobežoti līdz kļūdu tolerance.

Cef

Tagad apskatÄ«sim Cefu no arhitektÅ«ras aprakstiem, ko es varēju atrast. Ir arÄ« salÄ«dzinājums starp Glusterfs un Čefs, kur uzreiz var saprast, ka Ceph ir ieteicams izvietot atseviŔķos serveros, jo tā pakalpojumiem ir nepiecieÅ”ami visi slodzes aparatÅ«ras resursi.

ArhitektÅ«ra Cef sarežģītāks nekā Gluster, un ir tādi pakalpojumi kā metadatu pakalpojumi, taču visa komponentu kaudze ir diezgan sarežģīta un nav Ä«paÅ”i elastÄ«ga, lai to izmantotu virtualizācijas risinājumā. Dati tiek glabāti blokos, kas izskatās produktÄ«vāk, bet visu pakalpojumu (komponentu) hierarhijā ir zaudējumi un latentums noteiktās slodzēs un avārijas apstākļos, piemēram, Ŕādi rakstu.

No arhitektÅ«ras apraksta sirds ir CRUSH, pateicoties kam tiek izvēlēta datu glabāŔanas vieta. Tālāk nāk PG ā€“ tā ir visgrÅ«tāk saprotamā abstrakcija (loÄ£iskā grupa). PG ir nepiecieÅ”ami, lai padarÄ«tu CRUSH efektÄ«vāku. PG galvenais mērÄ·is ir grupēt objektus, lai samazinātu resursu patēriņu, palielinātu veiktspēju un mērogojamÄ«bu. Objektu adresÄ“Å”ana tieÅ”i, atseviŔķi, neapvienojot tos PG, bÅ«tu ļoti dārga. OSD ir pakalpojums katram atseviŔķam diskam.

ÄŖss SDS arhitektÅ«ras salÄ«dzinājums vai piemērotas uzglabāŔanas platformas meklÄ“Å”ana (GlusterVsCephVsVirtuozzoStorage)

ÄŖss SDS arhitektÅ«ras salÄ«dzinājums vai piemērotas uzglabāŔanas platformas meklÄ“Å”ana (GlusterVsCephVsVirtuozzoStorage)

Klasterim var bÅ«t viens vai vairāki datu kopumi dažādiem mērÄ·iem un ar dažādiem iestatÄ«jumiem. Baseini ir sadalÄ«ti izvietojumu grupās. Izvietojuma grupās tiek glabāti objekti, kuriem klienti piekļūst. Å eit beidzas loÄ£iskais lÄ«menis un sākas fiziskais lÄ«menis, jo katrai izvietojumu grupai tiek pieŔķirts viens galvenais disks un vairāki reprodukcijas diski (cik tieÅ”i ir atkarÄ«gs no kopas replikācijas faktora). Citiem vārdiem sakot, loÄ£iskajā lÄ«menÄ« objekts tiek glabāts noteiktā izvietojuma grupā, bet fiziskajā lÄ«menÄ« - diskos, kas tam ir pieŔķirti. Å ajā gadÄ«jumā diski var fiziski atrasties dažādos mezglos vai pat dažādos datu centros.

Å ajā shēmā izvietojumu grupas izskatās kā nepiecieÅ”amais lÄ«menis visa risinājuma elastÄ«bai, bet tajā paŔā laikā kā papildu posms Å”ajā ķēdē, kas neviļus liek domāt par produktivitātes zudumu. Piemēram, rakstot datus, sistēmai tie ir jāsadala Å”ajās grupās un pēc tam fiziskajā lÄ«menÄ« galvenajā diskā un diskos reprodukcijām. Tas ir, Hash funkcija darbojas, meklējot un ievietojot objektu, bet ir blakus efekts - tas ir ļoti augstas izmaksas un ierobežojumi hash atjaunoÅ”anai (pievienojot vai noņemot disku). Vēl viena hash problēma ir skaidri norādÄ«tā datu atraÅ”anās vieta, ko nevar mainÄ«t. Tas ir, ja diskam ir paaugstināta slodze, tad sistēmai nav iespējas tajā neierakstÄ«t (izvēloties citu disku), hash funkcija uzliek par pienākumu datiem atrasties saskaņā ar noteikumu, lai cik slikti tie bÅ«tu disks ir, tāpēc Ceph ēd daudz atmiņas, pārbÅ«vējot PG, ja notiek paÅ”atveseļoÅ”anās vai palielinās krātuve. Secinājums ir tāds, ka Ceph darbojas labi (kaut arÄ« lēni), bet tikai tad, ja nav mērogoÅ”anas, ārkārtas situācijas vai atjauninājumi.

Protams, ir iespējas palielināt veiktspēju, izmantojot keÅ”atmiņu un keÅ”atmiņas koplietoÅ”anu, taču tam ir nepiecieÅ”ama laba aparatÅ«ra, un joprojām bÅ«s zaudējumi. Bet kopumā Ceph produktivitātes ziņā izskatās vilinoŔāks nekā Gluster. Tāpat, lietojot Å”os produktus, ir jāņem vērā svarÄ«gs faktors - tas ir augsts kompetences, pieredzes un profesionalitātes lÄ«menis ar lielu uzsvaru uz Linux, jo ir ļoti svarÄ«gi visu pareizi izvietot, konfigurēt un atbalstÄ«t, kas uzliek administratoram vēl lielāku atbildÄ«bu un slogu.

Vstorage

ArhitektÅ«ra izskatās vēl interesantāka Virtuozzo krātuve (Vstorage), ko var izmantot kopā ar hipervizoru tajos paÅ”os mezglos, tajā paŔā dziedzeris, taču ir ļoti svarÄ«gi visu pareizi konfigurēt, lai sasniegtu labu veiktspēju. Tas ir, Ŕāda produkta izvietoÅ”ana no kastes jebkurā konfigurācijā, neņemot vērā ieteikumus saskaņā ar arhitektÅ«ru, bÅ«s ļoti vienkārÅ”a, bet ne produktÄ«va.

Kas var pastāvēt lÄ«dzās glabāŔanai blakus kvm-qemu hipervizora pakalpojumiem, un tie ir tikai daži pakalpojumi, kur ir atrasta kompakta optimāla komponentu hierarhija: klientu apkalpoÅ”ana, kas uzstādÄ«ta caur FUSE (modificēts, nevis atvērtā koda), MDS metadatu pakalpojums (Metadatu pakalpojums), pakalpojums Chunk pakalpojumu datu bloki, kas fiziskajā lÄ«menÄ« ir vienāds ar vienu disku un tas arÄ« viss. Ātruma ziņā, protams, ir optimāli izmantot kļūdu izturÄ«gu shēmu ar divām replikām, taču, ja izmantojat keÅ”atmiņu un žurnālus SSD diskos, tad kļūdu tolerantu kodÄ“Å”anu (koda dzÄ“Å”anas vai raid6) var pienācÄ«gi pārspÄ«lēt. hibrÄ«da shēma vai vēl labāk uz visām zibspuldzēm. EC (izdzēst kodÄ“Å”anu) ir kāds mÄ«nuss: mainot vienu datu bloku, ir jāpārrēķina paritātes summas. Lai apietu ar Å”o operāciju saistÄ«tos zaudējumus, Ceph raksta uz EC atliktā veidā un var rasties veiktspējas problēmas noteikta pieprasÄ«juma laikā, kad, piemēram, ir jālasa visi bloki, un Virtuozzo Storage gadÄ«jumā tiek veikta izmainÄ«to bloku rakstÄ«Å”ana. izmantojot ā€œlog-strukturētu failu sistēmuā€ pieeju, kas samazina paritātes aprēķināŔanas izmaksas. Lai aptuveni novērtētu iespējas ar darba paātrināŔanu ar un bez EK, ir kalkulators. ā€“ skaitļi var bÅ«t aptuveni atkarÄ«bā no iekārtas ražotāja precizitātes koeficienta, bet aprēķinu rezultāts ir labs palÄ«gs konfigurācijas plānoÅ”anā.

VienkārÅ”a uzglabāŔanas komponentu diagramma nenozÄ«mē, ka Ŕīs sastāvdaļas neuzsÅ«c dzelzs resursi, bet, ja iepriekÅ” parēķināsi visas izmaksas, tad blakus hipervizoram vari rēķināties ar sadarbÄ«bu.
Ir shēma Ceph un Virtuozzo krātuves pakalpojumu aparatÅ«ras resursu patēriņa salÄ«dzināŔanai.

ÄŖss SDS arhitektÅ«ras salÄ«dzinājums vai piemērotas uzglabāŔanas platformas meklÄ“Å”ana (GlusterVsCephVsVirtuozzoStorage)

Ja iepriekÅ” Gluster un Ceph bija iespējams salÄ«dzināt, izmantojot vecus rakstus, izmantojot svarÄ«gākās rindas no tiem, tad ar Virtuozzo tas ir grÅ«tāk. Par Å”o produktu nav daudz rakstu, un informāciju var iegÅ«t tikai no dokumentācijas Angļu valoda vai krievu valodā, ja mēs uzskatām Vstorage par krātuvi, ko izmanto dažos hiperkonverģētos risinājumos tādos uzņēmumos kā Rosplatforma un Acronis.

MēģināŔu palÄ«dzēt ar Ŕīs arhitektÅ«ras aprakstu, tāpēc teksta bÅ«s nedaudz vairāk, bet tas aizņem daudz laika, lai pats saprastu dokumentāciju, un esoÅ”o dokumentāciju var izmantot tikai kā atsauci, pārskatot tabulu saturu vai meklÄ“Å”anu pēc atslēgvārda.

ApskatÄ«sim ierakstÄ«Å”anas procesu hibrÄ«da aparatÅ«ras konfigurācijā ar iepriekÅ” aprakstÄ«tajiem komponentiem: ieraksts sāk pāriet uz mezglu, no kura klients to uzsāka (FUSE montÄ“Å”anas punkta pakalpojums), bet, protams, metadatu pakalpojuma (MDS) galvenais komponents. novirzÄ«t klientu tieÅ”i uz vēlamo gabala pakalpojumu (uzglabāŔanas pakalpojuma CS bloki), tas ir, MDS nepiedalās ierakstÄ«Å”anas procesā, bet vienkārÅ”i novirza pakalpojumu uz vajadzÄ«go gabalu. Kopumā mēs varam sniegt analoÄ£iju ierakstÄ«Å”anai ar Å«dens ielieÅ”anu mucās. Katra muca ir 256 MB datu bloks.

ÄŖss SDS arhitektÅ«ras salÄ«dzinājums vai piemērotas uzglabāŔanas platformas meklÄ“Å”ana (GlusterVsCephVsVirtuozzoStorage)

Tas ir, viens disks ir noteikts skaits Ŕādu mucu, tas ir, diska apjoms dalÄ«ts ar 256 MB. Katra kopija tiek izplatÄ«ta vienam mezglam, otra gandrÄ«z paralēli citam mezglam utt... Ja mums ir trÄ«s replikas un ir SSD diski keÅ”atmiņai (logu lasÄ«Å”anai un rakstÄ«Å”anai), tad ierakstÄ«Å”anas apstiprinājums notiks pēc rakstÄ«Å”anas žurnāls uz SSD, un paralēlā atiestatÄ«Å”ana no SSD turpināsies HDD, it kā fonā. TrÄ«s kopiju gadÄ«jumā ieraksts tiks veikts pēc apstiprinājuma no treŔā mezgla SSD. Var Ŕķist, ka trÄ«s SSD ierakstÄ«Å”anas ātrumu summu var dalÄ«t ar trÄ«s un iegÅ«sim vienas kopijas rakstÄ«Å”anas ātrumu, taču kopijas tiek rakstÄ«tas paralēli un tÄ«kla latentuma ātrums parasti ir lielāks nekā SSD, un patiesÄ«bā rakstÄ«Å”anas veiktspēja bÅ«s atkarÄ«ga no tÄ«kla. Å ajā sakarā, lai redzētu reālu IOPS, jums ir pareizi jāielādē visa Vstorage by metodoloÄ£ija, tas ir, reālās slodzes testÄ“Å”ana, nevis atmiņa un keÅ”atmiņa, kur jāņem vērā pareizais datu bloka izmērs, pavedienu skaits utt.

IepriekÅ” minētais ierakstu žurnāls SSD darbojas tā, ka, tiklÄ«dz tajā nonāk dati, serviss to nekavējoties nolasa un ieraksta HDD. Katrā klasterÄ« ir vairāki metadatu pakalpojumi (MDS), un to skaitu nosaka kvorums, kas darbojas saskaņā ar Paxos algoritmu. No klienta viedokļa FUSE mount point ir klastera krātuves mape, kas vienlaikus ir redzama visiem klastera mezgliem, katram mezglam pēc Ŕī principa ir uzstādÄ«ts klients, tāpēc Ŕī krātuve ir pieejama katram mezglam.

Lai veiktu jebkuru no iepriekÅ” aprakstÄ«tajām pieejām, plānoÅ”anas un izvietoÅ”anas stadijā ir ļoti svarÄ«gi pareizi konfigurēt tÄ«klu, kurā tiks veikta balansÄ“Å”ana agregācijas un pareizi izvēlēta tÄ«kla kanāla joslas platuma dēļ. Apkopojot, ir svarÄ«gi izvēlēties pareizo jaukÅ”anas režīmu un kadru izmērus. Ir arÄ« ļoti liela atŔķirÄ«ba no iepriekÅ” aprakstÄ«tā SDS, tas ir droÅ”inātājs ar ātrā ceļa tehnoloÄ£iju Virtuozzo Storage. Kas papildus modernizētajam droÅ”inātājam, atŔķirÄ«bā no citiem atvērtā pirmkoda risinājumiem, ievērojami palielina IOPS un ļauj neierobežot horizontālo vai vertikālo mērogoÅ”anu. Kopumā, salÄ«dzinot ar iepriekÅ” aprakstÄ«tajām arhitektÅ«rām, Å”is izskatās jaudÄ«gāks, bet tādam priekam, protams, ir jāiegādājas licences, atŔķirÄ«bā no Ceph un Gluster.

Apkopojot, mēs varam izcelt labāko no trim: Virtuozzo Storage ieņem pirmo vietu arhitektÅ«ras veiktspējas un uzticamÄ«bas ziņā, Ceph ieņem otro vietu un Gluster ieņem treÅ”o vietu.

Kritēriji, pēc kuriem tika izvēlēts Virtuozzo Storage: tas ir optimāls arhitektÅ«ras komponentu komplekts, kas modernizēts Å”ai Fuse pieejai ar ātru ceļu, elastÄ«gu aparatÅ«ras konfigurāciju komplektu, mazāku resursu patēriņu un iespēju koplietot ar skaitļoÅ”anu (skaitļoÅ”ana/virtualizācija), tas ir, tas ir pilnÄ«gi piemērots hiperkonverģētam risinājumam , kurā viņŔ ir daļa. Otrā vieta ir Ceph, jo tā ir produktÄ«vāka arhitektÅ«ra salÄ«dzinājumā ar Gluster, pateicoties tā darbÄ«bai blokos, kā arÄ« elastÄ«gākiem scenārijiem un iespējai strādāt lielākos klasteros.

Ir plānots uzrakstÄ«t salÄ«dzinājumu starp vSAN, Space Direct Storage, Vstorage un Nutanix Storage, testējot Vstorage uz HPE un Huawei iekārtām, kā arÄ« scenārijus Vstorage integrÄ“Å”anai ar ārējām aparatÅ«ras uzglabāŔanas sistēmām, tāpēc, ja raksts jums patika, tas bÅ«tu patÄ«kami saņemt no jums atsauksmes, kas varētu palielināt motivāciju jauniem rakstiem, ņemot vērā jÅ«su komentārus un vēlmes.

Avots: www.habr.com

Pievieno komentāru