
Uuendus!. Ăks lugejatest kommenteeris, et tasuks proovida (vĂ”ib-olla töötab ta isegi selle kallal), nii et ma lisasin selle lahenduse kohta jao. Lisaks kirjutasin , kuna protsess erineb oluliselt teistest.
Ausalt öeldes kapituleerusin ja loobusin (vÀhemalt praegu). Kasutan . Miks? Ahnuse pÀrast! Kes oleks arvanud, et mul on rohkem tegemist salvestustega kui Kubernetesega. Praegu kasutan , sest see on odav ja jÔudlus on hea, ning algusest peale olen klastreid seadistanud . Ma pole katsetanud Google'i/Amazoni/Microsofti/DigitalOceani jms hallatavaid Kubernetes'i teenuseid, kuna tahtsin kÔike ise Ôppida. Ja olen ka kokkuhoidlik.
Nii et jah, kulutasin hunniku aega, pĂŒĂŒdes vĂ€lja selgitada, millist salvestust valida, kui kaalusin vĂ”imalikke stĂ€kke Kubernetes'e jaoks. Eelistangi avatud lĂ€htekoodiga lahendusi, mitte ainult hinna pĂ€rast, aga ka uudishimu pĂ€rast uurisin paar tasulist varianti, sest neil on tasuta versioonid piirangutega. Kirjutasin ĂŒles mĂ”ned numbrid viimastest testidest, kui vĂ”rdlesin erinevaid variante, ja need vĂ”ivad huvitada inimesi, kes uurivad salvestust Kuberneteses. Kuigi isiklikult olen Kubernetesega hetkel hĂŒvasti jĂ€tnud. Soovin veel mainida , mille abil saab Hetzner Cloud'i mahtusid otse ette valmistada, kuid ma pole seda veel proovinud. Olen uurinud pilvepĂ”hiseid programmide seadistatud salvestusi, kuna mul oli vaja replikatsiooni ja vĂ”imalust kiiresti ĂŒhenduda pĂŒsivatel mahtudel igas sĂ”lmes, eriti sĂ”lmede tĂ”rgete ja muude sarnaste olukordade korral. MĂ”ned lahendused pakuvad ajasnapse ja off site varukoopiaid, mis on mugav.
Olen testinud 6â7 salvestuslahendust:
Kuidas ma juba mainisin , testides enamikku loendist, peatun esmalt OpenEBS-il. OpenEBS on vÀga lihtne paigaldada ja kasutada, kuid ausalt öeldes pettusin selle jÔudluses, kui testisin seda reaalse andmekoormuse all. See on avatud lÀhtekoodiga ja arendajad on sellel on alati vÀga abiks olnud, kui mul on olnud abi vaja. Kahjuks on tema jÔudlus teiste valikute kÔrval vÀga madal, seega pidin testid uuesti lÀbi viima. Praegu on OpenEBS-l 3 salvestusmootorit, kuid avaldan cStor'i jÔudlustestide tulemused. Hetkel pole mul andmeid Jiva ja LocalPV kohta.
LĂŒhidalt, Jiva on natuke kiirem, samas kui LocalPV on ĂŒldse kiire, mitte halvem kui otse ketta testimine. LocalPV probleem on see, et sellele pÀÀseb ligi ainult neil sĂ”lmedel, kus see on ette valmistatud, ja replikatsiooni pole ĂŒldse. Mul oli mĂ”ningaid probleeme varukoopia taastamisega lĂ€bi uusel klastril, kuna sĂ”lmede nimed olid erinevad. Kui rÀÀkida varukoopia tegemisest, siis cStor'il on , mis vĂ”imaldab teha off site varukoopiaid ajahetke sĂ”lmestatud pildi kaudu, mis on mugavam kui taseme failide varukoopiad Velero-Resticuga. Olin kirjutanud , et varukoopiate ja taastamiste haldamine selle plugina kaudu oleks lihtsam. Ăldiselt meeldib mulle OpenEBS vĂ€ga, kuid selle jĂ”udlus...
Rook'il on samuti avatud lĂ€htekood, ning erinevalt ĂŒlejÀÀnud valikutest nimekirjas on see salvestuskorraldaja, mis tĂ€idab keerulisi salvestushaldusĂŒlesandeid erinevate tagaplaanidega, nĂ€iteks , ja teised, mis hĂ”lbustavad oluliselt tööd. Mul oli probleeme EdgeFS-iga, kui ma proovisin seda paar kuud tagasi, seega testisin enamasti Cephi. Ceph pakub mitte ainult plokkide salvestust, vaid ka objekti salvestust, mis on S3/Swifti ĂŒhilduv ja jaotatud failisĂŒsteem. Mida ma Cephi juures meeldib, on selle vĂ”imalus hajutada mahtude andmeid mitmele ketale, et maht saaks kasutada rohkem kettaruumid, kui ĂŒhel ketas mahub. See on mugav. Veel ĂŒks lahe funktsioon on see, et kui lisad klastrile kettaid, jaotab see automaatselt andmed ĂŒmber kĂ”igile ketastele.
Ceph-l on snapshots, kuid, kui ma tean, ei saa neid Rook/Kubernetes'is otse kasutada. TĂ”si, ma ei ole sellesse sĂŒvenenud. Kuid off-site varukoopiad puuduvad, seega tuleb kasutada midagi Velero/Restic'uga, kuid seal on ainult failitaseme varukoopiad, mitte ajasnapshootid. Kuid mulle meeldis Rookis Ceph'i lihtne kasutamine - see varjab peaaegu kĂ”ik keerulised asjad ja pakub tööriistu, et suhelda Ceph'iga otse tĂ”rkeotsingu eesmĂ€rgil. Kahjuks tekkis mul Ceph'i mahu stressitesti ajal pidevalt , mis muudab Ceph'i ebastabiilseks. Veel ei ole selge, kas see on Ceph'i enda viga vĂ”i probleem selles, kuidas Rook Ceph'i haldab. Ma mĂ€ngisin mĂ€luseadetega ja olukord paranes, kuid probleem ei lahendatud tĂ€ielikult. Ceph'il on ĂŒsna hea jĂ”udlus, nagu nĂ€ha allolevatest vĂ”rdlustest. Samuti on sellel hea jĂ€lgimisliides.
Mulle meeldib Longhorn vĂ€ga. Minu arvates on see lubav lahendus. TĂ”si, arendajad (Rancher Labs) tunnistavad, et see pole veel töökeskkonnas sobiv ja see on mĂ€rgatav. Sellel on avatud lĂ€htekood ja hea jĂ”udlus (kuigi selle optimeerimisega nad veel tegelenud pole), kuid mahud ĂŒhenduvad podiga vĂ€ga aeglaselt ja halvematel juhtudel vĂ”tab see 15â16 minutit, eriti pĂ€rast suurte varukoopiate taastamist vĂ”i töökoormuse uuendamist. Sellel on snapshots ja off-site varukoopiad nendest snapshots'ist, kuid need kehtivad ainult mahtude kohta, seega on teil ikkagi vaja midagi Velero't varukoopiate tegemiseks muude ressursside jaoks. Varukoopiad ja taastamised on vĂ€ga usaldusvÀÀrsed, kuid kohutavalt aeglased. TĂ”siselt, tĂ€iesti ĂŒle mĂ”istuse aeglased. Protsessorite kasutus ja sĂŒsteemi koormus tĂ”usevad sageli keskmise andmemahtu töötades Longhorn'is. On mugav jĂ€lgimisliides, et hallata Longhorn'i. Olen juba öelnud, et mulle Longhorn meeldib, kuid selle kallal tuleb tĂ”siselt töötada.
StorageOS on esimene tasuline toode nimekirjas. Sellel on arendajate versioon, millel on piiratud hallatava salvestUSE suurus 500 GB, kuid sĂ”lmede arv, nagu ma mĂ€letan, ei ole piiratud. MĂŒĂŒgiosakonnas öeldi mulle, et hind algab $125 kuus 1 TB eest, kui ma Ă”igesti mĂ€letan. Seal on pĂ”hipaneel jĂ€lgimiseks ja mugav CLI, kuid jĂ”udlusega on midagi kummalist: mĂ”nedel vĂ”rdlustel on see ĂŒsna korralik, kuid ma ei olnud mahtude stressitestis kiirusest ĂŒldse rahul. Ăldiselt ei tea, mida öelda. SeetĂ”ttu ma ei uurinud eriti. Siin pole off-site varukoopiaid ja tuleb kasutada ka Velero koos Resticuga mahtude varundamiseks. Kummaline, arvestades, et toode on tasuline. Ja arendajad ei olnud ka jutuks Slackis.
Robinist kuulsin Redditis nende tehniliselt direktorilt. Varem ei olnud ma sellest kuulnud. VĂ”ib-olla sellepĂ€rast, et otsisin tasuta lahendusi, kuid Robin on tasuline. Neil on ĂŒsna helde tasuta versioon, millel on 10 TB salvestusruumi ja kolm sĂ”lme. KokkuvĂ”ttes on toode tĂ€iesti vÀÀrtuslik ja meeldivate funktsioonidega. Seal on suurepĂ€rane CLI, kuid kĂ”ige Ă€gedam on see, et saad teha snapshote ja varundusi kogu rakendusest (ressursside valikus nimetatakse seda Helm'i vĂ€ljaanneteks vĂ”i «flex apps'iks»), sealhulgas dokke ja teisi ressursse, nii et saan ilma Velero't kasutada. Ja kĂ”ik oleks suurepĂ€rane, kui mitte ĂŒks vĂ€ike detail: kui taastada (vĂ”i «importida», nagu Robin seda nimetab) rakendust uuel klastril â nĂ€iteks avarii taastamise korral â taaskĂ€ivitamine töötab, kuid rakenduse varundust ei saa jĂ€tkata. Seda versioonis lihtsalt ei ole vĂ”imalik teha, ja arendajad on kinnitanud. See on, pehmelt öeldes, imelik, eriti arvestades muid eeliseid (nĂ€iteks uskumatult kiire varundamine ja taastamine). Arendajad lubavad kĂ”ik jĂ€rgmise vĂ€ljaande jaoks parandada. Ăldine jĂ”udlus on hea, kuid ma mĂ€rkasin imelikku asja: kui kĂ€ivitada mÔÔdik otse dokis, mis on ĂŒhendatud hostiga, on lugemise kiirus palju suurem, kui sama dok, kuid podi seest. KĂ”ik teised tulemused on samad, kuid teoreetiliselt ei tohiks see nii olla. Kuigi nad töötavad selle kallal, olin ma pettunud taastamise ja varundamise probleemist â tundus, et olin lĂ”puks leidnud sobiva lahenduse ja olin isegi valmis maksma selle eest, kui mul on rohkem ruumi vĂ”i rohkem servereid.
Siin mul ei ole eriti midagi öelda. See on tasuline toode, sama hĂ€sti valmistatud ja kallis. JĂ”udlus on lihtsalt suurepĂ€rane. Praegu on see parim nĂ€itaja. Slackis öeldi mulle, et hind algab 205 dollarist kuus sĂ”lme kohta, nagu on mĂ€rgitud Google GKE turul. Ma ei tea, kas see oleks odavam, kui osta otse. Igal juhul ei saa ma endale sellist lubada, seega olin vĂ€ga ja vĂ€ga pettunud, et arendaja litsents (kuni 1 TB ja 3 sĂ”lme) on Kubernetesiga peaaegu kasutamatu, kui te ei lepi staatilise ettevalmistusega. Lootsin, et Ă€ri litsents langeb automaatselt arendaja tasemele prooviperioodi lĂ”pus, aga nii ei juhtunud. Arendaja litsentsi saab kasutada ainult otse Dockeriga, ja Kubernetesis seadistamine on vĂ€ga tĂŒlikas ja piiratud. Muidugi eelistan avatud lĂ€htekoodi, aga kui mul oleks raha, valiksin kindlasti Portworxi. Praegu on selle jĂ”udlus lihtsalt vĂ”rreldamatu teiste variantidega.
Lisasin selle jaotuse pĂ€rast postituse avaldamist, kui ĂŒks lugeja soovitas proovida Linstor. Proovisin ja mulle meeldis! Kuid tuleb veel sĂŒveneda. Praegu oskan öelda, et jĂ”udlus on korralik (benchmarki tulemused on allpool). Sisuliselt sain sama jĂ”udluse nagu otse kettalt, tĂ€iesti ilma kuludeta. (Ărge kĂŒsige, miks Portworxi numbrid on paremad kui otse ketta benchmark, mul pole aimugi. Maagia, ilmselt.) Seega tundub Linstor praegu vĂ€ga efektiivne. Selle paigaldamine pole just lihtne, kuid ei ole ka nii keeruline kui teised valikud. Alustuseks pidin paigaldama Linstori (tuumamoodul ja tööriistad/teenused) ja seadma LVM-i Ă”hukese varu ja snapshotite toetamiseks Kubernetes'i vĂ€liselt, otse hostis, seejĂ€rel looma ressursid, mis on vajalikud Kubernetes'is salvestamise kasutamiseks. Mulle ei meeldinud, et see ei töötanud CentOS-is ja pidin kasutama Ubuntu't. See pole muidugi probleem, kuid natuke tĂŒĂŒtab, kuna dokumentatsioon (see on muide suurepĂ€rane) mainib mitmeid pakette, mida ei saa leida nimetatud Epel'i hoidlatest. Linstoris on snapshot'id, kuid mitte off-site varukoopiad, seega pidin taas kasutama Velero't koos Restic'iga mahtude varundamiseks. Eelistaksin snapshot'e failitasandi varukoopiate asemel, kuid seda on vĂ”imalik taluda, kui lahendus on jĂ”udlik ja usaldusvÀÀrne. Linstor on avatud allikakoodiga, kuid pakub tasulist tuge. Kui ma Ă”igesti aru saan, saab seda kasutada ilma piiranguteta, isegi kui teil pole tugilepingut, kuid seda tuleb tĂ€psustada. Ma ei tea, kui hĂ€sti on Linstor testitud Kubernetes'i jaoks, kuid salvestustase on Kubernetes'ist vĂ€ljaspool, ja tundub, et lahendus pole eile ilmunud, seega on see tĂ”enĂ€oliselt juba reaalses keskkonnas testitud. Kas on olemas lahendus, mis paneb mind meelt muutma ja tagasi Kubernetes'i minema? Ei tea, ei tea. Pean veel uurima ja replikatsiooni lĂ€bi vaatama. NĂ€eme. Kuid esimene mulje on hea. Eelistaksin kindlasti kasutada oma Kubernetes'i klastri Heroku asemel, et saada rohkem vabadust ja Ă”ppida uut. Kuna Linstori paigaldamine ei ole nii lihtne kui teised, kirjutan sellest peagi postituse.
Benkmarkid
Kahjuks olen salvestanud vĂ€he salvestusi vĂ”rdlustest, kuna ei arvanud, et hakkan sellest kirjutama. Mul on vaid tulemused pĂ”hineb bench-mark'ing fio ja ainult ĂŒhe sĂ”lmega klastrite jaoks, seega replitseeritud konfiguratsioonide jaoks ei ole mul veel numbreid. Kuid nende tulemuste pĂ”hjal saab saada umbkaudse ettekujutuse selle kohta, mida iga valik pakub, kuna vĂ”rreldes neid samade pilveserveritega, 4 tuuma, 16 GB RAM-i, lisadiskiga 100 GB testitavate mahtude jaoks. KĂ€ivitasin baasmÔÔdikud kolm korda iga lahenduse jaoks ja arvutasin keskmise tulemuse, lisaks lĂ€htestasin serveri seadistused igaks tooteks. See kĂ”ik ei ole absoluutselt teaduslik, lihtsalt et saaksite ĂŒldiselt aru. Teistes testides kopeerisin 38 GB fotosid ja videoid mahult ja tagasi, et testida lugemist ja kirjutamist, kuid numbreid, kahjuks, ei salvestanud. LĂŒhidalt öeldes: Portworkx oli mĂ€rgatavalt kiirem.
Ma kasutasin selle mahendi jaoks jÀrgmist manifesti:
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: 4Esmalt lÔin ma mahu vastava salvestusklassi ning seejÀrel kÀivitasin fio töötluse taustal. VÔtsin 1 GB, et hinnata jÔudlust ja mitte oodata liiga kaua. Siin on tulemused:
Olen iga mÔÔdiku parima vÀÀrtuse esile tÔstnud rohelisega ja halvimad punasega.
KokkuvÔte
Nagu nÀete, nÀitas Portworx enamikus katsetes paremat tulemust kui teised. Kuid see on minu jaoks kallis. Ma ei tea, kui palju Robin maksab, kuid seal on suurepÀrane tasuta versioon, nii et kui vajate tasulist toodet, vÔite proovida (loodan, et nad lahendavad varsti taastamise ja varundamise probleemid). Kolmest tasuta toote puhul oli mul kÔige vÀhem probleeme OpenEBS-iga, kuid selle jÔudlus on kehv. Kahju, et ma ei salvestanud rohkem tulemusi, kuid loodan, et pakkuda on abiks esitatud numbrid ja minu kommentaarid.
Allikas: habr.com
