Breve paragone di l'architettura SDS o truvà a piattaforma di almacenamentu ghjusta (GlusterVsCephVsVirtuozzoStorage)

Questu articulu hè statu scrittu per aiutà à sceglie a suluzione ghjusta per sè stessu è capisce e differenze trà SDS cum'è Gluster, Ceph è Vstorage (Virtuozzo).

U testu usa ligami à l'articuli cù una divulgazione più dettagliata di certi prublemi, perchè e descrizzioni seranu u più brevi pussibule, utilizendu punti chjave senza fluff innecessarii è infurmazione introduttiva chì pudete, se vulete, ottene indipindente in Internet.

In fatti, sicuru, i temi suscitati necessitanu i toni di u testu, ma in u mondu mudernu più è più persone ùn piace micca leghje assai))), cusì pudete leghje rapidamente è fà una scelta, è se qualcosa hè. micca chjaru, seguitate i ligami o google parole unclear))), è questu articulu hè cum'è un wrapper trasparente per questi temi profondi, chì mostra u riempimentu - i punti chjave principali di ogni decisione.

gluster

Cuminciamu cù Gluster, chì hè attivamente utilizatu da i pruduttori di piattaforme iperconvergenti cù SDS basati in open source per ambienti virtuali è ponu esse truvati in u situ web RedHat in a sezione di almacenamento, induve pudete sceglie trà dui opzioni SDS: Gluster o Ceph.

Gluster hè custituitu da una pila di traduttori - servizii chì facenu tuttu u travagliu di distribuzione di schedari, etc. Brick hè un serviziu chì serve un discu, Volume hè un voluminu (piscina) chì unisce sti mattoni. Dopu vene u serviziu per a distribuzione di fugliali in gruppi cù a funzione DHT (distributed hash table). Ùn includeremu micca u serviziu di Sharding in a descrizzione postu chì i ligami sottu descriverà i prublemi assuciati cù questu.

Breve paragone di l'architettura SDS o truvà a piattaforma di almacenamentu ghjusta (GlusterVsCephVsVirtuozzoStorage)

Quandu scrivite, u schedariu sanu hè guardatu in brique è a so copia hè scritta simultaneamente à u mattone in u sicondu servitore. In seguitu, u sicondu schedariu serà scrittu à u sicondu gruppu di dui mattoni (o più) in diversi servitori.

Sì i schedari sò apprussimatamente a stessa dimensione è u voluminu hè custituitu da un solu gruppu, allora tuttu hè bè, ma in altre cundizioni, i seguenti prublemi nasceranu da e descrizzioni:

  • U spaziu in gruppi hè utilizatu in modu irregulare, dipende da a dimensione di i schedari è s'ellu ùn ci hè micca abbastanza spaziu in u gruppu per scrive un schedariu, riceverete un errore, u schedariu ùn serà micca scrittu è ùn serà micca ridistribuitu à un altru gruppu. ;
  • quandu scrivite un schedariu, IO va solu à un gruppu, u restu hè inattivu;
  • ùn pudete micca uttene IO di tuttu u voluminu quandu scrive un schedariu;
  • è u cuncettu generale pari menu pruduttivu per via di a mancanza di distribuzione di dati in blocchi, induve hè più faciule per equilibrà è risolve u prublema di distribuzione uniforme, è micca cum'è avà tuttu u schedariu entra in un bloccu.

Da a descrizzione ufficiale architettura avemu ancu involuntariamente ghjuntu à l'intelligenza chì gluster funziona cum'è almacenamentu di schedari in cima à u RAID hardware classicu. Ci sò stati tentativi di sviluppu di taglià i schedarii (Sharding) in blocchi, ma tuttu questu hè un aghjuntu chì impone pèrdite di rendiment nantu à l'approcciu architettonicu digià esistente, più l'usu di tali cumpunenti distribuiti liberamente cù limitazioni di rendiment cum'è Fuse. Ùn ci hè micca servizii di metadati, chì limitanu e capacità di prestazione è di tolleranza di difetti di l'almacenamiento quandu si distribuiscenu i schedari in blocchi. Indicatori di rendiment megliu ponu esse osservati cù a cunfigurazione "Distributed Replicated" è u numeru di nodi deve esse almenu 6 per urganizà una replica affidabile 3 cù una distribuzione ottima di carica.

Questi risultati sò ancu ligati à a descrizzione di l'esperienza di l'utilizatori gluster è quandu paragunatu cù ceph, è ci hè ancu una descrizzione di l'esperienza chì porta à una cunniscenza di sta cunfigurazione più produtiva è più affidabile "Distribuitu replicatu".
Breve paragone di l'architettura SDS o truvà a piattaforma di almacenamentu ghjusta (GlusterVsCephVsVirtuozzoStorage)

A stampa mostra a distribuzione di carica quandu scrivite dui schedari, induve e copie di u primu schedariu sò distribuite in i primi trè servitori, chì sò cumminati in u gruppu di u voluminu 0, è trè copie di u sicondu schedariu sò posti nantu à u sicondu gruppu volume1 di trè. servitori. Ogni servitore hà un discu.

A cunclusione generale hè chì pudete aduprà Gluster, ma cun l'intelligenza chì ci saranu limitazioni in u rendiment è a tolleranza di difetti chì creanu difficultà in certi cundizioni di una suluzione iperconvergente, induve e risorse sò ancu necessarie per i carichi di l'informatica di l'ambienti virtuali.

Ci hè ancu alcuni indicatori di rendiment Gluster chì ponu esse ottenuti in certi cundizioni, limitati à tolleranza à i difetti.

ceph

Avà fighjemu à Ceph da e descrizzioni di l'architettura chì aghju pussutu truvà. Ci hè ancu un paragone trà Glusterfs è Ceph, induve pudete capisce immediatamente chì hè cunsigliu di implementà Ceph in servitori separati, postu chì i so servizii necessitanu tutte e risorse hardware sottu carica.

architettura Ceph più cumplessu di Gluster è ci sò servizii cum'è servizii di metadata, ma tutta a pila di cumpunenti hè abbastanza cumplessa è micca assai flexible per aduprà in una suluzione di virtualizazione. I dati sò guardati in blocchi, chì pare più pruduttivu, ma in a ghjerarchia di tutti i servizii (cumpunenti), ci sò pèrdite è latenza in certi carichi è cundizioni d'urgenza, per esempiu i seguenti. articulu.

Da a descrizzione di l'architettura, u core hè CRUSH, grazia à quale u locu per almacenà e dati hè sceltu. Dopu vene PG - questu hè l'astrazione più difficiuli (gruppu logicu) per capiscenu. I PG sò necessarii per fà CRUSH più efficace. U scopu principale di PG hè di raggruppà l'ogetti per riduce u cunsumu di risorse, aumentà u rendiment è a scalabilità. L'indirizzu di l'ogetti direttamente, individualmente, senza cumminà in un PG seria assai caru. OSD hè un serviziu per ogni discu individuale.

Breve paragone di l'architettura SDS o truvà a piattaforma di almacenamentu ghjusta (GlusterVsCephVsVirtuozzoStorage)

Breve paragone di l'architettura SDS o truvà a piattaforma di almacenamentu ghjusta (GlusterVsCephVsVirtuozzoStorage)

Un cluster pò avè unu o parechji pools di dati per diversi scopi è cù diverse paràmetri. Piscine sò spartuti in gruppi di piazzamentu. I gruppi di piazzamentu guardanu l'ogetti chì i clienti accedenu. Hè quì chì u livellu lògicu finisci, è u livellu fisicu principia, perchè ogni gruppu di piazzamentu hè assignatu un discu principale è parechji dischi di replica (quanti depende esattamente di u fattore di replicazione di piscina). In altri palori, à u livellu lògicu l'ughjettu hè guardatu in un gruppu di piazzamentu specificu, è à u livellu fisicu - nantu à i dischi chì sò assignati. In questu casu, i dischi ponu esse fisicamenti situati in diversi nodi o ancu in diversi centri di dati.

In questu schema, i gruppi di piazzamentu pareanu un livellu necessariu per a flessibilità di a suluzione sana, ma à u stessu tempu, cum'è un ligame extra in questa catena, chì involuntariamente suggerisce una perdita di produtividade. Per esempiu, quandu scrivite dati, u sistema hà bisognu di sparte in questi gruppi è dopu à u livellu fisicu in u discu principale è i dischi per riplichi. Vale à dì, a funzione Hash funziona quandu cercate è inserisce un ughjettu, ma ci hè un effettu side - hè assai costu è restrizioni à ricustruisce l'hash (quandu aghjunghje o sguassate un discu). Un altru prublema di hash hè u locu chjaramente inchiodatu di dati chì ùn pò micca esse cambiatu. Questu hè, se in qualchì modu u discu hè sottumessu à una carica aumentata, u sistema ùn hà micca l'uppurtunità di ùn scrive micca à ellu (selezziunendu un altru discu), a funzione hash oblige i dati à esse situatu secondu a regula, ùn importa micca quantu male. u discu hè, cusì Ceph manghja assai memoria quandu ricustruisce u PG in casu d'auto-guarigione o crescente di almacenamento. A cunclusione hè chì Ceph travaglia bè (anche lentamente), ma solu quandu ùn ci hè micca scala, situazione d'urgenza, o aghjurnamenti.

Ci sò, sicuru, opzioni per aumentà u rendiment per via di cache è spartera di cache, ma questu hè bisognu di un bonu hardware è ci saranu sempre perdite. Ma in generale, Ceph pare più tentatore di Gluster per a produtividade. Inoltre, quandu si usanu sti prudutti, hè necessariu di piglià in contu un fattore impurtante - questu hè un altu livellu di cumpetenza, sperienza è prufessionalità cù un grande enfasi in Linux, postu chì hè assai impurtante di implementà, cunfigurà è sustene tuttu bè, chì impone ancu più rispunsabilità è carica à l'amministratore.

Vstorage

L'architettura pare ancu più interessante Virtuozzo storage (Vstorage), chì pò esse usatu in cunghjunzione cù un ipervisore nantu à i stessi nodi, nantu à u listessu glandula, ma hè assai impurtante di cunfigurà tuttu currettamente per ottene una bona prestazione. Questu hè, implementà un tali pruduttu da a scatula nantu à qualsiasi cunfigurazione senza piglià in contu i cunsiglii in cunfurmità cù l'architettura serà assai faciule, ma micca pruduttivu.

Ciò chì pò coesiste per u almacenamentu vicinu à i servizii di l'ipervisore kvm-qemu, è questi sò solu uni pochi di servizii induve una ghjerarchia ottimale compacta di cumpunenti hè stata trovata: serviziu di cliente muntatu via FUSE (modificatu, micca open source), serviziu di metadata MDS. (Metadata serviziu), serviziu Chunk serviziu blocchi dati, chì à u livellu fisicu hè uguali à un discu è chì hè tuttu. In termini di velocità, di sicuru, hè ottimale per utilizà un schema tolerante à i difetti cù duie rèpliche, ma se utilizate caching è logs in unità SSD, allora a codificazione tolerante à l'errore (sguassà codificazione o raid6) pò esse decentemente overclockata schema hibrido o ancu megliu nantu à tutti i flash. Ci hè qualchì svantaghju cù EC (sguassà codificazione): quandu cambia un bloccu di dati, hè necessariu di ricalculate i quantità di parità. Per bypassà i perditi assuciati à sta operazione, Ceph scrive à EC differitamenti è i prublemi di prestazione ponu accade durante una certa dumanda, quandu, per esempiu, tutti i blocchi anu da esse leghje, è in u casu di Virtuozzo Storage, scrive i blocchi cambiati hè realizatu. utilizendu l'approcciu di "sistema di schedari strutturatu di log", chì minimizes i costi di calculu di parità. Per stimà circa l'opzioni cù l'accelerazione di u travagliu cù è senza EC, ci sò calculatrice. - i figuri ponu esse apprussimativi sicondu u coefficient di precisione di u fabricatore di l'equipaggiu, ma u risultatu di i calculi hè un bonu aiutu in a pianificazione di a cunfigurazione.

Un schema simplice di cumpunenti di almacenamiento ùn significa micca chì questi cumpunenti ùn assorbanu micca risorse di ferru, ma se calcule tutti i costi in anticipu, pudete cuntà a cullaburazione vicinu à l'ipervisore.
Ci hè un schema per paragunà u cunsumu di risorse hardware da i servizii di almacenamiento Ceph è Virtuozzo.

Breve paragone di l'architettura SDS o truvà a piattaforma di almacenamentu ghjusta (GlusterVsCephVsVirtuozzoStorage)

Se prima era pussibule paragunà Gluster è Ceph usendu articuli antichi, utilizendu e linee più impurtanti da elli, allora cù Virtuozzo hè più difficiule. Ùn ci sò micca assai articuli nantu à stu pruduttu è l'infurmazioni ponu esse raccolti solu da a documentazione in inglese o in Russu si cunsideremu Vstorage cum'è almacenamiento utilizatu in qualchi suluzione hyperconverged in cumpagnie cum'è Rosplatforma è Acronis.

Pruvaraghju di aiutà cù una descrizzione di sta architettura, cusì ci sarà un pocu di più testu, ma ci vole assai tempu per capisce a documentazione sè stessu, è a documentazione esistente pò esse usata solu com'è riferimentu rivisendu a tavola. di cuntenutu o ricerca per keyword.

Cunsideremu u prucessu di registrazione in una cunfigurazione hardware hibrida cù i cumpunenti descritti sopra: a registrazione principia à andà à u node da quale u cliente l'hà iniziatu (u serviziu di puntu di muntagna FUSE), ma u cumpunente maestru di Metadata Service (MDS) serà sicuru. dirige u cliente direttamente à u serviziu di chunk desideratu (serviziu di almacenamentu blocchi CS), vale à dì, MDS ùn participa micca à u prucessu di registrazione, ma solu dirige u serviziu à u chunk necessariu. In generale, pudemu dà una analogia à l'arregistramentu cù versà l'acqua in barili. Ogni barile hè un bloccu di dati 256MB.

Breve paragone di l'architettura SDS o truvà a piattaforma di almacenamentu ghjusta (GlusterVsCephVsVirtuozzoStorage)

Vale à dì, un discu hè un certu numaru di tali barili, vale à dì u voluminu di u discu divisu da 256MB. Ogni copia hè distribuitu à un node, u sicondu quasi in parallelu à un altru node, etc... Se avemu trè rèpliche è ci sò dischi SSD per a cache (per leghje è scrive logs), allora a cunferma di a scrittura sarà dopu a scrittura. u logu à u SSD, è u resettore parallelu da u SSD cuntinueghja nantu à u HDD, cum'è in u fondu. In u casu di trè rèpliche, u recordu serà impegnatu dopu a cunferma da u SSD di u terzu node. Pò esse chì a somma di a velocità di scrittura di trè SSD pò esse divisa da trè è averemu a velocità di scrittura di una replica, ma e copie sò scritte in parallelu è a velocità di latenza di a rete hè di solitu più altu ch'è quella di u SSD. è in fattu u rendiment di scrittura dependerà di a reta. In questu sensu, per vede IOPS reali, avete bisognu di carricà currettamente tuttu u Vstorage da metodulugia, chì hè, pruvà a carica vera, è micca a memoria è a cache, induve hè necessariu di piglià in contu a dimensione curretta di u bloccu di dati, u numeru di fili, etc.

U logu di registrazione sopra citatu nantu à u SSD travaglia in tale manera chì appena i dati entranu in questu, hè immediatamente lettu da u serviziu è scrittu à u HDD. Ci sò parechji servizii di metadata (MDS) per cluster è u so numeru hè determinatu da un quorum, chì travaglia secondu l'algoritmu Paxos. Da u puntu di vista di u cliente, u puntu di muntagna FUSE hè un cartulare di almacenamento di cluster chì hè simultaneamente visibile à tutti i nodi in u cluster, ogni node hà un cliente muntatu secondu stu principiu, cusì stu almacenamentu hè dispunibule per ogni node.

Per u funziunamentu di qualsiasi di l'avvicinamenti descritti sopra, hè assai impurtante, in u stadiu di pianificazione è implementazione, per cunfigurà currettamente a rete, induve ci sarà equilibriu per l'agregazione è a larghezza di banda di u canali di rete currettamente selezziunata. In aggregazione, hè impurtante di sceglie u modu di hashing ghjustu è e dimensioni di quadru. Ci hè ancu una diffarenza assai forte da a SDS descritta sopra, questu hè fuse cù a tecnulugia di via veloce in Virtuozzo Storage. Chì, in più di u fusible mudernizatu, à u cuntrariu di l'altri suluzioni open source, aumenta significativamente IOPS è permette di ùn esse limitatu da scala horizontale o verticale. In generale, paragunatu à l'architetture descritte sopra, questu pare più putente, ma per un piacè cusì, sicuru, avete bisognu di cumprà licenze, à u cuntrariu di Ceph è Gluster.

Per sintetizà, pudemu mette in risaltu u cima di i trè: Virtuozzo Storage piglia u primu postu in termini di prestazioni è affidabilità di l'architettura, Ceph piglia u sicondu postu, è Gluster piglia u terzu postu.

I criteri per quale Virtuozzo Storage hè statu sceltu: hè un inseme ottimale di cumpunenti architettoniali, mudernizatu per questu approcciu di Fuse cù un percorsu veloce, un inseme flessibile di cunfigurazioni hardware, menu cunsumu di risorse è a capacità di sparte cù compute (informatica / virtualizazione), vale à dì, hè cumplettamente adattatu per una suluzione hyperconverged, chì ellu face parte. U sicondu postu hè Ceph perchè hè una architettura più produtiva paragunata à Gluster, per via di u so funziunamentu in blocchi, è ancu di scenarii più flessibili è a capacità di travaglià in clusters più grande.

Ci hè un pianu di scrive un paragone trà vSAN, Space Direct Storage, Vstorage è Nutanix Storage, testendu Vstorage nantu à l'equipaggiu HPE è Huawei, è ancu scenarii per integrà Vstorage cù sistemi di almacenamentu di hardware esterni, perchè se ti piace l'articulu, saria piacevule per avè un feedback da voi, chì puderia aumentà a motivazione per i novi articuli, tenendu in contu i vostri cumenti è desideri.

Source: www.habr.com

Add a comment