Storio yn Kubernetes: OpenEBS vs Rook (Ceph) yn erbyn Rancher Longhorn yn erbyn StorageOS yn erbyn Robin yn erbyn Portworx yn erbyn Linstor

Storio yn Kubernetes: OpenEBS vs Rook (Ceph) yn erbyn Rancher Longhorn yn erbyn StorageOS yn erbyn Robin yn erbyn Portworx yn erbyn Linstor

Diweddariad!. Yn y sylwadau, awgrymodd un o'r darllenwyr geisio Linstor (efallai ei fod yn gweithio arno ei hun) felly rwyf wedi ychwanegu adran am y datrysiad hwn. Ysgrifennais hefyd post ar sut i'w osod, oherwydd bod y broses yn wahanol iawn i'r gweddill.

I fod yn onest, fe wnes i roi'r gorau iddi a rhoi'r gorau iddi Kubernetes (am y tro o leiaf). Byddaf yn defnyddio Heroku. Pam? Oherwydd storio! Pwy fyddai wedi meddwl y byddwn i'n tincian mwy gyda storfa na gyda Kubernetes ei hun. Rydw i'n defnyddio Cwmwl Hetzneroherwydd ei fod yn rhad ac mae'r perfformiad yn dda ac o'r cychwyn cyntaf rwyf wedi bod yn defnyddio clystyrau gan ddefnyddio Rancher. Wnes i ddim ceisio rheoli gwasanaethau Kubernetes o Google/Amazon/Microsoft/DigitalOcean, ac ati, ac ati, oherwydd roeddwn i eisiau dysgu popeth fy hun. Dwi hefyd yn gynnil.

Felly ie, treuliais lawer o amser yn ceisio penderfynu pa storfa i'w ddewis pan oeddwn yn gwerthuso pentwr Kubernetes posibl. Mae'n well gennyf atebion ffynhonnell agored, nid yn unig oherwydd y pris, ond rwyf wedi edrych i mewn i un neu ddau o opsiynau taledig allan o chwilfrydedd oherwydd bod ganddynt fersiynau am ddim gyda chyfyngiadau. Rwyf wedi nodi rhai niferoedd o brofion diweddar pan gymharais wahanol opsiynau, ac efallai y byddant o ddiddordeb i'r rhai sy'n dysgu am storio Kubernetes. Er fy mod yn bersonol wedi ffarwelio â Kubernetes am y tro. Rwyf hefyd am sôn gyrrwr CSI, a all ddarparu cyfrolau Hetzner Cloud yn uniongyrchol, ond nid wyf wedi rhoi cynnig arno eto. Edrychais i mewn i storfa a ddiffinnir gan feddalwedd cwmwl oherwydd roedd angen atgynhyrchu arnaf a'r gallu i osod cyfeintiau parhaus yn gyflym ar unrhyw nod, yn enwedig rhag ofn methiannau nodau a sefyllfaoedd tebyg eraill. Mae rhai atebion yn cynnig cipluniau pwynt-mewn-amser a chopïau wrth gefn oddi ar y safle, sy'n gyfleus.

Profais 6-7 datrysiad storio:

AgorEBS

Fel y dywedais eisoes yn y post blaenorolAr ôl profi'r rhan fwyaf o'r opsiynau o'r rhestr, fe wnes i setlo ar OpenEBS i ddechrau. Mae OpenEBS yn hawdd iawn i'w osod a'i ddefnyddio, ond i fod yn onest, ar ôl profi gyda data go iawn dan lwyth, roeddwn i'n siomedig gyda'i berfformiad. Mae hwn yn ffynhonnell agored, ac mae'r datblygwyr ar eu pen eu hunain Sianel llac bob amser yn ddefnyddiol iawn pan oedd angen help arnaf. Yn anffodus, mae ganddo berfformiad gwael iawn o'i gymharu ag opsiynau eraill, felly bu'n rhaid ail-redeg y profion. Ar hyn o bryd mae gan OpenEBS 3 injan storio, ond rwy'n postio canlyniadau meincnod ar gyfer cStor. Nid oes gennyf rifau ar gyfer Jiva a LocalPV eto.

Yn gryno, mae Jiva ychydig yn gyflymach, ac mae LocalPV yn gyflym ar y cyfan, heb fod yn waeth na meincnod y ddisg yn uniongyrchol. Y broblem gyda LocalPV yw mai dim ond ar y nod lle cafodd ei baratoi y gellir cyrchu'r cyfaint, ac nid oes unrhyw ddyblygiad o gwbl. Cefais rai problemau yn adfer copi wrth gefn trwy Cwch hwylio ar glwstwr newydd oherwydd bod yr enwau nodau yn wahanol. Os byddwn yn siarad am gopïau wrth gefn, mae gan cStor ategyn ar gyfer Velero, y gallwch chi wneud copïau wrth gefn oddi ar y safle o gipluniau ar adeg benodol, sy'n fwy cyfleus na chopïau wrth gefn ar lefel ffeil gyda Velero-Restic. Ysgrifennais sawl sgript, i'w gwneud hi'n haws rheoli copïau wrth gefn ac adfer gyda'r ategyn hwn. Ar y cyfan, rydw i'n hoff iawn o OpenEBS, ond mae ei berfformiad ...

Rook

Mae Rook hefyd yn ffynhonnell agored ac yn wahanol i weddill yr opsiynau ar y rhestr yn yr ystyr ei fod yn gerddorfawr storio sy'n cyflawni tasgau rheoli storio cymhleth gyda gwahanol backends, e.e. Ceff, EdgeFS ac eraill, sy'n symleiddio'r gwaith yn fawr. Cefais broblemau gydag EfgeFS pan geisiais ef ychydig fisoedd yn ôl, felly fe brofais yn bennaf gyda Ceph. Mae Ceph nid yn unig yn cynnig storfa bloc, ond hefyd storfa wrthrychau sy'n gydnaws â S3/Swift a system ffeiliau ddosbarthedig. Yr hyn rwy'n ei hoffi am Ceph yw'r gallu i wasgaru data cyfaint ar draws disgiau lluosog fel y gall y cyfaint ddefnyddio mwy o le ar ddisg nag y gall ffitio ar ddisg sengl. Mae'n gyfforddus. Nodwedd oer arall yw pan fyddwch chi'n ychwanegu disgiau at glwstwr, mae'n ailddosbarthu data yn awtomatig ar draws pob disg.

Mae gan Ceph gipluniau, ond hyd y gwn i, ni ellir eu defnyddio'n uniongyrchol yn Rook/Kubernetes. Yn wir, wnes i ddim mynd yn ddwfn i hyn. Ond nid oes copïau wrth gefn oddi ar y safle, felly bydd yn rhaid i chi ddefnyddio rhywbeth gyda Velero / Restic, ond dim ond copïau wrth gefn ar lefel ffeil sydd, nid cipluniau pwynt-mewn-amser. Yr hyn roeddwn i wir yn ei hoffi am Rook oedd pa mor hawdd yw hi i weithio gyda Ceph - mae'n cuddio bron yr holl bethau cymhleth ac yn cynnig offer i siarad â Ceph yn uniongyrchol ar gyfer datrys problemau. Yn anffodus, yn ystod y prawf straen o gyfeintiau Ceph, roeddwn yn dal i gael problemau gyda y broblem hon, sy'n peri i Ceph fynd yn ansefydlog. Nid yw'n glir eto a yw hwn yn fyg yn Ceph ei hun neu'n broblem yn y ffordd y mae Rook yn rheoli Ceph. Fe wnes i dincera gyda'r gosodiadau cof, ac fe wellodd, ond ni chafodd y broblem ei datrys yn llwyr. Mae gan Ceph berfformiad boddhaol, fel y gwelwch yn y meincnodau isod. Mae ganddo ddangosfwrdd da hefyd.

Rancher Longhorn

Dwi'n hoff iawn o Longhorn. Yn fy marn i, mae hwn yn ateb addawol. Yn wir, mae'r datblygwyr eu hunain (Rancher Labs) yn cyfaddef nad yw eto'n addas ar gyfer yr amgylchedd gwaith, ac mae hyn yn dangos. Mae'n ffynhonnell agored ac mae ganddo berfformiad gweddus (er nad ydyn nhw wedi ei optimeiddio eto), ond mae'r cyfeintiau'n cymryd amser hir iawn i gysylltu â'r pod, ac mewn achosion gwaethaf mae'n cymryd 15-16 munud, yn enwedig ar ôl adfer copi wrth gefn mawr neu uwchraddio'r llwyth gwaith. Mae ganddo gipluniau a chopïau wrth gefn oddi ar y safle o'r cipluniau hyn, ond dim ond i gyfrolau y maent yn berthnasol, felly bydd angen rhywbeth fel Velero arnoch o hyd i wneud copi wrth gefn o adnoddau eraill. Mae copïau wrth gefn ac adfer yn ddibynadwy iawn, ond yn anweddus o araf. O ddifrif, dim ond yn anhygoel o araf. Mae defnydd CPU a llwyth system yn aml yn cynyddu wrth weithio gyda swm canolig o ddata yn Longhorn. Mae dangosfwrdd cyfleus i reoli Longhorn. Rwyf eisoes wedi dweud fy mod yn hoffi Longhorn, ond mae angen rhywfaint o waith.

StorioOS

StorageOS yw'r cynnyrch taledig cyntaf ar y rhestr. Mae ganddo fersiwn datblygwr gyda maint storio rheoledig cyfyngedig o 500GB, ond ni chredaf fod cyfyngiad ar nifer y nodau. Dywedodd yr adran werthu wrthyf fod y gost yn dechrau ar $125 y mis am 1 TB, os cofiaf yn iawn. Mae yna ddangosfwrdd sylfaenol a CLI cyfleus, ond mae rhywbeth rhyfedd yn digwydd gyda'r perfformiad: mewn rhai meincnodau mae'n eithaf gweddus, ond yn y prawf straen cyfaint nid oeddwn yn hoffi'r cyflymder o gwbl. Yn gyffredinol, nid wyf yn gwybod beth i'w ddweud. Felly doeddwn i ddim wir yn deall llawer. Nid oes copïau wrth gefn oddi ar y safle yma a bydd yn rhaid i chi hefyd ddefnyddio Velero gyda Restic i wneud copïau wrth gefn o gyfrolau. Mae'n rhyfedd, oherwydd mae'r cynnyrch yn cael ei dalu. Ac nid oedd y datblygwyr yn awyddus i gyfathrebu ar Slack.

Robin

Dysgais am Robin ar Reddit gan eu cyfarwyddwr technegol. Doeddwn i erioed wedi clywed amdano o'r blaen. Efallai oherwydd fy mod yn chwilio am atebion am ddim, ond mae Robin yn cael ei dalu. Mae ganddyn nhw fersiwn eithaf hael am ddim gyda 10TB o storfa a thri nod. Ar y cyfan, mae'r cynnyrch yn eithaf gweddus ac mae ganddo nodweddion braf. Mae CLI gwych, ond y peth cŵl yw y gallwch chi gipolwg a gwneud copi wrth gefn o'r cymhwysiad cyfan (yn y dewisydd adnoddau gelwir hyn yn ryddhau Helm neu “apps fflecs”), gan gynnwys cyfeintiau ac adnoddau eraill, felly gallwch chi wneud heb Velero. A byddai popeth yn wych oni bai am un manylyn bach: os ydych chi'n adfer (neu "mewnforio", fel y'i gelwir yn Robin) cais ar glwstwr newydd - er enghraifft, mewn achos o adferiad o drychineb - y gwaith adfer, wrth gwrs, yn gweithio, ond yn parhau i gefnogi'r cais mae'n cael ei wahardd. Yn syml, nid yw hyn yn bosibl yn y datganiad hwn, fel y mae'r datblygwyr wedi cadarnhau. Mae hyn, i'w roi'n ysgafn, yn rhyfedd, yn enwedig o ystyried y manteision eraill (er enghraifft, copïau wrth gefn ac adfer anhygoel o gyflym). Mae'r datblygwyr yn addo trwsio popeth erbyn y datganiad nesaf. Mae perfformiad yn gyffredinol dda, ond sylwais ar rhyfeddod: os ydw i'n rhedeg y meincnod yn uniongyrchol ar gyfaint sydd ynghlwm wrth y gwesteiwr, mae'r cyflymder darllen yn llawer cyflymach na rhedeg yr un cyfaint o'r tu mewn i'r pod. Mae'r holl ganlyniadau eraill yn union yr un fath, ond mewn egwyddor ni ddylai fod unrhyw wahaniaeth. Er eu bod yn gweithio arno, roeddwn i'n ofidus am y broblem gydag adfer a gwneud copi wrth gefn - roeddwn i'n meddwl fy mod wedi dod o hyd i ateb addas o'r diwedd, ac roeddwn i hyd yn oed yn barod i dalu amdano pan oedd angen mwy o le neu fwy o weinyddion arnaf.

porthworx

Nid oes gennyf lawer i'w ddweud yma. Mae hwn yn gynnyrch taledig, yr un mor oer a drud. Mae'r perfformiad yn syml anhygoel. Dyma'r dangosydd gorau hyd yn hyn. Dywedodd Slack wrthyf fod prisiau'n dechrau ar $205 y mis fesul nod, fel y rhestrir yn GKE Marketplace Google. Nid wyf yn gwybod a fydd yn rhatach os prynwch yn uniongyrchol. Ni allaf fforddio hynny beth bynnag, felly roeddwn yn siomedig iawn, iawn bod trwydded y datblygwr (hyd at 1 TB a 3 nod) bron yn ddiwerth gyda Kubernetes oni bai eich bod yn fodlon â darpariaeth statig. Roeddwn yn gobeithio y byddai'r drwydded cyfaint yn israddio'n awtomatig i'r datblygwr ar ddiwedd y cyfnod prawf, ond ni ddigwyddodd hynny. Dim ond gyda Docker y gellir defnyddio trwydded y datblygwr yn uniongyrchol, ac mae cyfluniad Kubernetes yn feichus iawn ac yn gyfyngedig. Wrth gwrs, mae'n well gen i ffynhonnell agored, ond pe bai gennyf yr arian, byddwn yn bendant yn dewis Portworx. Hyd yn hyn, nid yw ei berfformiad yn cymharu ag opsiynau eraill.

Linstor

Ychwanegais yr adran hon ar ôl cyhoeddi'r post, pan awgrymodd un darllenydd roi cynnig ar Linstor. Rhoddais gynnig arni ac roeddwn i'n ei hoffi! Ond mae angen inni gloddio'n ddyfnach o hyd. Nawr gallaf ddweud nad yw'r perfformiad yn ddrwg (ychwanegais y canlyniadau meincnod isod). Yn y bôn, cefais yr un perfformiad â'r ddisg yn uniongyrchol, heb unrhyw orbenion. (Peidiwch â gofyn pam fod gan Portworx niferoedd gwell na'r meincnod gyrru yn uniongyrchol. Nid oes gennyf unrhyw syniad. Hud, mae'n debyg.) Felly mae Linstor yn ymddangos yn effeithiol iawn hyd yn hyn. Nid yw mor anodd ei osod, ond nid yw mor hawdd ag opsiynau eraill. Yn gyntaf roedd yn rhaid i mi osod Linstor (modiwl cnewyllyn ac offer / gwasanaethau) a ffurfweddu LVM ar gyfer darpariaeth denau a chymorth ciplun y tu allan i Kubernetes, yn uniongyrchol ar y gwesteiwr, ac yna creu'r adnoddau sydd eu hangen i ddefnyddio storfa o Kubernetes. Doeddwn i ddim yn hoffi nad oedd yn gweithio ar CentOS ac roedd yn rhaid i mi ddefnyddio Ubuntu. Ddim yn ofnadwy, wrth gwrs, ond ychydig yn annifyr, oherwydd mae'r ddogfennaeth (sy'n ardderchog, gyda llaw) yn sôn am sawl pecyn na ellir eu canfod yn y storfeydd Epel penodedig. Mae gan Linstor gipluniau, ond nid copïau wrth gefn oddi ar y safle, felly yma eto roedd yn rhaid i mi ddefnyddio Velero gyda Restic i wneud copi wrth gefn o gyfrolau. Byddai'n well gennyf gipluniau yn lle copïau wrth gefn ar lefel ffeil, ond gellir goddef hyn os yw'r datrysiad yn berfformiwr ac yn ddibynadwy. Mae Linstor yn ffynhonnell agored ond mae wedi talu cymorth. Os deallaf yn iawn, gellir ei ddefnyddio heb gyfyngiadau, hyd yn oed os nad oes gennych gontract cymorth, ond mae angen egluro hyn. Nid wyf yn gwybod pa mor brofedig yw Linstor ar gyfer Kubernetes, ond mae'r haen storio ei hun y tu allan i Kubernetes ac, yn ôl pob tebyg, ni ymddangosodd yr ateb ddoe, felly mae'n debyg ei fod eisoes wedi'i brofi mewn amodau real. A oes ateb yma a fydd yn gwneud i mi newid fy meddwl a mynd yn ôl i Kubernetes? Dwi ddim yn gwybod. Mae angen inni gloddio'n ddyfnach o hyd ac astudio atgynhyrchu. Gawn ni weld. Ond mae'r argraff gyntaf yn dda. Yn bendant byddai'n well gen i ddefnyddio fy nghlystyrau Kubernetes fy hun yn lle Heroku i gael mwy o ryddid a dysgu pethau newydd. Gan nad yw Linstor mor hawdd i'w osod ag eraill, byddaf yn ysgrifennu post amdano yn fuan.

Meincnodau

Yn anffodus, wnes i ddim cadw llawer o nodiadau am y gymhariaeth oherwydd doeddwn i ddim yn meddwl y byddwn i'n ysgrifennu amdano. Dim ond canlyniadau o'r meincnodau fio sylfaenol sydd gennyf a dim ond ar gyfer clystyrau nod sengl, felly nid oes gennyf rifau ar gyfer cyfluniadau wedi'u hailadrodd eto. Ond o'r canlyniadau hyn gallwch chi gael syniad bras o'r hyn i'w ddisgwyl gan bob opsiwn, oherwydd fe wnes i eu cymharu ar yr un gweinyddwyr cwmwl, 4 cores, 16 GB o RAM, gyda disg 100 GB ychwanegol ar gyfer y cyfrolau a brofwyd. Rhedais y meincnodau deirgwaith ar gyfer pob datrysiad a chyfrifais y canlyniad cyfartalog, ac ailosodais y gosodiadau gweinydd ar gyfer pob cynnyrch. Mae hyn i gyd yn gwbl anwyddonol, dim ond i roi syniad cyffredinol i chi. Mewn profion eraill, fe wnes i gopïo 38 GB o luniau a fideos o'r gyfrol i brofi darllen ac ysgrifennu, ond, gwaetha'r modd, ni arbedais y niferoedd. Yn fyr: roedd Portworkx yn llawer cyflymach.

Ar gyfer y meincnod cyfaint defnyddiais y maniffest hwn:

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

Fe wnes i greu cyfrol yn gyntaf gyda'r dosbarth storio priodol ac yna rhedeg y swydd gyda fio tu ôl i'r llenni. Cymerais 1 GB i amcangyfrif y perfformiad a pheidio ag aros yn rhy hir. Dyma'r canlyniadau:

Storio yn Kubernetes: OpenEBS vs Rook (Ceph) yn erbyn Rancher Longhorn yn erbyn StorageOS yn erbyn Robin yn erbyn Portworx yn erbyn Linstor

Rwyf wedi tynnu sylw at y gwerth gorau ar gyfer pob metrig mewn gwyrdd a'r gwaethaf mewn coch.

Casgliad

Fel y gwelwch, yn y rhan fwyaf o achosion perfformiodd Portworx yn well nag eraill. Ond i mi mae'n ddrud. Nid wyf yn gwybod faint mae Robin yn ei gostio, ond mae ganddyn nhw fersiwn wych am ddim, felly os ydych chi eisiau cynnyrch taledig, gallwch chi roi cynnig arni (gobeithio y byddant yn trwsio'r broblem gydag adfer a chopïau wrth gefn yn fuan). O'r tri rhad ac am ddim, cefais y problemau lleiaf gydag OpenEBS, ond mae ei berfformiad yn affwysol. Mae'n drueni na wnes i arbed mwy o ganlyniadau, ond rwy'n gobeithio y bydd y niferoedd a fy sylwadau yn eich helpu.

Ffynhonnell: hab.com

Ychwanegu sylw