Perbandingan singkat arsitektur SDS utawa nemokake platform panyimpenan sing tepat (GlusterVsCephVsVirtuozzoStorage)

Artikel iki ditulis kanggo mbantu sampeyan milih solusi sing tepat kanggo sampeyan dhewe lan ngerti bedane SDS kayata Gluster, Ceph lan Vstorage (Virtuozzo).

Tèks kasebut nggunakake pranala menyang artikel kanthi pambocoran sing luwih rinci babagan masalah tartamtu, saéngga deskripsi bakal ringkes, nggunakake poin-poin penting tanpa fluff lan informasi pambuko sing ora perlu, yen sampeyan pengin, bisa dipikolehi kanthi mandiri ing Internet.

Nyatane, mesthine, topik sing diangkat mbutuhake nada teks, nanging ing donya modern luwih akeh wong ora seneng maca akeh))), supaya sampeyan bisa maca kanthi cepet lan nggawe pilihan, lan yen ana apa-apa. ora cetha, tindakake pranala utawa tembung google sing ora jelas))), lan artikel iki kaya bungkus transparan kanggo topik-topik sing jero, nuduhake ngisi - poin utama saben keputusan.

gluster

Ayo dadi miwiti karo Gluster, kang aktif digunakake dening manufaktur platform hyperconverged karo SDS adhedhasar open source kanggo lingkungan virtual lan bisa ditemokaké ing situs web RedHat ing bagean panyimpenan, ngendi sampeyan bisa milih saka rong pilihan SDS: Gluster utawa Ceph.

Gluster kasusun saka tumpukan penerjemah - layanan sing nindakake kabeh karya nyebarake file, etc. Brick minangka layanan sing nglayani siji disk, Volume minangka volume (blumbang) sing nggabungake bata kasebut. Sabanjure ana layanan kanggo nyebarake file menyang grup kanthi nggunakake fungsi DHT (tabel hash terdistribusi). Kita ora bakal kalebu layanan Sharding ing katrangan amarga pranala ing ngisor iki bakal njlèntrèhaké masalah sing ana gandhengane.

Perbandingan singkat arsitektur SDS utawa nemokake platform panyimpenan sing tepat (GlusterVsCephVsVirtuozzoStorage)

Nalika nulis, kabeh file disimpen ing bata lan salinan kasebut bebarengan ditulis ing bata ing server kapindho. Sabanjure, file kapindho bakal ditulis menyang klompok kapindho rong bata (utawa luwih) ing server sing beda.

Yen file kira-kira ukurane padha lan volume kasusun saka mung siji klompok, banjur kabeh iku apik, nanging ing kahanan liyane masalah ing ngisor iki bakal muncul saka gambaran:

  • spasi ing grup dimanfaatake kanthi ora rata, gumantung saka ukuran file lan yen ora cukup spasi ing grup kanggo nulis file, sampeyan bakal nampa kesalahan, file kasebut ora bakal ditulis lan ora bakal disebarake menyang grup liyane. ;
  • nalika nulis siji file, IO dadi mung siji klompok, liyane nganggur;
  • sampeyan ora bisa njaluk IO saka kabeh volume nalika nulis siji file;
  • lan konsep umum katon kurang produktif amarga lack saka distribusi data menyang pamblokiran, ngendi iku luwih gampang kanggo ngimbangi lan ngatasi masalah distribusi seragam, lan ora kaya saiki kabeh file dadi pemblokiran.

Saka katrangan resmi arsitektur kita uga involuntarily teka menyang pangerten sing gluster dianggo minangka panyimpenan file ing ndhuwur RAID hardware klasik. Ana upaya pangembangan kanggo ngethok file (Sharding) dadi blok, nanging kabeh iki minangka tambahan sing nyebabake kerugian kinerja ing pendekatan arsitektur sing wis ana, ditambah karo panggunaan komponen sing disebarake kanthi bebas kanthi watesan kinerja minangka Fuse. Ora ana layanan metadata, sing mbatesi kinerja lan kemampuan toleransi kesalahan ing panyimpenan nalika nyebarake file menyang blok. Indikator kinerja sing luwih apik bisa diamati kanthi konfigurasi "Distributed Replicated" lan jumlah simpul kudu paling sethithik 6 kanggo ngatur replika sing dipercaya 3 kanthi distribusi beban sing optimal.

Temuan kasebut uga ana gandhengane karo deskripsi pengalaman pangguna gluster lan yen dibandhingake karo ceph, lan ana uga gambaran saka pengalaman anjog kanggo pangerten konfigurasi luwih produktif lan dipercaya iki "Replicated Distributed".
Perbandingan singkat arsitektur SDS utawa nemokake platform panyimpenan sing tepat (GlusterVsCephVsVirtuozzoStorage)

Gambar kasebut nuduhake distribusi beban nalika nulis rong file, ing ngendi salinan file pisanan disebarake ing telung server pisanan, sing digabungake menyang grup volume 0, lan telung salinan file kapindho diselehake ing volume grup nomer loro saka telu. server. Saben server duwe siji disk.

Kesimpulan umum sing bisa nggunakake Gluster, nanging karo pangerten sing bakal ana watesan ing kinerja lan toleransi fault sing nggawe kangelan ing kahanan tartamtu saka solusi hyperconverged, ngendi sumber daya uga perlu kanggo kathah komputerisasi lingkungan virtual.

Ana uga sawetara pratondho kinerja Gluster sing bisa digayuh ing kahanan tartamtu, winates kanggo toleransi kesalahan.

ceph

Saiki ayo ndeleng Ceph saka deskripsi arsitektur sing aku bisa golek. Ana uga comparison antarane Glusterfs lan Ceph, ing ngendi sampeyan bisa langsung ngerti manawa disaranake nyebarake Ceph ing server sing kapisah, amarga layanan kasebut mbutuhake kabeh sumber daya hardware sing dimuat.

arsitektur Ceph luwih rumit tinimbang Gluster lan ana layanan kayata layanan metadata, nanging kabeh tumpukan komponen cukup rumit lan ora fleksibel kanggo nggunakake ing solusi virtualisasi. Data kasebut disimpen ing blok, sing katon luwih produktif, nanging ing hirarki kabeh layanan (komponen), ana kerugian lan latensi ing beban tartamtu lan kahanan darurat, umpamane ing ngisor iki artikel.

Saka katrangan arsitektur, jantung yaiku CRUSH, amarga lokasi kanggo nyimpen data dipilih. Sabanjure teka PG - iki abstraksi paling angel (grup logis) kanggo ngerti. PG dibutuhake kanggo nggawe CRUSH luwih efektif. Tujuan utama PG yaiku kanggo nglumpukake obyek kanggo nyuda konsumsi sumber daya, nambah kinerja lan skalabilitas. Ngatasi obyek kanthi langsung, kanthi individu, tanpa nggabungake menyang PG bakal larang banget. OSD minangka layanan kanggo saben disk individu.

Perbandingan singkat arsitektur SDS utawa nemokake platform panyimpenan sing tepat (GlusterVsCephVsVirtuozzoStorage)

Perbandingan singkat arsitektur SDS utawa nemokake platform panyimpenan sing tepat (GlusterVsCephVsVirtuozzoStorage)

Kluster bisa duwe siji utawa akeh kumpulan data kanggo macem-macem tujuan lan kanthi setelan sing beda. Pools dipérang dadi kelompok panggonan seko. Grup placement nyimpen obyek sing diakses klien. Iki ngendi tingkat logis ends, lan tingkat fisik wiwit, amarga saben klompok panggonan diutus siji disk utama lan sawetara replika disk (pinten persis gumantung ing faktor replikasi blumbang). Ing tembung liyane, ing tingkat logis obyek disimpen ing grup panggonan tartamtu, lan ing tingkat fisik - ing disk sing diutus kanggo iku. Ing kasus iki, disk bisa dumunung ing simpul beda utawa malah ing pusat data beda.

Ing skema iki, klompok penempatan katon kaya tingkat sing dibutuhake kanggo keluwesan kabeh solusi, nanging ing wektu sing padha, minangka tautan ekstra ing rantai iki, sing ora sengaja nyaranake mundhut produktivitas. Contone, nalika nulis data, sistem kudu dipérang dadi klompok iki lan banjur ing tingkat fisik menyang disk utama lan disk kanggo replika. Yaiku, fungsi Hash bisa digunakake nalika nggoleki lan nglebokake obyek, nanging ana efek samping - biaya lan watesan sing dhuwur banget kanggo mbangun hash (nalika nambah utawa mbusak disk). Masalah hash liyane yaiku lokasi data sing dipaku kanthi jelas sing ora bisa diganti. Sing, yen piye wae disk ana ing beban tambah, sistem ora duwe kesempatan kanggo ora nulis menyang (kanthi milih disk liyane), fungsi hash obliges data dumunung miturut aturan, ora ketompo carane ala. disk punika, supaya Ceph mangan akèh memori nalika mbangun PG ing cilik saka poto-marasake awakmu utawa nambah panyimpenan. Kesimpulane yaiku Ceph kerjane kanthi apik (sanajan alon-alon), nanging mung nalika ora ana skala, kahanan darurat, utawa nganyari.

Ana, mesthi, opsi kanggo nambah kinerja liwat caching lan enggo bareng cache, nanging iki mbutuhake hardware apik lan isih ana losses. Nanging sakabèhé, Ceph katon luwih nggodho tinimbang Gluster kanggo produktivitas. Kajaba iku, nalika nggunakake produk kasebut, sampeyan kudu nganggep faktor penting - iki minangka tingkat kompetensi, pengalaman lan profesionalisme sing dhuwur kanthi emphasis gedhe ing Linux, amarga penting banget kanggo nyebarake, ngatur lan njaga kabeh kanthi bener. sing luwih akeh tanggung jawab lan beban marang pangurus.

Vstorage

Arsitektur katon luwih menarik Panyimpenan Virtuozzo (Vstorage), sing bisa digunakake bebarengan karo hypervisor ing kelenjar padha, ing padha kelenjar, nanging penting banget kanggo ngatur kabeh kanthi bener kanggo entuk kinerja sing apik. Yaiku, nyebarake produk kasebut saka kothak ing konfigurasi apa wae tanpa nggatekake rekomendasi sing cocog karo arsitektur bakal gampang banget, nanging ora produktif.

Apa sing bisa urip bebarengan kanggo panyimpenan ing jejere layanan hypervisor kvm-qemu, lan iki mung sawetara layanan ing ngendi hierarki komponen optimal kompak wis ditemokake: layanan klien sing dipasang liwat FUSE (diowahi, ora mbukak sumber), layanan metadata MDS (Layanan Metadata), pamblokiran data layanan Chunk layanan, sing ing tingkat fisik padha karo siji disk lan iku kabeh. Ing babagan kacepetan, mesthine, paling optimal nggunakake skema toleransi kesalahan kanthi rong replika, nanging yen sampeyan nggunakake caching lan log ing drive SSD, mula kode toleran kesalahan (mbusak coding utawa raid6) bisa di-overclocked kanthi sopan ing a skema hibrida utawa luwih apik ing kabeh lampu kilat. Ana sawetara kerugian karo EC (mbusak coding): nalika ngganti siji blok data, perlu kanggo ngitung ulang jumlah paritas. Kanggo ngliwati kerugian sing ana gandhengane karo operasi iki, Ceph nulis menyang EC kanthi tundha lan masalah kinerja bisa kedadeyan sajrone panjaluk tartamtu, nalika, contone, kabeh blok kudu diwaca, lan ing kasus Panyimpenan Virtuozzo, nulis blok sing diganti ditindakake. nggunakake pendekatan "sistem file log-struktur", sing minimalake biaya pitungan paritas. Kanggo ngira kira-kira opsi kanthi akselerasi kerja kanthi lan tanpa EC, ana kalkulator - tokoh bisa kira-kira gumantung ing koefisien akurasi saka Produsèn peralatan, nanging asil petungan bantuan apik ing planning konfigurasi.

Diagram komponen panyimpenan sing prasaja ora ateges komponen kasebut ora nyerep sumber daya besi, nanging yen sampeyan ngetung kabeh biaya ing advance, sampeyan bisa Count ing collaboration jejere hypervisor.
Ana skema kanggo mbandhingake konsumsi sumber daya hardware dening layanan panyimpenan Ceph lan Virtuozzo.

Perbandingan singkat arsitektur SDS utawa nemokake platform panyimpenan sing tepat (GlusterVsCephVsVirtuozzoStorage)

Yen sadurunge bisa mbandhingake Gluster lan Ceph nggunakake artikel lawas, nggunakake garis paling penting saka wong-wong mau, banjur karo Virtuozzo luwih angel. Ora akeh artikel babagan produk iki lan informasi mung bisa dijupuk saka dokumentasi ing ing basa Inggris utawa ing Rusia yen kita nimbang Vstorage minangka panyimpenan digunakake ing sawetara solusi hyperconverged ing perusahaan kayata Rosplatforma lan Acronis.

Aku bakal nyoba kanggo bantuan karo gambaran arsitektur iki, supaya bakal ana teks sethitik liyane, nanging njupuk akèh wektu kanggo ngerti dokumentasi dhewe, lan dokumentasi ana mung bisa digunakake minangka referensi dening mbenake Tabel. isi utawa nggoleki kanthi tembung kunci.

Ayo dipikirake proses rekaman ing konfigurasi hardware hibrida kanthi komponen sing diterangake ing ndhuwur: rekaman kasebut wiwit pindhah menyang simpul sing diwiwiti klien (layanan titik gunung FUSE), nanging komponen master Metadata Service (MDS) mesthi bakal. ngarahake klien langsung menyang layanan potongan sing dikarepake (layanan pamblokiran CS panyimpen), yaiku, MDS ora melu proses rekaman, nanging mung ngarahake layanan kasebut menyang potongan sing dibutuhake. Umumé, kita bisa menehi analogi kanggo ngrekam karo pour banyu menyang tong minyak. Saben tong minyak minangka blok data 256MB.

Perbandingan singkat arsitektur SDS utawa nemokake platform panyimpenan sing tepat (GlusterVsCephVsVirtuozzoStorage)

Yaiku, siji disk minangka jumlah barel tartamtu, yaiku volume disk dibagi 256MB. Saben salinan disebarake menyang siji simpul, kaloro meh podo karo simpul liyane, etc ... Yen kita duwe telung replika lan ana disk SSD kanggo cache (kanggo maca lan nulis log), banjur konfirmasi nulis bakal kedadeyan sawise nulis. log menyang SSD, lan reset podo saka SSD bakal terus ing HDD, kaya ing latar mburi. Ing kasus telung replika, rekaman bakal ditindakake sawise konfirmasi saka SSD saka simpul katelu. Koyone jumlah kacepetan nulis telung SSD bisa dipérang dadi telu lan kita bakal entuk kacepetan nulis siji tiron, nanging salinan ditulis kanthi podo karo lan kacepetan Latency jaringan biasane luwih dhuwur tinimbang SSD. lan nyatane kinerja nulis bakal gumantung ing jaringan. Ing babagan iki, kanggo ndeleng IOPS nyata, sampeyan kudu mbukak kabeh Vstorage kanthi bener metodologi, yaiku, nguji beban nyata, lan dudu memori lan cache, ing ngendi perlu kanggo njupuk ukuran blok data sing bener, jumlah benang, lsp.

Log rekaman ing SSD kasebut ing ndhuwur bisa digunakake kanthi cara sing sanalika data mlebu, langsung diwaca dening layanan kasebut lan ditulis menyang HDD. Ana sawetara layanan metadata (MDS) saben kluster lan nomer kasebut ditemtokake dening kuorum, sing dianggo miturut algoritma Paxos. Saka sudut pandang klien, titik gunung FUSE minangka folder panyimpenan kluster sing katon bebarengan karo kabeh kelenjar ing kluster, saben simpul duwe klien sing dipasang miturut prinsip iki, mula panyimpenan iki kasedhiya kanggo saben simpul.

Kanggo kinerja samubarang pendekatan kasebut ing ndhuwur, penting banget, ing tahap perencanaan lan panyebaran, kanggo ngatur jaringan kanthi bener, ing ngendi bakal ana imbangan amarga agregasi lan bandwidth saluran jaringan sing dipilih kanthi bener. Ing agregasi, penting kanggo milih mode hashing lan ukuran pigura sing bener. Ana uga prabédan banget kuwat saka SDS diterangake ing ndhuwur, iki sekring karo teknologi path cepet ing Virtuozzo Storage. Sing, saliyane sekring modern, ora kaya solusi open source liyane, nambah IOPS kanthi signifikan lan ngidini sampeyan ora diwatesi kanthi skala horisontal utawa vertikal. Umumé, dibandhingake karo arsitektur sing kasebut ing ndhuwur, iki katon luwih kuat, nanging kanggo kesenengan kasebut, mesthine sampeyan kudu tuku lisensi, ora kaya Ceph lan Gluster.

Kanggo ngringkes, kita bisa nyorot ndhuwur telung: Panyimpenan Virtuozzo njupuk Panggonan pisanan ing syarat-syarat kinerja lan linuwih arsitektur, Ceph njupuk Panggonan liya, lan Gluster njupuk Panggonan katelu.

Kritéria sing dipilih Panyimpenan Virtuozzo: iki minangka set komponen arsitektur sing optimal, dimodernisasi kanggo pendekatan Fuse iki kanthi dalan cepet, konfigurasi hardware sing fleksibel, konsumsi sumber daya sing kurang lan kemampuan kanggo enggo bareng karo komputasi (komputer / virtualisasi), sing, iku temen cocok kanggo solusi hyperconverged , kang iku bagéan saka. Panggonan kaping pindho yaiku Ceph amarga arsitektur sing luwih produktif dibandhingake karo Gluster, amarga operasi ing blok, uga skenario sing luwih fleksibel lan kemampuan kanggo nggarap klompok sing luwih gedhe.

Ana rencana kanggo nulis perbandingan antarane vSAN, Space Direct Storage, Vstorage lan Nutanix Storage, nguji Vstorage ing peralatan HPE lan Huawei, uga skenario kanggo nggabungake Vstorage karo sistem panyimpenan hardware eksternal, dadi yen sampeyan seneng karo artikel kasebut, mesthine becik kanggo njaluk saran saka sampeyan, sing bisa nambah motivasi kanggo artikel anyar, njupuk menyang akun komentar lan wishes.

Source: www.habr.com

Add a comment