SDS arxitekturasının qısa müqayisəsi və ya düzgün saxlama platformasının tapılması (GlusterVsCephVsVirtuozzoStorage)

Bu məqalə özünüz üçün düzgün həlli seçməyinizə və Gluster, Ceph və Vstorage (Virtuozzo) kimi SDS arasındakı fərqləri başa düşməyinizə kömək etmək üçün yazılmışdır.

Mətn müəyyən problemlərin daha ətraflı açıqlandığı məqalələrə keçidlərdən istifadə edir, buna görə də təsvirlər mümkün qədər qısa olacaq, lazımsız tüklər və giriş məlumatı olmadan əsas məqamlardan istifadə edərək, istəsəniz, İnternetdə müstəqil olaraq əldə edə bilərsiniz.

Əslində, əlbəttə ki, qaldırılan mövzular mətnin tonlarını tələb edir, lakin müasir dünyada getdikcə daha çox insan çox oxumağı sevmir))), buna görə də tez oxuyub seçim edə bilərsiniz və əgər bir şey varsa aydın deyil, linkləri izləyin və ya google anlaşılmaz sözlər))), və bu məqalə doldurulmasını göstərən bu dərin mövzular üçün şəffaf bir sarğı kimi - hər bir qərarın əsas əsas nöqtələri.

Parıltı

Virtual mühitlər üçün açıq mənbə əsasında SDS ilə hiperkonverged platformaların istehsalçıları tərəfindən fəal şəkildə istifadə edilən və iki SDS variantından birini seçə biləcəyiniz saxlama bölməsində RedHat veb saytında tapıla bilən Gluster ilə başlayaq: Gluster və ya Ceph.

Gluster tərcüməçilər yığınından ibarətdir - faylların yayılması ilə bağlı bütün işləri yerinə yetirən xidmətlər və s. Brick bir diskə xidmət edən xidmətdir, Volume bu kərpicləri birləşdirən həcmdir (hovuzdur). Sonra DHT (paylanmış hash cədvəli) funksiyasından istifadə edərək faylları qruplara paylamaq xidməti gəlir. Sharding xidmətini təsvirə daxil etməyəcəyik, çünki aşağıdakı linklər onunla bağlı problemləri təsvir edəcək.

SDS arxitekturasının qısa müqayisəsi və ya düzgün saxlama platformasının tapılması (GlusterVsCephVsVirtuozzoStorage)

Yazarkən bütün fayl kərpicdə saxlanılır və onun surəti eyni zamanda ikinci serverdə kərpicə yazılır. Sonra, ikinci fayl müxtəlif serverlərdə iki kərpicdən (və ya daha çox) ikinci qrupa yazılacaq.

Fayllar təxminən eyni ölçüdədirsə və həcm yalnız bir qrupdan ibarətdirsə, hər şey yaxşıdır, lakin digər şərtlərdə təsvirlərdən aşağıdakı problemlər yaranacaq:

  • qruplarda boş yer qeyri-bərabər istifadə olunur, bu, faylların ölçüsündən asılıdır və qrupda fayl yazmaq üçün kifayət qədər yer yoxdursa, siz xəta alacaqsınız, fayl yazılmayacaq və başqa qrupa paylanmayacaq. ;
  • bir fayl yazarkən IO yalnız bir qrupa gedir, qalanları boşdur;
  • bir fayl yazarkən bütün həcmin IO-nu əldə edə bilməzsiniz;
  • və ümumi konsepsiya məlumatların bloklara paylanmasının olmaması səbəbindən daha az məhsuldar görünür, burada balanslaşdırmaq və vahid paylama problemini həll etmək daha asandır və indi bütün fayl bloka daxil deyil.

Rəsmi təsvirdən memarlıq biz istər-istəməz anladıq ki, gluster klassik hardware RAID-in üstündə fayl yaddaşı kimi işləyir. Faylları bloklara kəsmək (Parçalamaq) üçün inkişaf cəhdləri olmuşdur, lakin bütün bunlar artıq mövcud arxitektura yanaşmasına performans itkilərinə səbəb olan əlavədir, üstəgəl Fuse kimi performans məhdudiyyətləri ilə sərbəst paylanmış komponentlərin istifadəsidir. Faylları bloklara paylayarkən yaddaşın performansını və nasazlığa dözümlülük imkanlarını məhdudlaşdıran heç bir metadata xidmətləri yoxdur. “Distributed Replicated” konfiqurasiyası ilə daha yaxşı performans göstəriciləri müşahidə oluna bilər və optimal yük paylanması ilə etibarlı replika 6 təşkil etmək üçün qovşaqların sayı ən azı 3 olmalıdır.

Bu tapıntılar həm də istifadəçi təcrübəsinin təsviri ilə bağlıdır Parıltı və müqayisə etdikdə Cef, və bu daha məhsuldar və daha etibarlı konfiqurasiyanın başa düşülməsinə səbəb olan təcrübənin təsviri də var “Replikasiya olunmuş Paylanmış”.
SDS arxitekturasının qısa müqayisəsi və ya düzgün saxlama platformasının tapılması (GlusterVsCephVsVirtuozzoStorage)

Şəkil iki fayl yazarkən yükün paylanmasını göstərir, burada birinci faylın nüsxələri həcmi 0 qrupuna birləşdirilən ilk üç server arasında paylanır və ikinci faylın üç nüsxəsi üçün ikinci qrupuna yerləşdirilir. serverlər. Hər serverdə bir disk var.

Ümumi nəticə ondan ibarətdir ki, siz Gluster-dən istifadə edə bilərsiniz, lakin başa düşməklə ki, performans və nasazlığa dözümlülükdə məhdudiyyətlər olacaq ki, bu da virtual mühitlərin hesablama yükləri üçün resurslara ehtiyac duyulan hiperkonverged həllin müəyyən şərtlərində çətinliklər yaradır.

Müəyyən şərtlər altında əldə edilə bilən bəzi Gluster performans göstəriciləri də var səhvlərə dözümlülük.

Cef

İndi isə mənim bacardığım memarlıq təsvirlərindən Cefa baxaq tapmaq. arasında bir müqayisə də var Glusterfs və Ceph, burada Ceph-in ayrı-ayrı serverlərdə yerləşdirilməsinin məqsədəuyğun olduğunu dərhal başa düşə bilərsiniz, çünki onun xidmətləri yük altında olan bütün aparat resurslarını tələb edir.

memarlıq Ceph Gluster-dən daha mürəkkəbdir və metadata xidmətləri kimi xidmətlər var, lakin komponentlərin bütün yığını olduqca mürəkkəbdir və onu virtuallaşdırma həllində istifadə etmək üçün çox çevik deyil. Məlumat daha məhsuldar görünən bloklarda saxlanılır, lakin bütün xidmətlərin (komponentlərin) iyerarxiyasında müəyyən yüklər və fövqəladə vəziyyətlər altında itkilər və gecikmə var, məsələn, aşağıdakılar məqalə.

Arxitekturanın təsvirindən ürək CRUSH-dur, bunun sayəsində məlumatların saxlanması üçün yer seçilir. Sonra PG gəlir - bu başa düşmək üçün ən çətin abstraksiyadır (məntiqi qrup). CRUSH-u daha effektiv etmək üçün PG-lər lazımdır. PG-nin əsas məqsədi resurs istehlakını azaltmaq, performansı və miqyaslılığı artırmaq üçün obyektləri qruplaşdırmaqdır. Obyektləri PG-yə birləşdirmədən birbaşa, fərdi şəkildə ünvanlamaq çox bahalı olardı. OSD hər bir fərdi disk üçün xidmətdir.

SDS arxitekturasının qısa müqayisəsi və ya düzgün saxlama platformasının tapılması (GlusterVsCephVsVirtuozzoStorage)

SDS arxitekturasının qısa müqayisəsi və ya düzgün saxlama platformasının tapılması (GlusterVsCephVsVirtuozzoStorage)

Klaster müxtəlif məqsədlər üçün və müxtəlif parametrlərlə bir və ya bir neçə məlumat hovuzuna malik ola bilər. Hovuzlar yerləşdirmə qruplarına bölünür. Yerləşdirmə qrupları müştərilərin daxil olduğu obyektləri saxlayır. Burada məntiqi səviyyə başa çatır və fiziki səviyyə başlayır, çünki hər bir yerləşdirmə qrupuna bir əsas disk və bir neçə replika disk təyin edilir (nə qədər dəqiq hovuzun təkrarlanma faktorundan asılıdır). Başqa sözlə, məntiqi səviyyədə obyekt müəyyən bir yerləşdirmə qrupunda, fiziki səviyyədə isə ona təyin edilmiş disklərdə saxlanılır. Bu halda, disklər fiziki olaraq müxtəlif qovşaqlarda və ya hətta müxtəlif məlumat mərkəzlərində yerləşdirilə bilər.

Bu sxemdə yerləşdirmə qrupları bütün həllin çevikliyi üçün zəruri səviyyə kimi görünür, lakin eyni zamanda bu zəncirdə qeyri-iradi olaraq məhsuldarlığın itirilməsini nəzərdə tutan əlavə bir halqa kimi görünür. Məsələn, verilənləri yazarkən sistem onu ​​bu qruplara, sonra isə fiziki səviyyədə əsas diskə və replikalar üçün disklərə bölməlidir. Yəni, Hash funksiyası obyekti axtararkən və daxil edərkən işləyir, lakin bunun əks təsiri var - bu, çox yüksək xərclər və hashın yenidən qurulması ilə bağlı məhdudiyyətlərdir (diski əlavə edərkən və ya çıxararkən). Başqa bir hash problemi dəyişdirilə bilməyən məlumatların aydın şəkildə dırnaqlanmış yeridir. Yəni, bir şəkildə disk artan yük altındadırsa, sistemin ona yazmamaq imkanı yoxdur (başqa bir disk seçməklə), hash funksiyası məlumatların nə qədər pis olsa da, qaydaya uyğun yerləşdirilməsini məcbur edir. diskdir, buna görə də Ceph, özünü sağaltma və ya saxlama qabiliyyətini artırmaq vəziyyətində PG-ni yenidən qurarkən çox yaddaş yeyir. Nəticə budur ki, Ceph yaxşı işləyir (yavaş da olsa), ancaq miqyas, fövqəladə hallar və ya yeniləmələr olmadıqda.

Əlbəttə ki, keşləmə və keş paylaşma vasitəsilə performansı artırmaq üçün variantlar var, lakin bunun üçün yaxşı avadanlıq tələb olunur və hələ də itkilər olacaq. Lakin ümumilikdə Ceph məhsuldarlıq baxımından Glusterdən daha cəlbedici görünür. Həmçinin, bu məhsullardan istifadə edərkən vacib bir amili nəzərə almaq lazımdır - bu, Linux-a böyük diqqət yetirməklə yüksək səviyyəli səriştə, təcrübə və peşəkarlıqdır, çünki hər şeyi düzgün yerləşdirmək, konfiqurasiya etmək və saxlamaq çox vacibdir, bu da idarəçinin üzərinə daha çox məsuliyyət və yük qoyur.

Storage

Memarlıq daha maraqlı görünür Virtuozzo saxlama (Vstorage), eyni qovşaqlarda, eyni üzərində hipervizorla birlikdə istifadə edilə bilər vəzi, lakin yaxşı performansa nail olmaq üçün hər şeyi düzgün konfiqurasiya etmək çox vacibdir. Yəni, arxitekturaya uyğun olaraq tövsiyələri nəzərə almadan qutudan belə bir məhsulu istənilən konfiqurasiyaya yerləşdirmək çox asan olacaq, lakin məhsuldar olmayacaq.

Kvm-qemu hipervizorunun xidmətlərinin yanında saxlama üçün nə ola bilər və bunlar komponentlərin kompakt optimal iyerarxiyasının tapıldığı bir neçə xidmətdir: FUSE vasitəsilə quraşdırılmış müştəri xidməti (dəyişdirilmiş, açıq mənbə deyil), MDS metadata xidməti (Metadata xidməti), fiziki səviyyədə bir diskə bərabər olan Chunk xidmət məlumat bloklarına xidmət edir və hamısı budur. Sürət baxımından, əlbəttə ki, iki nüsxə ilə nasazlığa davamlı bir sxemdən istifadə etmək optimaldır, lakin SSD disklərində keşləmə və qeydlərdən istifadə edirsinizsə, o zaman səhvlərə dözümlü kodlaşdırma (kodlaşdırmanı silmək və ya raid6) düzgün şəkildə aşıla bilər. hibrid sxem və ya bütün flaşlarda daha yaxşı. EC-də bəzi çatışmazlıqlar var (kodlaşdırmanı sil): bir məlumat blokunu dəyişdirərkən, paritet məbləğlərini yenidən hesablamaq lazımdır. Bu əməliyyatla bağlı itkiləri keçmək üçün Ceph EC-yə təxirə salınmış şəkildə yazır və müəyyən sorğu zamanı, məsələn, bütün blokların oxunması lazım olduqda və Virtuozzo Storage vəziyyətində dəyişdirilmiş blokların yazılması zamanı performans problemləri yarana bilər. paritetin hesablanması xərclərini minimuma endirən “log-strukturlaşdırılmış fayl sistemi” yanaşmasından istifadə etməklə həyata keçirilir. EC ilə və olmadan işin sürətləndirilməsi ilə variantları təxminən qiymətləndirmək üçün var kalkulyator. – rəqəmlər avadanlıq istehsalçısının dəqiqlik əmsalından asılı olaraq təxmini ola bilər, lakin hesablamaların nəticəsi konfiqurasiyanın planlaşdırılmasında yaxşı köməkdir.

Saxlama komponentlərinin sadə diaqramı bu komponentlərin udulmaması demək deyil dəmir ehtiyatları, lakin bütün xərcləri əvvəlcədən hesablasanız, hipervizorun yanında əməkdaşlığa arxalana bilərsiniz.
Ceph və Virtuozzo saxlama xidmətləri tərəfindən aparat resurslarının istehlakını müqayisə etmək üçün bir sxem var.

SDS arxitekturasının qısa müqayisəsi və ya düzgün saxlama platformasının tapılması (GlusterVsCephVsVirtuozzoStorage)

Əvvəllər Gluster və Ceph-i köhnə məqalələrdən istifadə edərək, onlardan ən vacib sətirlərdən istifadə edərək müqayisə etmək mümkün idisə, Virtuozzo ilə daha çətindir. Bu məhsul haqqında çoxlu məqalə yoxdur və məlumatı yalnız sənədlərdən əldə etmək olar ingilis dilində və ya rus dilində Vstorage kimi şirkətlərdə bəzi hiperkonverged həllərdə istifadə edilən yaddaş hesab etsək Rosplatforma və Acronis.

Bu arxitekturanın təsviri ilə kömək etməyə çalışacağam, ona görə də bir az daha çox mətn olacaq, lakin sənədləri özünüz başa düşmək çox vaxt tələb edir və mövcud sənədlər yalnız cədvələ yenidən baxılmaqla istinad kimi istifadə edilə bilər. məzmun və ya açar sözlə axtarış.

Yuxarıda təsvir olunan komponentlərlə hibrid aparat konfiqurasiyasında qeyd prosesini nəzərdən keçirək: qeyd müştərinin onu başlatdığı qovşağa getməyə başlayır (FUSE quraşdırma nöqtəsi xidməti), lakin Metadata Service (MDS) master komponenti əlbəttə ki, olacaq. müştərini birbaşa istədiyiniz yığın xidmətinə (saxlama xidməti CS blokları) yönləndirin, yəni MDS qeyd prosesində iştirak etmir, sadəcə olaraq xidməti tələb olunan yığına yönləndirir. Ümumiyyətlə, çəlləklərə su tökməklə yazmağa bənzətmə verə bilərik. Hər barel 256 MB məlumat blokudur.

SDS arxitekturasının qısa müqayisəsi və ya düzgün saxlama platformasının tapılması (GlusterVsCephVsVirtuozzoStorage)

Yəni, bir disk müəyyən sayda belə bareldir, yəni diskin həcmi 256 MB-a bölünür. Hər bir nüsxə bir node, ikincisi demək olar ki, paralel olaraq digər qovşaqda paylanır və s... Əgər üç replikamız varsa və keş üçün SSD disklər varsa (logların oxunması və yazılması üçün), onda yazının təsdiqi yazıdan sonra baş verəcəkdir. log SSD-yə və SSD-dən paralel sıfırlama arxa planda olduğu kimi HDD-də davam edəcək. Üç nüsxə halında, qeyd üçüncü qovşağın SSD-dən təsdiqləndikdən sonra həyata keçiriləcək. Görünə bilər ki, üç SSD-nin yazma sürətinin cəmini üçə bölmək olar və biz bir replikanın yazma sürətini alacağıq, lakin nüsxələr paralel olaraq yazılır və şəbəkə Gecikmə sürəti adətən SSD-dən daha yüksəkdir, və əslində yazma performansı şəbəkədən asılı olacaq. Bununla əlaqədar olaraq, real IOPS-i görmək üçün bütün VStorage-i düzgün yükləməlisiniz metodologiya, yəni düzgün məlumat blokunun ölçüsünü, iplərin sayını və s. nəzərə almaq lazım olan yaddaş və önbelleği deyil, real yükü sınamaq.

SSD-də yuxarıda qeyd olunan qeyd jurnalı elə işləyir ki, məlumat daxil olan kimi dərhal xidmət tərəfindən oxunur və HDD-yə yazılır. Hər klaster üçün bir neçə metadata xidmətləri (MDS) var və onların sayı Paxos alqoritminə uyğun olaraq işləyən kvorum tərəfindən müəyyən edilir. Müştərinin nöqteyi-nəzərindən FUSE montaj nöqtəsi eyni vaxtda klasterdəki bütün qovşaqlara görünən klaster saxlama qovluğudur, hər bir node bu prinsipə uyğun olaraq quraşdırılmış müştəriyə malikdir, ona görə də bu yaddaş hər bir node üçün əlçatandır.

Yuxarıda təsvir olunan yanaşmalardan hər hansı birinin yerinə yetirilməsi üçün planlaşdırma və yerləşdirmə mərhələsində şəbəkəni düzgün konfiqurasiya etmək çox vacibdir, burada aqreqasiya və düzgün seçilmiş şəbəkə kanalının bant genişliyi sayəsində balanslaşdırılacaqdır. Ümumilikdə düzgün hashing rejimini və çərçivə ölçülərini seçmək vacibdir. Yuxarıda təsvir edilən SDS-dən çox güclü fərq də var, bu Virtuozzo Storage-də sürətli yol texnologiyası ilə qoruyucudur. Hansı ki, modernləşdirilmiş qoruyucuya əlavə olaraq, digər açıq mənbə həllərindən fərqli olaraq, IOPS-i əhəmiyyətli dərəcədə artırır və üfüqi və ya şaquli miqyasla məhdudlaşmamağa imkan verir. Ümumiyyətlə, yuxarıda təsvir edilən arxitekturalarla müqayisədə, bu daha güclü görünür, lakin belə bir zövq üçün, əlbəttə ki, Ceph və Gluster-dən fərqli olaraq lisenziyalar almaq lazımdır.

Xülasə etmək üçün üçlüyün üstünü qeyd edə bilərik: Virtuozzo Storage arxitekturanın performansı və etibarlılığı baxımından birinci yeri, Ceph ikinci yeri, Gluster üçüncü yeri tutur.

Virtuozzo Storage-ın seçildiyi meyarlar: bu, sürətli yol, çevik aparat konfiqurasiyaları dəsti, daha az resurs istehlakı və hesablama ilə paylaşma qabiliyyəti (hesablama/virtuallaşdırma) ilə bu Fuse yanaşması üçün modernləşdirilmiş optimal memarlıq komponentləri dəstidir, yəni onun bir hissəsi olduğu hiperkonverged həll üçün tamamilə uyğundur. İkinci yeri Ceph tutur, çünki bloklarda işləməsi, həmçinin daha çevik ssenariləri və daha böyük klasterlərdə işləmə qabiliyyəti sayəsində Gluster ilə müqayisədə daha məhsuldar bir arxitekturadır.

vSAN, Space Direct Storage, Vstorage və Nutanix Storage arasında müqayisə yazmaq, HPE və Huawei avadanlığında Vstorage-ı sınaqdan keçirmək, həmçinin Vstorage-ı xarici aparat saxlama sistemləri ilə inteqrasiya etmək üçün ssenarilər yazmaq planları var, belə ki, məqaləni bəyənsəniz, belə olardı. Sizin rəy və istəklərinizi nəzərə alaraq yeni məqalələr üçün motivasiyanı artıra biləcək rəy almaq xoşdur.

Mənbə: www.habr.com

Добавить комментарий