
Uuendus!. Ăks lugejatest pakkus kommentaarides proovida (vĂ”ib-olla töötab ta ise selle kallal), nii et lisasin jao selle lahenduse kohta. Samuti kirjutasin , sest protsess on oluliselt erinev teistest.
Ausalt öeldes loobusin ma ja ei kasuta enam (iga juhul vÀhemalt seni). Kasutan . Miks? SellepÀrast, et salvestus! Kes oleks vÔinud arvata, et ma pean rohkem tegelema salvestustega kui Kubernetesega. Kasutan , sest see on odav ja jÔudlus on hea, ning alguspealdisest alates olen klastreid juurutanud . Ma ei ole proovinud Google'i/Amazoni/Microsofti/DigitalOceani jpm hallatavaid Kubernetes teenuseid, sest soovisin kÔike ise Ôppida. Ja ma olen ka sÀÀstlik.
Nii et jah, ma kulutasin palju aega, pĂŒĂŒdes otsustada, millist salvestust valida, kui mĂ”tlesin Kubernetese vĂ”imaliku teeki ĂŒle. Eelistangi avatud lĂ€htekoodiga lahendusi, ja mitte ainult hinna pĂ€rast, vaid uurisin paar-kolm tasulist varianti ka huvi pĂ€rast, kuna neil on piiratud tasuta versioonid. Kirjutasin ĂŒles mĂ”ned numbrid viimastest testidest, kui vĂ”rdlesin erinevaid variante, ja need vĂ”ivad huvi pakkuda neile, kes uurivad salvestust Kuberneteses. Isiklikult olen ma aga Kubernetese kasutamisest loobunud. Tahan veel mainida , mis vĂ”imaldab otse seadistada Hetzner Cloud'i mahuteid, kuid ma ei ole seda veel proovinud. Uurisin pilvepĂ”hiseid tarkvaradefinieritud salvestuslahendusi, kuna vajan replikatsiooni ja vĂ”imalust kiiresti ĂŒhendada pĂŒsivad mahud mistahes sĂ”lmes, eriti sĂ”lmede tĂ”rgete ja muude sarnaste olukordade korral. MĂ”ned lahendused pakuvad ajasnapshotte ja off-site varukoopiaid, mis on mugav.
Testisin 6â7 salvestuslahendust:
Nagu ma juba ĂŒtlesin , testides enamiku nimekirjas olevatest variantidest, jĂ€i alguses OpenEBS silma. OpenEBS on vĂ€ga lihtne installida ja kasutada, kuid kui aus olla, siis pĂ€rast reaalsete andmete testimist koormuse all pettusin selle jĂ”udluses. See on avatud lĂ€htekoodiga ja arendajad on oma alati vĂ€ga abivalmid, kui mul abi vaja oli. Kahjuks on selle jĂ”udlus teistest variantidest oluliselt madalam, seega pidin testima uuesti. Praegu on OpenEBS-il 3 salvestusmootorit, kuid avaldan tulemused cStorâi jaoks. Hetkel pole mul numbreid Jiva ja LocalPV kohta.
KokkuvĂ”ttes on Jiva veidi kiirem ja LocalPV on ĂŒldiselt kiire, mitte halvem kui otseketta bĂ€nkmĂ€rk. LocalPV probleem on see, et sellele pÀÀseb juurde ainult selles sĂ”lmes, kus see valmis tehti, ja replikatsiooni pole ĂŒldse. Mul oli mĂ”ningaid raskusi varukoopia taastamisega uues klastris, sest sĂ”lmede nimed olid erinevad. Kui rÀÀkida varukoopiatest, siis cStoril on , mis vĂ”imaldab teha off-site varukoopiaid ajas tehtud snapshots'itest, mis on mugavam kui failitaseme varukoopiad Velero-Resticuga. Kirjutasin , et oleks lihtsam varukoopiate ja taastamiste haldamine selle pistikprogrammi abil. Ăldiselt meeldib mulle OpenEBS vĂ€ga, kuid tema jĂ”udlus...
Rooki allika kood on samuti avatud, ja teistest loetletud variantidest eristub ta selle poolest, et tegemist on salvestusorkestriga, mis tĂ€idab keerulisi salvestushalduse ĂŒlesandeid erinevate tagapindadega, nĂ€iteks , ja teised, mis lihtsustavad tööd mĂ€rkimisvÀÀrselt. Mul olid paar kuud tagasi EdgeFS-iga probleeme, seega testisin peamiselt Ceph-i. Ceph pakub mitte ainult plokk salvestust, vaid ka S3/Swift ĂŒhilduvat objektisalvestust ja jaotatud failisĂŒsteemi. Mulle meeldib Ceph-is see, et see vĂ”imaldab andmemahtu jagada mitme kettaga, et maht saaks kasutada rohkem kettaruumi, kui ĂŒhte ketast mahub. See on mugav. Veel ĂŒks lahe funktsioon on see, et kui lisad klastrisse kettaid, jagab see automaatselt andmed kĂ”ikide kettaste vahel.
Ceph-il on snapshots, kuid nii palju, kui mina tean, ei saa neid Rook/Kubernetesis otse kasutada. TĂ”si, ma ei ole sĂŒvitsi lĂ€inud. Off-site varukoopiad puuduvad, seega tuleb kasutada midagi Velero/Resticiga, aga seal on ainult failitasandi varukoopiad, mitte ajas tehtud snapshots. Kuid mulle Rookis meeldis vĂ€ga lihtne töö Cephiga â see varjab peaaegu kĂ”iki keerulisi aspekte ja pakub tööriistu Cephiga otse suhtlemiseks tĂ”rgete kĂ”rvaldamiseks. Kahjuks tekkis mul Ceph-i mahtude koormustestis pidevalt , mis muudab Cephi ebastabiilseks. Hetkel ei ole selge, kas see on bug Cephis endas vĂ”i probleem selles, kuidas Rook Cephi haldab. MĂ€ngisin mĂ€lu seadistustega ja olukord paranes, kuid probleem pole lĂ”puni lahendatud. Cephil on korralik jĂ”udlus, nagu on nĂ€ha allolevates benchmarkides. Lisaks on tal hea seirepaneel.
Mulle meeldib Longhorn vĂ€ga. Minu arvates on see tulevikku suunatud lahendus. TĂ”si, arendajad ise (Rancher Labs) tunnistavad, et see ei sobi praegu tootmiskeskkonda, ja see on nĂ€ha. Sellel on avatud lĂ€htekood ja ĂŒsna hea jĂ”udlus (kuigi selle optimeerimisega pole nad veel tegelenud), kuid mahud ĂŒhenduvad jĂ€ttes kauem aega, ja halvematel juhtudel vĂ”ib see vĂ”tta aega kuni 15â16 minutit, eriti pĂ€rast suure varukoopia vĂ”i töökoormuse uuendamise taastamist. Tal on snapshot'id ja off-site varukoopiad neist snapshot'idest, kuid need kehtivad ainult mahtude kohta, seega vajate ikka midagi nagu Velero, et varundada teisi ressursse. Varundamine ja taastamine on vĂ€ga usaldusvÀÀrsed, kuid ÀÀrmiselt aeglased. Ausalt öeldes on need lihtsalt kohutavalt aeglased. Protsessorite kasutamine ja sĂŒsteemi koormus tĂ”usevad sageli keskmise andmemahtudega töötamisel Longhornis. Seal on mugav jĂ€lgimisliides, et hallata Longhorn'i. Olen juba maininud, et mulle meeldib Longhorn, kuid selle kallal tuleb tĂ”siselt töötada.
StorageOS â see esimene tasuline toode nimekirjas. Sellel on arendajatele mĂ”eldud versioon, kus hallatava salvestusruumi suurusega on piirang 500 GB, kuid node'ide arvu osas ei paista olema piiranguid. MĂŒĂŒgiosakonnas öeldi, et hind algab 125 dollarist kuus 1 TB eest, kui ma Ă”igesti mĂ€letan. Seal on pĂ”himonitorimisplaat ja mugav CLI, kuid jĂ”udlusega on midagi kummalist: mĂ”nes testi tulemuses on see tĂ€iesti korralik, kuid ma ei olnud mahutestressitestis kiirusest sugugi rahul. ĂhesĂ”naga, ei tea, mida öelda. SeetĂ”ttu ma ei uurinud seda eriti lĂ€hemalt. Siin ei ole off-site varukoopiaid ja tuleb kasutada Velero't koos Restic'iga mahutite varundamiseks. Kummaline, arvestades, et toode on tasuline. Ja arendajad ei olnud kaastundlikud suhtlema Slackis.
Robinist kuulsin Redditis nende tehnilise juhi kaudu. Varem ei olnud ma temast kuulnud. VĂ”ib-olla seetĂ”ttu, et otsisin tasuta lahendusi, aga Robin on tasuline. Neil on ĂŒsna lahke tasuta versioon, mis sisaldab 10 TB salvestusruumi ja kolme sĂ”lme. Ăldiselt on toode ĂŒsna arvestatav ning mĂ”nusate funktsioonidega. Neil on suurepĂ€rane CLI, kuid kĂ”ige toredam on see, et saate teha kogu rakenduse jaoks snapshot'i ja varukoopia (ressursside valijas nimetatakse seda Helm'i vĂ€ljaanneteks vĂ”i âflex rakendusteksâ), sealhulgas mahuteid ja muid ressursse, nii et saate ilma Velero'ta toime tulla. KĂ”ik oleks hĂ€sti, kui mitte ĂŒks vĂ€ike detail: kui soovite rakendust uues klastris taastada (vĂ”i âimportidaâ, nagu seda Robin'is nimetatakse) - nĂ€iteks Ă”nnetusjuhtumi taastamisel - siis taastamine toimib ilmselgelt, kuid rakenduse varukoopia jĂ€tkamise vĂ”imalus puudub. Selles vĂ€ljaandes pole see lihtsalt vĂ”imalik ja arendajad on seda kinnitanud. See on, Ă”rnalt öeldes, kummaline, eriti arvestades teisi eeliseid (nĂ€iteks uskumatult kiired varukoopiad ja taastamised). Arendajad lubavad kĂ”ik jĂ€rgmises vĂ€ljaandes parandada. Ăldiselt on jĂ”udlus hea, kuid mĂ€rkasin ĂŒhte kummalist asja: kui kĂ€ivitate benchmark'i otse hostiga ĂŒhendatud mahutil, on lugemise kiirus palju kĂ”rgem kui samal mahutil, kuid podi sees. KĂ”ik muud tulemused on identsed, kuid teoorias ei tohiks erinevusi olla. Kuigi nad töötavad selle kallal, olin ma taastamis- ja varukoopia probleemi pĂ€rast pettunud - tundus, et olin lĂ”puks leidnud sobiva lahenduse, ja olin isegi valmis selle eest maksma, kui mul oleks rohkem ruumi vĂ”i rohkem servereid.
Siin mul eriti midagi öelda pole. See on tasuline toode, sama hea kui kallis. JÔudlus on lihtsalt imeline. Praegu on see parim nÀitaja. Slackis öeldi mulle, et hind algab alates 205 dollarist kuus sÔlme kohta, nagu on nÀidatud Google'i 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 Kubernetesega praktiliselt kasutuks, kui sa ei lepi staatilise ettevalmistusega. Lootsin, et ettevÔtte litsents alandatakse automaatselt arendaja tasemele katseaega lÔppedes, kuid seda ei juhtunud. Arendaja litsentsi saab kasutada ainult otse Dockeriga ja seadistamine Kuberneteses on vÀga kohmakas ja piiratud. Muidugi eelistan avatud lÀhtekoodiga lahendusi, kuid kui mul oleks raha, valiksin Portworxi kindlalt. Praegu ei saa tema jÔudlus lihtsalt teiste variantidega vÔrreldagi.
Lisasin selle osa pĂ€rast postituse avaldamist, kui ĂŒks lugeja soovitas proovida Linstor. Proovisin ja see meeldis mulle! Aga natuke veel peab kaevuma. Praegu vĂ”in öelda, et jĂ”udlus on ĂŒsna hea (benchmarki tulemused on allpool). Sisuliselt sain sama jĂ”udluse nagu otse diskilt, tĂ€ielike kuludeta. (Ărge kĂŒsige, miks Portworxi numbrid on paremad kui otse diskilt. Pole aimugi. Ilmselt maagia.) Seega tundub Linstor praegu vĂ€ga efektiivne. Selle seadistamine pole just keeruline, aga ei ole ka nii lihtne kui teised variandid. Esiteks pidin paigaldama Linstori (tuuma moodul ja tööriistad/teenused) ja seadistama LVM-i Ă”hukese varude haldamiseks ja koopia tegemiseks Kubernetesest vĂ€ljaspool, otse hostis. Siis tuli luua ressursid, mis on vajalikud salvestuse kasutamiseks Kubernetesest. Mind hĂ€iris, et see ei töödanud CentOS-is ja pidin kasutama Ubuntut. See pole hirmus, kuid on natuke tĂŒĂŒtu, sest dokumentatsioonis (see on muide suurepĂ€rane) mainitakse mitmeid pakette, mida antud Epel'i hoidlatest ei leia. Linstoril on koopiaid, kuid mitte kaugbackup'e, seega pidin taas kasutama Velero koos Resticuga, et varundada mahtusid. Eelistan koopiaid failitasandi backup'ide asemel, kuid selle vĂ”ib taluda, kui lahendus on jĂ”uline ja usaldusvÀÀrne. Linstor on avatud lĂ€htekoodiga, kuid pakub tasulist tuge. Kui ma Ă”igesti aru saan, saab seda kasutada piiranguteta, isegi kui lepingut toetuse saamiseks ei ole, kuid seda tuleb kontrollida. Ma ei tea, kui hĂ€sti on Linstor Kuberneteses testitud, kuid salvestustase on Kubernetesest vĂ€ljas ja tundub, et lahendus pole ilmnenud eile, seega on seda tĂ”enĂ€oliselt juba reaalses keskkonnas testitud. Kas siin on lahendus, mis paneb mind ĂŒmber mĂ”tlema ja tagasi Kubernetesesse naasma? Ei tea, ei tea. Pean veel uurima, uurima replikatsiooni. NĂ€eme. Aga esimene mulje on hea. Eelistaksin kindlasti kasutada oma klastreid Kuberneteses, mitte Heroku, et saada rohkem vabadust ja Ă”ppida uut. Kuna Linstori seadistamine ei ole nii lihtne kui teistel, kirjutan sellest varsti postituse.
Benkmarker
Kahjuks olen ma salvestanud vĂ€ga vĂ€he vĂ”rdlusi, kuna ei arvanud, et hakkan sellest kirjutama. Mul on ainult fio pĂ”hikatsed ja ainult ĂŒhe sĂ”lmega klastrite jaoks, seega ei ole mul veel andmeid replikaadi konfiguratsioonide jaoks. Kuid nende tulemuste pĂ”hjal vĂ”ib saada umbkaudse ĂŒlevaate sellest, mida iga variant vĂ”ib oodata, kuna olen neid vĂ”rreldud identsetes pilveserverites, 4 tuuma, 16 GB RAM-i, lisanduv 100 GB ketas testitavatele mahtudele. KĂ€isin iga lahenduse jaoks benchmarque kolm korda lĂ€bi ja arvutasin keskmise tulemuse, pluss lĂ€htestasin serveri seadistused iga toote jaoks. KĂ”ik see pole sugugi teaduslik, lihtsalt et saaksite ĂŒldise arusaama. Teistes testides kopeerisin 38 GB fotosid ja videoid mahtudest ja nendele, et testida lugemist ja kirjutamist, kuid kahjuks ei ole andmeid salvestanud. LĂŒhidalt öeldes: Portworx oli palju kiirem.
Ma kasutasin selle mahu benchmarque jaoks sellist manifeesti:
tĂŒĂŒp: PersistentVolumeClaim
apiVersion: v1
metaandmed:
nimi: dbench
spetsifikatsioon:
storageClassName: ...
accessModes:
- ReadWriteOnce
ressursid:
taotlused:
storage: 5Gi
---
apiVersion: batch/v1
tĂŒĂŒp: Job
metaandmed:
nimi: dbench
spetsifikatsioon:
mall:
spetsifikatsioon:
konteinerid:
- nimi: dbench
pilt: sotoaster/dbench:latest
imagePullPolicy: IfNotPresent
keskkond:
- nimi: DBENCH_MOUNTPOINT
vÀÀrtus: /data
- nimi: FIO_SIZE
vÀÀrtus: 1G
volumeMounts:
- nimi: dbench-pv
mountPath: /data
taaskÀivituspolitiika: Never
maht:
- nimi: dbench-pv
persistentVolumeClaim:
claimName: dbench
backoffLimit: 4Esmalt lĂ”in ma mahuti, millel on sobiv salvestusklass, ja seejĂ€rel kĂ€ivitasin taustal fio ĂŒlesande. Valisin 1 GB, et jĂ€lgida jĂ”udlust ja mitte liiga kaua oodata. Siin on tulemused:
MÀrgistasin iga mÔÔdiku parima vÀÀrtuse roheliseks ja halvimad punaseks.
KokkuvÔte
Nagu nÀete, on Portworx enamikul juhtudel nÀidanud paremaid tulemusi kui teised. Aga minu jaoks on see kallis. Ma ei tea, kui palju Robin maksab, kuid seal on suurepÀrane tasuta versioon, nii et kui vajate tasulist toodet, vÔite proovida (loodetavasti lahendavad nad varsti taastamise ja varundamise probleemid). Kolmest tasuta vÔimalusest oli mul kÔige vÀhem probleeme OpenEBS-iga, kuid selle jÔudlus on kehv. Kahju, et ma ei salvestanud rohkem tulemusi, kuid loodetavasti aitavad teid esitatud numbrid ja minu kommentaarid.
Allikas: habr.com
