Å 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.
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
Å ie atklÄjumi ir saistÄ«ti arÄ« ar lietotÄja pieredzes aprakstu
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
Cef
Tagad apskatÄ«sim Cefu no arhitektÅ«ras aprakstiem, ko es varÄju
Arhitektūra
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.
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
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
VienkÄrÅ”a uzglabÄÅ”anas komponentu diagramma nenozÄ«mÄ, ka Ŕīs sastÄvdaļas neuzsÅ«c
Ir shÄma Ceph un Virtuozzo krÄtuves pakalpojumu aparatÅ«ras resursu patÄriÅa salÄ«dzinÄÅ”anai.
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
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.
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
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