Складиштење у Кубернетесу: ОпенЕБС против Роок (Цепх) против Ранцхер Лонгхорн против СторагеОС против Робин против Портворка против Линстора

Складиштење у Кубернетесу: ОпенЕБС против Роок (Цепх) против Ранцхер Лонгхорн против СторагеОС против Робин против Портворка против Линстора

Ажурирање!. У коментарима је један од читалаца предложио покушај Линстор (можда он сам ради на томе) па сам додао одељак о овом решењу. И ја сам писао објавите како да га инсталирате, јер се процес веома разликује од осталих.

Да будем искрен, одустао сам и одустао Кубернетес (бар за сада). Ја ћу користити Хероку. Зашто? Због складиштења! Ко би рекао да ћу се више бавити складиштењем него самим Кубернетесом. ја користим Хетзнер Цлоудјер је јефтин и перформансе су добре и од самог почетка сам постављао кластере користећи Ранцхер. Нисам пробао управљане Кубернетес услуге од Гоогле/Амазон/Мицрософт/ДигиталОцеан, итд., итд., јер сам желео све да научим сам. Такође сам штедљив.

Дакле, да, провео сам доста времена покушавајући да одлучим које складиште да изаберем када сам процењивао могући Кубернетес стек. Више волим решења отвореног кода, не само због цене, већ сам погледао неколико плаћених опција из радозналости јер имају бесплатне верзије са ограничењима. Забележио сам неке бројеве из недавних тестова када сам упоредио различите опције и оне би могле бити занимљиве онима који уче о Кубернетес складиштењу. Иако сам се лично за сада опростио од Кубернетеса. Такође желим да поменем ЦСИ драјвер, који може директно да обезбеди количине Хетзнер Цлоуд-а, али још нисам пробао. Погледао сам софтверски дефинисано складиште у облаку јер ми је била потребна репликација и могућност брзог монтирања упорних волумена на било који чвор, посебно у случају кварова чворова и других сличних ситуација. Нека решења нуде снимке у тренутку и резервне копије ван локације, што је згодно.

Тестирао сам 6-7 решења за складиштење:

ОпенЕБС

Као што сам већ рекао у претходном постуНакон што сам тестирао већину опција са листе, у почетку сам се одлучио на ОпенЕБС. ОпенЕБС је веома једноставан за инсталирање и коришћење, али да будем искрен, након тестирања са стварним подацима под оптерећењем, био сам разочаран његовим перформансама. Ово је отворени код, а програмери су сами Слацк канал увек од велике помоћи када ми је потребна помоћ. Нажалост, има веома лоше перформансе у поређењу са другим опцијама, тако да су тестови морали да се понове. ОпенЕБС тренутно има 3 механизма за складиштење података, али објављујем бенцхмарк резултате за цСтор. Још увек немам бројеве за Јиву и ЛоцалПВ.

Укратко, Јива је мало бржа, а ЛоцалПВ је генерално брз, ништа лошији од директног бенцхмарк-а на диску. Проблем са ЛоцалПВ-ом је у томе што се волумену може приступити само на чвору на којем је припремљен и уопште нема репликације. Имао сам проблема са враћањем резервне копије путем Једрилица на новом кластеру јер су имена чворова била другачија. Ако говоримо о резервним копијама, цСтор има додатак за Велеро, са којим можете да правите резервне копије снимака ван локације у одређеном тренутку, што је згодније од прављења резервних копија на нивоу датотеке са Велеро-Рестиц-ом. написала сам неколико скрипти, да бисте олакшали управљање резервним копијама и враћањима помоћу овог додатка. Све у свему, заиста ми се свиђа ОпенЕБС, али његове перформансе...

топ

Роок је такође отвореног кода и разликује се од осталих опција на листи по томе што је оркестратор складиштења који обавља сложене задатке управљања складиштем са различитим позадинама, нпр. Цепх, ЕдгеФС и други, што умногоме поједностављује рад. Имао сам проблема са ЕфгеФС-ом ​​када сам га испробао пре неколико месеци, па сам тестирао углавном са Цепх-ом. Цепх не нуди само блок складиштење, већ и складиштење објеката компатибилно са С3/Свифт и дистрибуираним системом датотека. Оно што ми се свиђа код Цепх-а је могућност ширења података о волумену на више дискова тако да волумен може да користи више простора на диску него што може да стане на један диск. То је удобно. Још једна сјајна карактеристика је да када додате дискове у кластер, он аутоматски редистрибуира податке на све дискове.

Цепх има снимке, али колико ја знам, они се не могу користити директно у Роок/Кубернетес. Истина, нисам улазио дубоко у ово. Али не постоје резервне копије ван локације, тако да ћете морати да користите нешто са Велеро/Рестиц-ом, али постоје само резервне копије на нивоу датотеке, а не снимци у тренутку. Оно што ми се заиста допало код Роока је колико је лако радити са Цепх-ом – он сакрива скоро све компликоване ствари и нуди алате за директан разговор са Цепх-ом ради решавања проблема. Нажалост, током стрес теста Цепх волумена, стално сам имао проблема са Овај проблем, што узрокује да Цепх постане нестабилан. Још увек није јасно да ли је ово грешка у самом Цепх-у или проблем у начину на који Роок управља Цепх-ом. Пробао сам са подешавањима меморије и постало је боље, али проблем није у потпуности решен. Цепх има пристојне перформансе, као што можете видети у мерилима испод. Такође има добру контролну таблу.

Ранчер Лонгхорн

Заиста ми се свиђа Лонгхорн. По мом мишљењу, ово је обећавајуће решење. Истина, сами програмери (Ранцхер Лабс) признају да још увек није погодан за радно окружење, и то показује. Он је отвореног кода и има пристојне перформансе (иако га још нису оптимизовали), али волуменима је потребно веома дуго да се повежу са модулом, ау најгорим случајевима потребно је 15-16 минута, посебно након враћања велике резервне копије или надоградња радног оптерећења. Има снимке и резервне копије ових снимака ван локације, али оне се односе само на волумене, тако да ће вам и даље требати нешто попут Велеро-а за прављење резервних копија других ресурса. Прављење резервних копија и враћања су веома поуздани, али непристојно спори. Озбиљно, само невероватно споро. Употреба ЦПУ-а и оптерећење система често расту када радите са средњом количином података у Лонгхорну. Постоји згодна контролна табла за управљање Лонгхорном. Већ сам рекао да ми се свиђа Лонгхорн, али треба мало порадити.

СторагеОС

СторагеОС је први плаћени производ на листи. Има верзију за програмере са ограниченом величином управљаног складишта од 500 ГБ, али мислим да нема ограничења у броју чворова. Одељење продаје ми је рекло да цена почиње од 125 долара месечно за 1 ТБ, ако се добро сећам. Постоји основна контролна табла и згодан ЦЛИ, али нешто чудно се дешава са перформансама: у неким бенцхмарковима је прилично пристојан, али у стрес тесту јачине звука ми се брзина уопште није допала. Генерално, не знам шта да кажем. Тако да нисам много разумео. Овде нема резервних копија ван локације и такође ћете морати да користите Велеро са Рестиц-ом за прављење резервних копија. Чудно је, јер се производ плаћа. А програмери нису били жељни да комуницирају на Слацк-у.

Црвендаћ

О Робину сам сазнао на Реддиту од њиховог техничког директора. Никада раније нисам чуо за њега. Можда зато што сам тражио бесплатна решења, али Робин је плаћен. Имају прилично издашну бесплатну верзију са 10ТБ складишног простора и три чвора. Све у свему, производ је прилично пристојан и има лепе карактеристике. Постоји одличан ЦЛИ, али најбоља ствар је то што можете да направите снимак и направите резервну копију целе апликације (у бирачу ресурса то се зове Хелм издања или „флексибилне апликације“), укључујући волумене и друге ресурсе, тако да можете без Велера. И све би било дивно да не постоји један мали детаљ: ако вратите (или „увезете“, како се то у Робину зове) апликацију на новом кластеру - на пример, у случају опоравка од катастрофе - рестаурација, наравно, ради, али је забрањено наставити да прави резервну копију апликације. Ово једноставно није могуће у овом издању, као што су програмери потврдили. Ово је, благо речено, чудно, посебно имајући у виду остале предности (на пример, невероватно брзе резервне копије и враћања). Програмери обећавају да ће све поправити до следећег издања. Перформансе су генерално добре, али приметио сам једну необичност: ако покренем бенцхмарк директно на волумену који је повезан са хостом, брзина читања је много већа од покретања истог волумена из модула. Сви остали резултати су идентични, али у теорији не би требало да постоји разлика. Иако раде на томе, био сам узнемирен због проблема са враћањем и бекапом – мислио сам да сам коначно пронашао одговарајуће решење, и чак сам био спреман да га платим када ми је било потребно више простора или више сервера.

Портворк

Немам много да кажем овде. Ово је плаћени производ, подједнако кул и скуп. Представа је једноставно невероватна. Ово је најбољи показатељ до сада. Слацк ми је рекао да цене почињу од 205 УСД месечно по чвору, као што је наведено на Гоогле-овом ГКЕ Маркетплаце-у. Не знам да ли ће бити јефтиније ако купујете директно. Ионако си то не могу приуштити, па сам био веома, веома разочаран што је лиценца за програмере (до 1 ТБ и 3 чвора) практично бескорисна са Кубернетес-ом осим ако нисте задовољни статичким обезбеђивањем. Надао сам се да ће се количинска лиценца аутоматски вратити на програмер на крају пробног периода, али то се није догодило. Лиценца за програмере се може користити само директно са Доцкер-ом, а конфигурација у Кубернетес-у је веома гломазна и ограничена. Наравно, више волим опен соурце, али да имам новца, свакако бих изабрао Портворк. До сада, његове перформансе се једноставно не могу поредити са другим опцијама.

Линстор

Додао сам овај одељак након објављивања поста, када је један читалац предложио да испробате Линстор. Пробао сам и свидело ми се! Али још треба да копамо дубље. Сада могу да кажем да перформансе нису лоше (додао сам резултате бенцхмарк-а испод). У суштини, добио сам исте перформансе као и диск директно, без икаквих додатних трошкова. (Не питајте зашто Портворк директно има боље бројеве од бенчмарка. Немам појма. Магија, претпостављам.) Дакле, Линстор се до сада чини веома ефикасним. Није тако тешко инсталирати, али није тако лако као друге опције. Прво сам морао да инсталирам Линстор (модул кернела и алате/услуге) и да конфигуришем ЛВМ за танко обезбеђење и подршку за брзе снимке ван Кубернетеса, директно на хосту, а затим да креирам ресурсе потребне за коришћење складишта из Кубернетеса. Није ми се допало што не ради на ЦентОС-у и морао сам да користим Убунту. Није страшно, наравно, али помало досадно, јер документација (која је, иначе, одлична) помиње неколико пакета који се не могу наћи у наведеним Епел репозиторијумима. Линстор има снимке, али не и резервне копије ван локације, тако да сам поново морао да користим Велеро са Рестиц-ом за прављење резервних копија. Више бих волео снимке уместо резервних копија на нивоу датотеке, али ово се може толерисати ако је решење ефикасно и поуздано. Линстор је отвореног кода, али има плаћену подршку. Ако сам добро разумео, може се користити без ограничења, чак и ако немате уговор о подршци, али ово треба да се разјасни. Не знам колико је Линстор тестиран за Кубернетес, али сам слој за складиштење је изван Кубернетеса и, очигледно, решење се није појавило јуче, па је вероватно већ тестирано у реалним условима. Постоји ли решење које ће ме натерати да се предомислим и да се вратим на Кубернетес? Не знам. Још увек морамо да копамо дубље и проучавамо репликацију. Хајде да видимо. Али први утисак је добар. Дефинитивно бих више волео да користим сопствене Кубернетес кластере уместо Херокуа да бих имао више слободе и научио нове ствари. Пошто Линстор није тако лако инсталирати као друге, ускоро ћу написати пост о томе.

Мерила

Нажалост, нисам водио много белешки о поређењу јер нисам мислио да ћу о томе писати. Имам само резултате из основних фио бенцхмарк-а и само за кластере са једним чвором, тако да још увек немам бројеве за реплициране конфигурације. Али из ових резултата можете добити грубу представу о томе шта можете очекивати од сваке опције, јер сам их упоредио на истим серверима у облаку, 4 језгра, 16 ГБ РАМ-а, са додатним диском од 100 ГБ за тестиране волумене. Покренуо сам бенцхмарк три пута за свако решење и израчунао просечни резултат, плус ресетовао сам подешавања сервера за сваки производ. Ово је све потпуно ненаучно, само да вам дам општу представу. У другим тестовима сам копирао 38 ГБ фотографија и видео записа са тома и тестирао читање и писање, али, авај, нисам сачувао бројеве. Укратко: Портворкк је био много бржи.

За референтну вредност обима користио сам овај манифест:

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: dbench
spec:
  storageClassName: ...
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 5Gi
---
apiVersion: batch/v1
kind: Job
metadata:
  name: dbench
spec:
  template:
    spec:
      containers:
      - name: dbench
        image: sotoaster/dbench:latest
        imagePullPolicy: IfNotPresent
        env:
          - name: DBENCH_MOUNTPOINT
            value: /data
          - name: FIO_SIZE
            value: 1G
        volumeMounts:
        - name: dbench-pv
          mountPath: /data
      restartPolicy: Never
      volumes:
      - name: dbench-pv
        persistentVolumeClaim:
          claimName: dbench
  backoffLimit: 4

Прво сам направио волумен са одговарајућом класом за складиштење, а затим извршио посао са фио иза сцене. Узео сам 1 ГБ да проценим перформансе и не чекам предуго. Ево резултата:

Складиштење у Кубернетесу: ОпенЕБС против Роок (Цепх) против Ранцхер Лонгхорн против СторагеОС против Робин против Портворка против Линстора

Означио сам најбољу вредност за сваку метрику зеленом, а најгору црвеном.

Закључак

Као што видите, Портворк се у већини случајева показао боље од других. Али за мене је то скупо. Не знам колико кошта Робин, али имају одличну бесплатну верзију, па ако желите производ који се плаћа, можете га испробати (надам се да ће ускоро решити проблем са враћањем и резервним копијама). Од три слободна, најмање сам проблема имао са ОпенЕБС-ом, али су његове перформансе страшне. Штета што нисам сачувао још резултата, али надам се да ће вам бројеви и моји коментари помоћи.

Извор: ввв.хабр.цом

Додај коментар