Danasîna kurt a mîmariya SDS an lêgerîna platformek hilanînê ya maqûl (GlusterVsCephVsVirtuozzoStorage)

Ev gotar hate nivîsandin ku ji we re bibe alîkar ku hûn ji bo xwe çareseriya rast hilbijêrin û cûdahiyên di navbera SDS-ê yên wekî Gluster, Ceph û Vstorage (Virtuozzo) de fêm bikin.

Nivîsar lînkên gotaran bi eşkerekirina hûrgulî ya hin pirsgirêkan bikar tîne, ji ber vê yekê ravekirin dê bi qasî ku pêkan kurt be, bi karanîna xalên sereke bêyî hûrguliyên nehewce û agahdariya destpêkê ku hûn dikarin, ger bixwazin, serbixwe li ser Înternetê bistînin bikar bînin.

Bi rastî, bê guman, mijarên ku têne raber kirin tonên nivîsê hewce dikin, lê di cîhana nûjen de her ku diçe bêtir mirov ji xwendina pir hez nakin))), ji ber vê yekê hûn dikarin zû bixwînin û bijartinek bikin, û heke tiştek hebe ne zelal e, li pey girêdanan bişopînin an jî peyvên nezelal google))), û ev gotar ji bo van mijarên kûr mîna pêçekek zelal e, dagirtinê nîşan dide - xalên sereke yên her biryarê.

gluster

Ka em bi Gluster-ê dest pê bikin, ku ji hêla hilberînerên platformên hîperconverged ên bi SDS-ê ve li ser bingeha çavkaniya vekirî ya ji bo hawîrdorên virtual ve tê bikar anîn û dikare li ser malpera RedHat di beşa hilanînê de were dîtin, ku hûn dikarin ji du vebijarkên SDS-ê hilbijêrin: Gluster an Ceph.

Gluster ji stûnek wergêran pêk tê - karûbarên ku hemî karê belavkirina pelan, hwd. Brick karûbarek e ku yek dîskê xizmet dike, Volume cildek (hewzek) ye ku van kerpîçan dike yek. Dûv re karûbarê belavkirina pelan di koman de bi karanîna fonksiyona DHT (tabloya haş a belavkirî) tê. Em ê karûbarê Sharding di nav danasînê de negirin ji ber ku zencîreyên li jêr dê pirsgirêkên bi wê re têkildar diyar bikin.

Danasîna kurt a mîmariya SDS an lêgerîna platformek hilanînê ya maqûl (GlusterVsCephVsVirtuozzoStorage)

Di dema nivîsandinê de, tevahiya pelê di brickê de tête hilanîn û kopiya wê di heman demê de li ser servera duyemîn bi brick tê nivîsandin. Dûv re, pelê duyemîn dê ji koma duyemîn a du kerpîçan (an jî bêtir) li ser serverên cûda were nivîsandin.

Ger pelan bi qasî heman mezinahiyê bin û cild tenê ji yek komê pêk tê, wê hingê her tişt baş e, lê di bin şert û mercên din de dê pirsgirêkên jêrîn ji danasînan derkevin holê:

  • cîhê di koman de bi rengek neyeksan tê bikar anîn, ew bi mezinahiya pelan ve girêdayî ye û heke di komê de cîhê têra nivîsandina pelê tune be, hûn ê xeletiyek wergirin, pel dê neyê nivîsandin û li komek din neyê belavkirin. ;
  • dema ku pelek dinivîse, IO tenê diçe komekê, yên mayî bêkar in;
  • dema nivîsandina yek pelê hûn nekarin IO-ya tevahiya cildê bistînin;
  • û konsepta giştî ji ber nebûna belavkirina daneyan di nav blokan de kêmtir berhemdar xuya dike, ku li wir hevsengkirin û çareserkirina pirsgirêka belavkirina yekreng hêsantir e, û ne wekî ku naha tevahiya pelê diçe blokê.

Ji şiroveya fermî avakarî Di heman demê de em bê dilxwazî ​​​​digihîjin têgihiştinê ku gluster wekî hilanîna pelan li ser RAID-a hardware ya klasîk dixebite. Hewldanên pêşkeftinê hene ku pelên (Sharding) li blokan qut bikin, lê ev hemî pêvekek e ku windahiyên performansê li ser nêzîkatiya mîmarî ya jixwe heyî ferz dike, plus karanîna van pêkhateyên bi serbestî belavkirî bi sînorkirinên performansê yên wekî Fuse. Karûbarên metadata tune, ku dema ku pelan li blokan belav dike performans û kapasîteyên tolerasyona xeletiyê sînordar dike. Nîşaneyên performansa çêtir dikarin bi veavakirina "Distributed Replicated" werin dîtin û jimara girêkan divê herî kêm 6 be da ku kopiyek pêbawer 3 bi dabeşkirina barkirina çêtirîn organîze bike.

Van dîtinan jî bi danasîna ezmûna bikarhêner ve girêdayî ne gluster û dema ku bi ceph, û di heman demê de ravekirina ezmûnê jî heye ku dibe sedema têgihîştina vê veavakirina hilbertir û pêbawertir "Berbelavkirin Replicated".
Danasîna kurt a mîmariya SDS an lêgerîna platformek hilanînê ya maqûl (GlusterVsCephVsVirtuozzoStorage)

Wêneyê dema nivîsandina du pelan belavkirina barkirinê nîşan dide, ku kopiyên pelê yekem li ser sê serverên yekem têne belav kirin, ku di koma cildê 0 de têne berhev kirin, û sê kopiyên pelê duyemîn li koma duyemîn cildê 1 ji sê têne danîn. pêşkêşkerên. Her server yek dîskek heye.

Encama giştî ev e ku hûn dikarin Gluster bikar bînin, lê bi têgihiştina ku dê di performans û tolerasyona xeletiyê de sînordar hebin ku di bin hin şert û mercên çareseriyek hyperconverged de dijwariyan çêdike, li cihê ku çavkanî jî ji bo barkirinên hesabkirina hawîrdorên virtual hewce ne.

Di heman demê de hin nîşanên performansa Gluster jî hene ku di bin hin mercan de, bi sînorkirî têne bidestxistin tolerans xelet.

ceph

Naha em li Ceph ji danasînên mîmarî yên ku min karîbû binihêrin dîtin. Di navberê de berawirdkirinek jî heye Glusterfs û Ceph, ku hûn tavilê dikarin fêm bikin ku tê pêşniyar kirin ku Ceph li ser serverên cihêreng bicîh bikin, ji ber ku karûbarên wê hemî çavkaniyên hardware di bin barkirinê de hewce dike.

avakarî Ceph ji Gluster tevlihevtir e û karûbarên wekî karûbarên metadata hene, lê tevahiya stûna pêkhateyan ji bo karanîna wê di çareseriyek virtualîzasyonê de pir tevlihev e û ne pir maqûl e. Daneyên di blokan de têne hilanîn, ku hilbertir xuya dike, lê di hiyerarşiya hemî karûbaran (pêkhatan) de, di bin hin bargiran û mercên awarte de windahî û dereng hene, mînakî jêrîn tişt.

Ji ravekirina mîmariyê, dil CRUSH e, bi saya wê cîhê hilanîna daneyan tê hilbijartin. Dûv re PG tê - ev abstrakasyona herî dijwar e (koma mantiqî) ku tê fam kirin. PGs hewce ne ku CRUSH bêtir bandorker bikin. Armanca sereke ya PG komkirina tiştan e ku ji bo kêmkirina xerckirina çavkaniyê, zêdekirina performans û mezinbûnê ye. Navnîşankirina tiştan rasterast, ferdî, bêyî berhevkirina wan di PG-ê de dê pir biha be. OSD ji bo her dîskek kesane karûbarek e.

Danasîna kurt a mîmariya SDS an lêgerîna platformek hilanînê ya maqûl (GlusterVsCephVsVirtuozzoStorage)

Danasîna kurt a mîmariya SDS an lêgerîna platformek hilanînê ya maqûl (GlusterVsCephVsVirtuozzoStorage)

Komek dikare ji bo mebestên cihêreng û bi mîhengên cihêreng yek an gelek hewzên daneyê hebin. Hewz li komên danînê têne dabeş kirin. Komên danînê tiştên ku xerîdar digihîjin wan diparêzin. Li vir asta mentiqî bi dawî dibe, û asta laşî dest pê dike, ji ber ku ji her komekê veqetandinê yek dîskek sereke û çend dîskên replica têne destnîşan kirin (çiqas tam bi faktora dubarekirina hewzê ve girêdayî ye). Bi gotinek din, di asta mentiqî de, tişt di komek cîhek taybetî de, û di asta fizîkî de - li ser dîskên ku jê re hatine veqetandin tê hilanîn. Di vê rewşê de, dîskan dikarin bi fizîkî li ser girêkên cihêreng an jî di navendên daneyên cihêreng de cih bigirin.

Di vê pilanê de, komên danînê ji bo nermbûna tevaya çareseriyê wekî astek pêdivî xuya dikin, lê di heman demê de, wekî girêdanek zêde di vê zincîrê de, ku bê dilxwazî ​​windakirina hilberînê dide xuya kirin. Mînakî, dema ku daneyan dinivîsin, pêdivî ye ku pergal wê di van koman de veqetîne û dûv re di asta fizîkî de di dîska sereke û dîskên ji bo kopiyan de dabeş bike. Ango, fonksiyona Hash di dema lêgerîn û danîna tiştekê de dixebite, lê bandorek aliyî jî heye - ew lêçûn û sînorkirinên ji nû ve avakirina hash-ê (gava lê zêdekirin an rakirina dîskê) pir zêde ye. Pirsgirêkek din a hash cîhê zelal a daneyê ye ku nayê guhertin. Ango, heke bi rengek dîsk di bin barkirina zêde de be, wê hingê fersendê tune ku pergalê jê re nenivîse (bi bijartina dîskek din), fonksiyona hash mecbûr dike ku daneyan li gorî qaîdeyê bicîh bikin, her çend xirab be jî. dîskê ye, ji ber vê yekê Ceph dema ku PG-ê ji nû ve ava dike di doza xwe-saxkirin an zêdekirina hilanînê de gelek bîranîn dixwe. Encam ev e ku Ceph baş dixebite (her çend hêdî hêdî), lê tenê gava ku pîvandin, rewşên awarte, an nûvekirin tune.

Bê guman, vebijarkên ji bo zêdekirina performansê bi navgîniya caching û parvekirina cache-ê hene, lê ev hewceyê nermalava baş e û dê hîn jî windahî hebin. Lê bi tevayî, Ceph ji bo hilberîneriyê ji Gluster ceribandîtir xuya dike. Di heman demê de, dema ku van hilberan bikar tînin, pêdivî ye ku meriv faktorek girîng jî bihesibîne - ev astek jêhatîbûn, ezmûn û profesyonelîyek bilind e ku li ser Linux-ê giraniyek mezin e, ji ber ku pir girîng e ku meriv her tiştî bi rêkûpêk bicîh bike, mîheng bike û biparêze. ku hîn zêdetir berpirsyarî û bargiraniyê li ser rêveberiyê ferz dike.

Vstorage

Mîmarî hê balkêştir xuya dike Depokirina Virtuozzo (Vstorage), ku dikare bi hev re bi hypervisor li ser heman girêkan, li ser heman tê bikaranîn telaq, lê pir girîng e ku meriv her tiştî rast mîheng bike da ku performansa baş bi dest bixe. Ango, danîna hilberek wusa ji qutîkê li ser her mîhengê bêyî girtina pêşniyarên li gorî mîmariyê dê pir hêsan be, lê ne hilberdar be.

Tiştê ku dikare ji bo hilanînê li kêleka karûbarên hîpervisorê kvm-qemu bi hev re hebe, û ev tenê çend karûbar in ku tê de hiyerarşiyek çêtirîn ya pêkhateyan hatiye dîtin: karûbarê xerîdar ku bi riya FUSE ve hatî çêkirin (guhertin, ne çavkaniya vekirî), karûbarê metadata MDS (Xizmeta Metadata), karûbarê blokên daneya karûbarê Chunk, ku di asta laşî de bi yek dîskê re wekhev e û ew e. Di warê lezê de, bê guman, çêtirîn e ku meriv bi du kopiyan re nexşeyek toleransê ya xelet bikar bîne, lê heke hûn li ser ajokarên SSD-ê caching û têketinê bikar bînin, wê hingê kodkirina xelet-tolerans (kodkirina jêbirin an raid6) dikare li ser deverek bi rengek xweş were zêdekirin. nexşeya hybrid an jî hê çêtir li ser hemî flash. Di EC-ê de kêmasiyek heye (kodkirina jêbirin): dema ku yek bloka daneyê diguhezîne, pêdivî ye ku meriv mîqdarên hevsengiyê ji nû ve were hesibandin. Ji bo derbaskirina windahiyên ku bi vê operasyonê ve girêdayî ne, Ceph ji EC-ê re bi paş ve dinivîse û pirsgirêkên performansê dikarin di dema daxwazek diyarkirî de çêbibin, gava ku, wek nimûne, pêdivî ye ku hemî blokan bêne xwendin, û di mijara Virtuozzo Storage de, nivîsandina blokên guhezbar têne kirin. bi karanîna nêzîkatiya "pergala pelê-sazkirî ya têketinê", ku lêçûnên hesabkirina hevsengiyê kêm dike. Ji bo texmînkirina vebijarkên bi lezkirina xebatê bi û bê EC, hene hesabker. - Li gorî rêjeya rastbûna çêkerê amûrê jimar dikarin nêzikî bin, lê encama hesaban di plansazkirina veavakirinê de alîkariyek baş e.

Diagramek hêsan a hêmanên hilanînê nayê vê wateyê ku van pêkhateyan nagirin çavkaniyên hesin, lê heke hûn hemî lêçûnên pêşwext hesab bikin, hûn dikarin li kêleka hypervisor li ser hevkariyê hesab bikin.
Ji bo berhevdana xerckirina çavkaniyên hardware ji hêla karûbarên hilanînê yên Ceph û Virtuozzo ve nexşeyek heye.

Danasîna kurt a mîmariya SDS an lêgerîna platformek hilanînê ya maqûl (GlusterVsCephVsVirtuozzoStorage)

Ger berê mimkun bû ku Gluster û Ceph bi karanîna gotarên kevn, bi karanîna rêzikên herî girîng ên ji wan were berhev kirin, wê hingê ew bi Virtuozzo re dijwartir e. Li ser vê hilberê gelek gotar tune ne û agahdarî tenê ji belgeyên li ser têne girtin bi îngilîzî an jî bi rûsî heke em Vstorage wekî hilanînê bihesibînin ku di hin çareseriyên hyperconverged de di pargîdaniyên wekî mîna Rosplatforma û Acronis.

Ez ê hewl bidim ku bi danasîna vê mîmariyê re arîkar bikim, ji ber vê yekê dê nivîsek piçûktir hebe, lê ji bo têgihîştina belgenameyê bi xwe gelek dem digire, û belgeyên heyî tenê bi guheztina tabloyê dikare wekî referans were bikar anîn. naverokê an lêgerîna bi peyva key.

Ka em pêvajoya tomarkirinê di veavakirinek hardware ya hîbrid de bi hêmanên ku li jor hatine destnîşan kirin bihesibînin: tomar dest pê dike ku biçe girêka ku xerîdar jê dest pê kiriye (karûbarê xala mount FUSE), lê beşa sereke ya Karûbarê Metadata (MDS) bê guman dê xerîdar rasterast rasterast berbi karûbarê perçeya xwestî (karûbarê hilanînê blokên CS-ê) bişînin, ango, MDS beşdarî pêvajoya tomarkirinê nabe, lê tenê karûbarê berbi perçeya hewce dike. Bi gelemperî, em dikarin bi tomarkirina bi rijandina avê di bermîlan de hevahengiyek bidin. Her bermîl bloka daneya 256 MB ye.

Danasîna kurt a mîmariya SDS an lêgerîna platformek hilanînê ya maqûl (GlusterVsCephVsVirtuozzoStorage)

Ango, yek dîsk hejmarek diyarkirî ya bermîlên weha ye, ango qebareya dîskê bi 256 MB ve tê dabeş kirin. Her nusxeyek li nodekek tê belav kirin, ya duyemîn hema hema paralel bi girêka din re, hwd... Ger sê kopiyên me hebin û dîskên SSD ji bo cache (ji bo xwendin û nivîsandina têketin) hebin, wê hingê piştrastkirina nivîsandinê dê piştî nivîsandinê çêbibe. têketin SSD-ê, û vesazkirina paralel ji SSD-ê dê li ser HDD-ê berdewam bike, mîna ku di paşerojê de be. Di doza sê kopiyan de, tomar dê piştî pejirandina ji SSD-ya girêka sêyemîn were kirin. Dibe ku xuya bibe ku berhevoka leza nivîsandinê ya sê SSD-yê dikare bi sê ve were dabeş kirin û em ê leza nivîsandinê ya yek kopiyek bistînin, lê kopiyan paralel têne nivîsandin û leza Derengiya torê bi gelemperî ji ya SSD-ê bilindtir e. û bi rastî performansa nivîsandinê dê bi torê ve girêdayî be. Di vî warî de, ji bo ku hûn IOPS-a rastîn bibînin, hûn hewce ne ku hûn tevahî Vstorage bi rast bar bikin metodolojî, ango ceribandina barkirina rastîn, û ne bîranîn û cache, li ku derê pêdivî ye ku meriv mezinahiya bloka daneya rast, hejmara têlan, hwd.

Têketina tomara jorîn a li ser SSD-ê bi vî rengî dixebite ku gava ku dane têkevin nav wê, ew tavilê ji hêla karûbar ve tê xwendin û ji HDD-ê re tê nivîsandin. Li her komê çend karûbarên metadata (MDS) hene û hejmara wan ji hêla quorumê ve tê destnîşankirin, ku li gorî algorîtmaya Paxos dixebite. Ji nihêrîna xerîdar, xala mount FUSE peldankek hilanîna komê ye ku bi hevdemî ji hemî girêkên komê re xuya dibe, her girêk li gorî vê prensîbê xerîdarek siwarkirî heye, ji ber vê yekê ev hilanîn ji her girêkek re peyda dibe.

Ji bo performansa yek ji van nêzîkatiyên ku li jor hatine destnîşan kirin, pir girîng e, di qonaxa plansazkirin û bicîhkirinê de, bi rast vesazkirina torê, li cihê ku dê hevsengiyek ji ber kombûn û pêlava bandê ya kanala torê ya rast hilbijartî hebe. Di berhevkirinê de, girîng e ku meriv moda hashing û pîvanên çarçoveyê rast hilbijêrin. Di heman demê de cûdahiyek pir xurt ji SDS-a ku li jor hatî destnîşan kirin jî heye, ev yek bi teknolojiya rêça bilez a di Virtuozzo Storage de ye. Kîjan, ji bilî sîgorteya nûjenkirî, berevajî çareseriyên din ên çavkaniya vekirî, bi girîngî IOPS-ê zêde dike û dihêle hûn ji hêla pîvandina horizontî an vertîkal ve nemînin. Bi gelemperî, li gorî mîmariyên ku li jor hatine destnîşan kirin, ev yek bi hêztir xuya dike, lê ji bo kêfa wusa, bê guman, hûn hewce ne ku lîsans bikirin, berevajî Ceph û Gluster.

Bi kurtasî, em dikarin sêyan jor ronî bikin: Virtuozzo Storage di warê performans û pêbaweriya mîmariyê de cîhê yekem digire, Ceph cîhê duyemîn digire, û Gluster cîhê sêyemîn digire.

Pîvanên ku Virtuozzo Storage bi wan ve hatî hilbijartin: ew komek çêtirîn pêkhateyên mîmarî ye, ku ji bo vê nêzîkatiya Fuse bi rêça bilez ve hatî nûjen kirin, komek mîhengên hardware-ya maqûl, kêm xerckirina çavkaniyê û şiyana parvekirina bi hesabkirinê (hejmar/virtualîzasyon) ango, ew bi tevahî ji bo çareseriyek hyperconverged e, ku ew beşek jê ye. Cihê duyemîn Ceph e ji ber ku ew mîmariyek hilberdartir e li gorî Gluster, ji ber xebata wê ya di blokan de, û her weha senaryoyên maqûltir û şiyana ku di komikên mezin de bixebite.

Plan hene ku di navbera vSAN, Space Direct Storage, Vstorage û Nutanix Storage de berhevokek binivîsin, ceribandina Vstorage li ser alavên HPE û Huawei, û her weha senaryoyên yekkirina Vstorage bi pergalên hilanîna hardware ya derveyî re, ji ber vê yekê heke we gotarê jê hez kir, ew ê be. xweş e ku meriv ji we bertek werdigire, ku dikare motîvasyona gotarên nû zêde bike, li gorî şîrove û daxwazên we.

Source: www.habr.com

Add a comment