SDS архитектурасын кыскача салыштыруу же туура сактоо платформасын табуу (GlusterVsCephVsVirtuozzoStorage)

Бул макала сизге туура чечимди тандоого жана Gluster, Ceph жана Vstorage (Virtuozzo) сыяктуу SDS ортосундагы айырмачылыктарды түшүнүүгө жардам берүү үчүн жазылган.

Текстте кээ бир көйгөйлөрдүн деталдуураак ачылышы менен макалаларга шилтемелер колдонулат, андыктан сыпаттамалар мүмкүн болушунча кыска болот, негизги пункттарды керексиз үлпөтсүз жана кириш маалыматсыз, эгер кааласаңыз, Интернеттен өз алдынча ала аласыз.

Чынында, албетте, көтөрүлгөн темалар тексттин тондорун талап кылат, бирок азыркы заманда көп окуганды жактырбагандар көбөйүп баратат))), андыктан бат эле окуп, тандоо жасай аласыз, эгер бир нерсе болсо так эмес, шилтемелерди же Google түшүнүксүз сөздөрдү ээрчип))), жана бул макала толтуруу көрсөтүү, бул терең темалар үчүн тунук орогуч сыяктуу - ар бир чечимдин негизги негизги пункттары.

Жылтырак

Келгиле, Glusterден баштайлы, аны виртуалдык чөйрөлөр үчүн ачык булакка негизделген SDS менен гиперконвергецияланган платформаларды өндүрүүчүлөр жигердүү колдонушат жана RedHat веб-сайтында сактоо бөлүмүндө тапса болот, анда сиз эки SDS вариантынан тандай аласыз: Gluster же Ceph.

Gluster котормочулардын стекинен турат - файлдарды таратуунун бардык иштерин аткарган кызматтар ж.б. Кирпич – бул бир дискти тейлеген кызмат, Көлөм – бул кирпичтерди бириктирген көлөм (бассейн). Андан кийин DHT (бөлүштүрүлгөн хэш таблицасы) функциясын колдонуу менен файлдарды топторго бөлүштүрүү кызматы келет. Биз Sharding кызматын сыпаттамага киргизбейбиз, анткени төмөндөгү шилтемелер ага байланыштуу көйгөйлөрдү сүрөттөйт.

SDS архитектурасын кыскача салыштыруу же туура сактоо платформасын табуу (GlusterVsCephVsVirtuozzoStorage)

Жазууда файлдын баары кирпичте сакталат жана анын көчүрмөсү бир эле учурда экинчи серверде кирпичке жазылат. Андан кийин, экинчи файл ар кандай серверлерде эки кирпичтин (же андан көп) экинчи тобуна жазылат.

Эгерде файлдар болжол менен бирдей өлчөмдө болсо жана көлөмү бир гана топтон турса, анда баары жакшы, бирок башка шарттарда сүрөттөмөлөрдөн төмөнкү көйгөйлөр пайда болот:

  • топтордогу боштук бирдей эмес пайдаланылат, ал файлдардын өлчөмүнө жараша болот жана файлды жазуу үчүн топтун ичинде орун жетишсиз болсо, сиз ката аласыз, файл жазылбайт жана башка топко бөлүштүрүлбөйт. ;
  • бир файлды жазууда IO бир гана топко барат, калгандары бош турат;
  • бир файлды жазып жатканда бүт көлөмдүн IOсун ала албайсыз;
  • жана жалпы концепция маалыматтарды блокторго бөлүштүрүүнүн жоктугунан азыраак өндүрүмдүү көрүнөт, мында тең салмактуулукту сактоо жана бирдиктүү бөлүштүрүү маселесин чечүү оңой, ал эми азыр бүт файл блокко киргендей эмес.

Расмий сыпаттамадан архитектура Биз ошондой эле gluster классикалык аппараттык RAIDдин үстүндө файл сактагыч катары иштей тургандыгын түшүнөбүз. Файлдарды блокторго кесүүгө (Sharding) иштеп чыгуу аракеттери болду, бирок мунун баары буга чейин эле бар архитектуралык мамилеге өндүрүмдүүлүктү жоготкон кошумча, ошондой эле Fuse сыяктуу иштөө чектөөлөрү менен эркин бөлүштүрүлгөн компоненттерди колдонуу. Файлдарды блокторго бөлүштүрүүдө сактагычтын иштешин жана катага туруштук берүү мүмкүнчүлүктөрүн чектеген метадайын кызматтары жок. Жакшыраак аткаруу көрсөткүчтөрүн "Бөлүштүрүлгөн репликацияланган" конфигурациясынан байкоого болот жана оптималдуу жүк бөлүштүрүү менен ишенимдүү 6 репликасын уюштуруу үчүн түйүндөрдүн саны 3дан кем эмес болушу керек.

Бул табылгалар колдонуучу тажрыйбасынын сүрөттөлүшү менен да байланыштуу Жылтырак менен салыштырганда Кеф, жана бул кыйла жемиштүү жана ишенимдүү конфигурацияны түшүнүүгө алып баруучу тажрыйбанын сүрөттөлүшү да бар "Репликацияланган бөлүштүрүлгөн".
SDS архитектурасын кыскача салыштыруу же туура сактоо платформасын табуу (GlusterVsCephVsVirtuozzoStorage)

Сүрөт эки файлды жазууда жүктөмдүн бөлүштүрүлүшүн көрсөтөт, мында биринчи файлдын көчүрмөлөрү 0 томдук тобуна бириктирилген биринчи үч серверге бөлүштүрүлөт, ал эми экинчи файлдын үч нускасы үч томдун 1 экинчи тобуна жайгаштырылат. серверлер. Ар бир серверде бир диск бар.

Жалпы тыянак, сиз Glusterди колдонсоңуз болот, бирок гиперконвергацияланган чечимдин белгилүү шарттарында кыйынчылыктарды жаратуучу аткарууда жана катага чыдамдуулукта чектөөлөр болорун түшүнүү менен, виртуалдык чөйрөлөрдүн эсептөө жүктөмдөрү үчүн ресурстар да керек.

Чектелген белгилүү бир шарттарда жетишүүгө мүмкүн болгон кээ бир Gluster көрсөткүчтөрү да бар катага сабырдуулук.

Кеф

Эми мен кыла алган архитектуралык сүрөттөмөлөрдөн Кефти карап көрөлү табуу. арасында салыштыруу да бар Глюстерфс жана Цеф, бул жерде сиз Cephди өзүнчө серверлерге жайгаштыруу максатка ылайыктуу экенин дароо түшүнө аласыз, анткени анын кызматтары жүктөлгөн бардык аппараттык ресурстарды талап кылат.

архитектура Кеф Glusterге караганда татаалыраак жана метадайын кызматтары сыяктуу кызматтар бар, бирок компоненттердин бүт стекти өтө татаал жана аны виртуалдаштыруу чечиминде колдонуу үчүн анча ийкемдүү эмес. Берилиштер блоктордо сакталат, алар кыйла жемиштүү көрүнөт, бирок бардык кызматтардын (компоненттердин) иерархиясында белгилүү жүктөмдөрдүн жана өзгөчө кырдаалдардын шарттарында жоготуулар жана кечигүү бар, мисалы: макала.

Архитектуранын сүрөттөмөсүнөн, жүрөк CRUSH болуп саналат, анын аркасында маалыматтарды сактоо үчүн жер тандалган. Андан кийин PG келет - бул түшүнүү эң кыйын абстракция (логикалык топ). PGs CRUSH эффективдүүлүгүн жогорулатуу үчүн керек. PGнын негизги максаты - ресурстарды керектөөнү азайтуу, өндүрүмдүүлүгүн жана масштабдуулугун жогорулатуу үчүн объекттерди топтоо. Объекттерге түздөн-түз, жекече, аларды PGге бириктирбестен дароо абдан кымбатка турмак. OSD ар бир жеке диск үчүн кызмат болуп саналат.

SDS архитектурасын кыскача салыштыруу же туура сактоо платформасын табуу (GlusterVsCephVsVirtuozzoStorage)

SDS архитектурасын кыскача салыштыруу же туура сактоо платформасын табуу (GlusterVsCephVsVirtuozzoStorage)

Кластерде ар кандай максаттар жана ар кандай орнотуулар үчүн бир же бир нече маалымат бассейндери болушу мүмкүн. Бассейндер жайгаштыруу топторуна бөлүнөт. Жайгаштыруу топтору кардарлар кире турган объекттерди сактайт. Бул жерде логикалык деңгээл аяктап, физикалык деңгээл башталат, анткени ар бир жайгаштыруу тобуна бир негизги диск жана бир нече реплика дисктер ыйгарылган (канчасы так көлмөнүн репликация факторунан көз каранды). Башкача айтканда, логикалык деңгээлде объект белгилүү бир жайгаштыруу тобунда, ал эми физикалык деңгээлде – ага ыйгарылган дисктерде сакталат. Бул учурда, дисктер физикалык жактан ар кандай түйүндөрдө же ар кандай маалымат борборлорунда болушу мүмкүн.

Бул схемада жайгаштыруу топтору бүт чечимдин ийкемдүүлүгү үчүн зарыл деңгээлге окшош, бирок ошол эле учурда бул чынжырдын кошумча звеносу катары, эрксизден өндүрүмдүүлүктү жоготууну сунуштайт. Мисалы, маалыматтарды жазып жатканда, система аны ушул топторго, анан физикалык деңгээлде негизги дискке жана репликалар үчүн дисктерге бөлүшү керек. Башкача айтканда, Hash функциясы объектти издөөдө жана киргизүүдө иштейт, бирок анын терс таасири бар - бул хэшти кайра курууда (дискти кошууда же алып салууда) өтө чоң чыгымдар жана чектөөлөр. Дагы бир хэш көйгөйү - маалыматтын так кадалган жери, аны өзгөртүү мүмкүн эмес. Башкача айтканда, кандайдыр бир жол менен диск жогорулатылган жүктө болсо, анда система ага жазбай коюуга мүмкүнчүлүгү жок (башка дискти тандоо менен), хэш-функциясы маалыматтарды канчалык жаман болсо да, эрежеге ылайык жайгаштырууга милдеттендирет. диск, ошондуктан Ceph өзүн-өзү айыктыруу же сактоону көбөйтүүдө PGти кайра курууда көп эстутумду жейт. Жыйынтык: Ceph жакшы иштейт (жай болсо да), бирок масштабдоо, өзгөчө кырдаалдар же жаңыртуулар болбогондо гана.

Албетте, кэш жана кэш бөлүшүү аркылуу өндүрүмдүүлүктү жогорулатуунун варианттары бар, бирок бул жакшы жабдыкты талап кылат жана дагы деле жоготуулар болот. Бирок, жалпысынан, Ceph өндүрүмдүүлүгү үчүн Gluster караганда азгырык көрүнөт. Ошондой эле, бул өнүмдөрдү колдонууда маанилүү факторду эске алуу керек - бул Linux'ка өзгөчө басым жасоо менен жогорку деңгээлдеги компетенттүүлүк, тажрыйба жана кесипкөйлүк, анткени бардыгын туура жайгаштыруу, конфигурациялоо жана тейлөө абдан маанилүү, администраторго ого бетер жоопкерчиликти жана жүктү жүктөйт.

Vstorage

Архитектура ого бетер кызыктуу көрүнөт Virtuozzo сактагычы (Vstorage), ошол эле түйүндөрдө гипервизор менен бирге колдонулушу мүмкүн без, бирок жакшы көрсөткүчкө жетүү үчүн бардыгын туура конфигурациялоо абдан маанилүү. Башкача айтканда, архитектурага ылайык сунуштарды эске албастан, ар кандай конфигурацияда кутудан мындай продуктуну жайгаштыруу абдан оңой, бирок жемиштүү эмес.

Kvm-qemu гипервизорунун кызматтарынын жанында сактоо үчүн эмне болушу мүмкүн жана бул компоненттердин компакттуу оптималдуу иерархиясы табылган бир нече кызматтар: FUSE аркылуу орнотулган кардар кызматы (өзгөртүлгөн, ачык булак эмес), MDS метаберилиштер кызматы (Метамаалымат кызматы), физикалык деңгээлде бир дискке барабар болгон Chunk сервисинин маалымат блоктору кызматы. Ылдамдык жагынан, албетте, эки репликасы бар катага чыдамдуу схеманы колдонуу оптималдуу, бирок SSD дисктеринде кэш жана журналдарды колдонсоңуз, анда катага чыдамдуу коддоону (тазалоо коддоо же raid6) адептүү түрдө ашып кетсе болот. гибрид схемасы же андан да жакшыраак. ECтин кээ бир кемчиликтери бар (кодду өчүрүү): бир маалымат блогун өзгөртүүдө паритеттин суммасын кайра эсептөө керек. Бул операцияга байланыштуу жоготууларды айланып өтүү үчүн, Ceph ECге кийинкиге калтыруу менен жазат жана аткаруу көйгөйлөрү белгилүү бир суроо-талап учурунда пайда болушу мүмкүн, мисалы, бардык блокторду окуу керек болгондо, ал эми Virtuozzo Storage учурда, өзгөртүлгөн блокторду жазуу жүзөгө ашырылат. паритеттик эсептөө чыгымдарын азайтат "лог-структураланган файл системасы" ыкмасын колдонуу. ЭК менен жана ансыз ишти тездетүү менен болжолдуу варианттарды баалоо үчүн, бар калькулятор. – көрсөткүчтөр жабдууларды чыгаруучунун тактык коэффициентине жараша болжолдуу болушу мүмкүн, бирок эсептөөлөрдүн натыйжасы конфигурацияны пландаштырууда жакшы жардам берет.

Сактоо компоненттеринин жөнөкөй диаграммасы бул компоненттер сиңбейт дегенди билдирбейт темир ресурстары, бирок бардык чыгымдарды алдын ала эсептеп алсаңыз, гипервизордун жанында кызматташууга ишене аласыз.
Ceph жана Virtuozzo сактоо кызматтары тарабынан аппараттык ресурстардын керектөөсүн салыштыруу схемасы бар.

SDS архитектурасын кыскача салыштыруу же туура сактоо платформасын табуу (GlusterVsCephVsVirtuozzoStorage)

Эгер мурда Gluster менен Cephти эски макалаларды колдонуп, алардын эң маанилүү саптарын колдонуу менен салыштыруу мүмкүн болсо, Virtuozzo менен бул кыйыныраак. Бул продукт жөнүндө көп макалалар жок жана маалыматты документациядан гана алууга болот Кыргызча же орусча, эгерде Vstorage сыяктуу компанияларда кээ бир гиперконвергиялык чечимдерде колдонулган сактагыч катары карасак Rosplatforma жана Acronis.

Мен бул архитектуранын сүрөттөлүшүнө жардам берүүгө аракет кылам, андыктан бир аз көбүрөөк текст болот, бирок документацияны өзүңүз түшүнүү көп убакытты талап кылат жана учурдагы документацияны таблицаны кайра карап чыгуу менен гана шилтеме катары колдонсо болот. мазмунду же ачкыч сөз менен издөө.

Жогоруда сүрөттөлгөн компоненттер менен гибриддик аппараттык конфигурацияда жаздыруу процессин карап көрөлү: жаздыруу кардар аны баштаган түйүнгө (FUSE монтаждоо кызматы) бара баштайт, бирок Metadata Service (MDS) мастер компоненти, албетте, кардарды түздөн-түз каалаган chunk кызматына (сактоо кызматы CS блоктору) багыттайт, башкача айтканда, MDS жазуу процессине катышпайт, бирок жөн гана кызматты талап кылынган бөлчөккө багыттайт. Жалпысынан челектерге суу куюп жаздырууга окшоштук келтирсек болот. Ар бир баррель 256 МБ маалымат блогу болуп саналат.

SDS архитектурасын кыскача салыштыруу же туура сактоо платформасын табуу (GlusterVsCephVsVirtuozzoStorage)

Башкача айтканда, бир диск - бул баррелдердин белгилүү бир саны, башкача айтканда, дисктин көлөмү 256 МБга бөлүнгөн. Ар бир нуска бир түйүнгө бөлүштүрүлөт, экинчиси дээрлик башка түйүнгө параллелдүү ж.б. журналды SSDге жана SSDден параллелдүү баштапкы абалга келтирүү HDDде фондо болгондой уланат. Үч реплика болгон учурда, жазуу үчүнчү түйүндүн SSDден ырасталгандан кийин жасалат. Үч SSDдин жазуу ылдамдыгынын суммасын үчкө бөлсө болот окшойт жана биз бир репликанын жазуу ылдамдыгын алабыз, бирок көчүрмөлөр параллелдүү жазылат жана тармактын Latency ылдамдыгы адатта SSDге караганда жогору, жана чындыгында жазуу аткаруу тармакка көз каранды болот. Ушуга байланыштуу, чыныгы IOPSти көрүү үчүн, сиз бүт Vstorage менен туура жүктөшүңүз керек методология, башкача айтканда, эстутум жана кэш эмес, реалдуу жүктөмдү текшерүү, мында туура маалымат блогунун өлчөмүн, жиптердин санын, ж.б.

SSDдеги жогоруда айтылган жазуу журналы маалымат киргенде дароо кызмат тарабынан окулат жана HDDге жазыла тургандай иштейт. Бир кластерде бир нече метаберилиш кызматтары (MDS) бар жана алардын саны Paxos алгоритми боюнча иштеген кворум тарабынан аныкталат. Кардардын көз карашы боюнча, FUSE монтаждоо чекити кластердин бардык түйүндөрүнө бир эле учурда көрүнүп турган кластердик сактоо папкасы, ар бир түйүндө ушул принцип боюнча орнотулган кардар бар, ошондуктан бул сактагыч ар бир түйүн үчүн жеткиликтүү.

Жогоруда сүрөттөлгөн ыкмалардын кайсынысын болбосун аткаруу үчүн, пландаштыруу жана жайылтуу стадиясында түйүндү туура конфигурациялоо абдан маанилүү, мында топтоо жана туура тандалган тармак каналынын өткөрүү жөндөмдүүлүгүнө байланыштуу тең салмактуулук орун алат. Агрегацияда туура хэширлөө режимин жана кадр өлчөмүн тандоо маанилүү. Ошондой эле жогоруда сүрөттөлгөн SDSтен абдан күчтүү айырма бар, бул Virtuozzo Storageдеги тез жол технологиясы менен туташтыргыч. Бул модернизацияланган сактагычтан тышкары, башка ачык булактуу чечимдерден айырмаланып, IOPSти бир топ жогорулатат жана горизонталдуу же вертикалдуу масштабдоо менен чектелбөөгө мүмкүндүк берет. Жалпысынан алганда, жогоруда сүрөттөлгөн архитектураларга салыштырмалуу, бул күчтүүрөөк көрүнөт, бирок мындай ырахат алуу үчүн, албетте, Ceph жана Glusterден айырмаланып, лицензияларды сатып алышыңыз керек.

Жыйынтыктап айтканда, биз үчөөнүн чокусун бөлүп көрсөк болот: Virtuozzo Storage архитектуранын натыйжалуулугу жана ишенимдүүлүгү боюнча биринчи орунду, Ceph экинчи орунду, Gluster үчүнчү орунду ээлейт.

Virtuozzo Storage тандалып алынган критерийлер: бул Fuse ыкмасы үчүн модернизацияланган архитектуралык компоненттердин оптималдуу топтому, тез жол менен, аппараттык конфигурациялардын ийкемдүү топтому, ресурстарды аз сарптоо жана эсептөө менен бөлүшүү мүмкүнчүлүгү (эсептөө/виртуалдаштыруу), башкача айтканда, ал толугу менен hyperconverged чечим үчүн ылайыктуу болуп саналат , ал бир бөлүгү болуп саналат. Экинчи орунда Ceph турат, анткени ал Glusterге салыштырмалуу кыйла жемиштүү архитектура, анын блоктордо иштеши, ошондой эле ийкемдүү сценарийлери жана чоңураак кластерлерде иштөө жөндөмдүүлүгү.

vSAN, Space Direct Storage, Vstorage жана Nutanix Storage, HPE жана Huawei жабдууларында Vstorage сынап көрүү, ошондой эле Vstorageти тышкы аппараттык сактоо тутумдары менен интеграциялоо сценарийлерин жазуу пландары бар, андыктан макала сизге жаккан болсо, анда ал Сиздин пикириңизди жана каалооңузду эске алуу менен жаңы макалаларга мотивацияны жогорулата турган пикириңизди алуу жакшы.

Source: www.habr.com

Комментарий кошуу