Ugcino lweSigaba sesi-3: Uphononongo kunye noVavanyo lokuphindaphinda, ukuphinda-phinda

Ugcino lweSigaba sesi-3: Uphononongo kunye noVavanyo lokuphindaphinda, ukuphinda-phinda

Eli nqaku lixoxa ngezixhobo zogcino ezenza i-backups ngokudala i-archives kwi-server yogcino.

Phakathi kwezo zihlangabezana neemfuno ziphindwe kabini (ezinonxibelelwano oluhle ngendlela ye-deja dup) kunye ne-duplicati.

Esinye isixhobo sokugcina esiphawuleka kakhulu yi-dar, kodwa kuba inoluhlu olubanzi kakhulu lokhetho - indlela yokuvavanya igubungela nje i-10% yento ekwaziyo ukuyenza - asiyivavanyi njengenxalenye yomjikelo wangoku.

Iziphumo ezilindelekileyo

Kuba bobabini abagqatswa benza oovimba ngendlela enye okanye enye, itela eqhelekileyo ingasetyenziswa njengesikhokelo.

Ukongezelela, siya kuvavanya ukuba ukugcinwa kwedatha kakuhle kangakanani kwi-server yokugcina iphuculwe ngokudala iikopi zokugcina eziqulethe kuphela umahluko phakathi kwekopi epheleleyo kunye nemeko yangoku yeefayile, okanye phakathi kweendawo ezigciniweyo zangaphambili kunye nezangoku (ukunyuka, ukuhla, njl.) .

Ukuziphatha xa usenza i-backups:

  1. Inani elincinci leefayile kwiseva yokugcina i-backup (enokuthelekiswa nenani leekopi zogcino okanye ubungakanani bedatha kwi-GB), kodwa ubungakanani bazo bukhulu kakhulu (amashumi ukuya kumakhulu eemegabhayithi).
  2. Ubungakanani bogcino buya kubandakanya utshintsho kuphela - akukho ziphindaphindo ziya kugcinwa, ngoko ke ubukhulu bogcino buya kuba buncinci kunesoftware esekwe kwi-rsync.
  3. Lindela umthwalo onzima we-CPU xa usebenzisa ucinezelo kunye/okanye uguqulelo oluntsonkothileyo, kwaye kusenokwenzeka ukuba inethwekhi ephezulu kakhulu kunye nomthwalo wediski ukuba ugcino kunye/okanye inkqubo yoguqulelo oluntsonkothileyo iyasebenza kwiseva yokugcina ugcino.

Masiqhube lo myalelo ulandelayo njengexabiso lereferensi:

cd /src/dir; tar -cf - * | ssh backup_server "cat > /backup/dir/archive.tar"

Iziphumo zokwenziwa zibe ngolu hlobo lulandelayo:

Ugcino lweSigaba sesi-3: Uphononongo kunye noVavanyo lokuphindaphinda, ukuphinda-phinda

Ixesha lokwenziwa 3m12s. Inokubonwa ukuba isantya sinqunyanyisiwe yinkqubo esezantsi yedisk yomncedisi wokugcina ugcino, njengoko kumzekelo nge rsync. Ngokukhawuleza nje kancinci, kuba... ukurekhoda kuya kwifayile enye.

Kwakhona, ukuvavanya ucinezelo, masiqhube ukhetho olufanayo, kodwa vumela ukucinezela kwicala leseva yogcino:

cd /src/dir; tar -cf - * | ssh backup_server "gzip > /backup/dir/archive.tgz"

Iziphumo zezi:

Ugcino lweSigaba sesi-3: Uphononongo kunye noVavanyo lokuphindaphinda, ukuphinda-phinda

Ixesha lokwenziwa 10m11s. Okunokwenzeka ukuba i-bottleneck yi-compressor ehambayo enye ekupheleni kokufumana.

Umyalelo ofanayo, kodwa ngokunyanzeliswa kudluliselwe kumncedisi kunye nedatha yokuqala yokuvavanya i-hypothesis yokuba i-bottleneck yi-compressor enemisonto enye.

cd /src/dir; tar -czf - * | ssh backup_server "cat > /backup/dir/archive.tgz"

Kwavela ngolu hlobo:

Ugcino lweSigaba sesi-3: Uphononongo kunye noVavanyo lokuphindaphinda, ukuphinda-phinda

Ixesha lokwenziwa laliyi-9m37s. Umthwalo kwi-core enye yi-compressor ibonakala ngokucacileyo, kuba Isantya sogqithiso lwenethiwekhi kunye nomthwalo kwindlela esezantsi yediski yemvelaphi ziyafana.

Ukuvavanya uguqulelo oluntsonkothileyo, ungasebenzisa i-openssl okanye i-gpg ngokudibanisa umyalelo owongezelelweyo openssl okanye gpg kumbhobho. Ukwenzela ireferensi kuya kubakho umyalelo onje:

cd /src/dir; tar -cf - * | ssh backup_server "gzip | openssl enc -e -aes256 -pass pass:somepassword -out /backup/dir/archive.tgz.enc"

Iziphumo zaphuma ngolu hlobo:

Ugcino lweSigaba sesi-3: Uphononongo kunye noVavanyo lokuphindaphinda, ukuphinda-phinda

Ixesha lokubulawa liye laba yi-10m30s, kuba iinkqubo ezi-2 bezisebenza kwicala lokufumana - i-bottleneck iphinda ibe yicompressor enemisonto enye, kunye ne-encryption encinci ngaphezulu.

IUPS: Ngesicelo se-bliznezz ndiyongeza iimvavanyo kunye ne-pigz. Ukuba usebenzisa icompressor kuphela, kuya kuthatha i-6m30s, ukuba udibanisa kwakhona i-encryption, iya kuba malunga ne-7m. Ukudipha kwigrafu esezantsi yicache yediski engagungxulwanga:

Ugcino lweSigaba sesi-3: Uphononongo kunye noVavanyo lokuphindaphinda, ukuphinda-phinda

Uvavanyo oluphindwe kabini

Ukuphinda-phinda yisoftware yepython yogcino ngokwenza ugcino olufihliweyo kwifomathi yetar.

Kwiindawo zokugcina ezongezelelweyo, i-librsync iyasetyenziswa, ngoko unokulindela indlela yokuziphatha echazwe kuyo isithuba sangaphambili kuthotho.

Ii-backups zinokubethelwa kwaye zisayinwe kusetyenziswa i-gnupg, ebalulekileyo xa usebenzisa ababoneleli abahlukeneyo ukugcina ii-backups (s3, backblaze, gdrive, njl.)

Makhe sibone ukuba zithini iziphumo:

Ezi ziziphumo esizifumeneyo xa siqhuba ngaphandle koguqulelo oluntsonkothileyo

umbhuqi

Ugcino lweSigaba sesi-3: Uphononongo kunye noVavanyo lokuphindaphinda, ukuphinda-phinda

Ixesha lokuqhuba lovavanyo ngalunye:

Yazisa 1
Yazisa 2
Yazisa 3

16m33s
17m20s
16m30s

8m29s
9m3s
8m45s

5m21s
6m04s
5m53s

Kwaye nazi iziphumo xa uguqulelo lwe-gnupg luvuliwe, kunye nobukhulu obuphambili be-2048 bits:

Ugcino lweSigaba sesi-3: Uphononongo kunye noVavanyo lokuphindaphinda, ukuphinda-phinda

Ixesha lokusebenza kwidatha efanayo, ngoguqulelo oluntsonkothileyo:

Yazisa 1
Yazisa 2
Yazisa 3

17m22s
17m32s
17m28s

8m52s
9m13s
9m3s

5m48s
5m40s
5m30s

Ubungakanani bebhloko bubonakaliswe - i-512 megabytes, ebonakala ngokucacileyo kwiigrafu; Umthwalo weprosesa wahlala kwi-50%, oku kuthetha ukuba inkqubo ayisebenzisi ngaphezu kwe-core processor enye.

Umgaqo wokusebenza kwenkqubo ukwabonakala ngokucacileyo: bathatha iqhekeza ledatha, balicinezela, kwaye balithumela kumncedisi wogcino wogcino, onokucotha kakhulu.
Olunye uphawu luqikelelo lwexesha lokuqhutywa kwenkqubo, elixhomekeke kuphela kubungakanani bedatha etshintshileyo.

Ukwenza uguqulelo oluntsonkothileyo alulonyusanga kakhulu ixesha lokuqhuba kwenkqubo, kodwa lunyuse umthwalo weprosesa malunga ne-10%, enokuba yibhonasi entle.

Ngelishwa, le nkqubo ayikwazanga ukuyibona ngokuchanekileyo imeko ngokuphinda kuthiwe thaca, kwaye ubungakanani bogcino olufunyenweyo luye lwalingana nobungakanani botshintsho (oko kukuthi, yonke i-18GB), kodwa ukukwazi ukusebenzisa iseva engathenjwayo kwi-backup ngokucacileyo. ibandakanya le ndlela yokuziphatha.

Uvavanyo oluphindwe kabini

Le software ibhalwe kwi C# kwaye iqhuba isebenzisa iseti yeelayibrari ezivela kwiMono. Kukho i-GUI kunye nenguqulo ye-CLI.

Uluhlu oluqikelelweyo lweempawu eziphambili zifana nokuphindaphinda, kubandakanywa ababoneleli abahlukeneyo bokugcinwa kwe-backup, nangona kunjalo, ngokungafani nokuphindaphinda, ezininzi iimpawu zifumaneka ngaphandle kwezixhobo zomntu wesithathu. Nokuba oku kukudibanisa okanye uthabatha kuxhomekeke kwimeko ethile, kodwa kwabaqalayo, kunokwenzeka ukuba kube lula ukuba noluhlu lwazo zonke iimpawu eziphambi kwabo kanye, kunokuba ukongeza ukufaka iipakethe zepython, njengoko kunjalo. ityala kunye nokuphindaphinda.

Enye i-nuance encinci - inkqubo ibhala ngenkuthalo isiseko sedata se-sqlite sasekhaya egameni lomsebenzisi oqala ugcino, ngoko kufuneka ukongeza ukuqinisekisa ukuba isiseko sedatha esifunekayo sicaciswe ngokuchanekileyo ngexesha ngalinye inkqubo iqalwa ngokusebenzisa i-cli. Xa usebenza nge GUI okanye WEBGUI, iinkcukacha ziya kufihlwa kumsebenzisi.

Makhe sibone ukuba zeziphi izalathisi ezinokuveliswa sesi sisombululo:

Ukuba ucima uguqulelo oluntsonkothileyo (kwaye iWEBGUI ayikukhuthazi ukwenza oku), iziphumo zimi ngolu hlobo lulandelayo:

Ugcino lweSigaba sesi-3: Uphononongo kunye noVavanyo lokuphindaphinda, ukuphinda-phinda

Iiyure zokusebenza:

Yazisa 1
Yazisa 2
Yazisa 3

20m43s
20m13s
20m28s

5m21s
5m40s
5m35s

7m36s
7m54s
7m49s

Ngoguqulelo oluntsonkothileyo olunikwe amandla, usebenzisa ii-aes, ibonakala ngolu hlobo:

Ugcino lweSigaba sesi-3: Uphononongo kunye noVavanyo lokuphindaphinda, ukuphinda-phinda

Iiyure zokusebenza:

Yazisa 1
Yazisa 2
Yazisa 3

29m9s
30m1s
29m54s

5m29s
6m2s
5m54s

8m44s
9m12s
9m1s

Kwaye ukuba usebenzisa inkqubo yangaphandle gnupg, ezi ziphumo zilandelayo ziyaphuma:

Ugcino lweSigaba sesi-3: Uphononongo kunye noVavanyo lokuphindaphinda, ukuphinda-phinda

Yazisa 1
Yazisa 2
Yazisa 3

26m6s
26m35s
26m17s

5m20s
5m48s
5m40s

8m12s
8m42s
8m15s

Njengoko ubona, inkqubo inokusebenza kwimisonto emininzi, kodwa oku ayenzi isisombululo esinemveliso ngakumbi, kwaye ukuba uthelekisa umsebenzi wofihlo, usungula inkqubo yangaphandle.
yajika yakhawuleza kunokusebenzisa ithala leencwadi elisuka kwiseti yeMono. Oku kunokuba ngenxa yokuba inkqubo yangaphandle iphuculwe ngakumbi.

Enye into entle yayikukuba ubungakanani bogcino luthatha kanye njengedatha etshintshileyo, okt. I-duplicati ibhaqe igama lolawulo kwaye yaphatha le meko ngokuchanekileyo. Oku kunokubonwa xa kuqhutywa uvavanyo lwesibini.

Lilonke, iimpembelelo ezilungileyo zenkqubo, kubandakanya nokuba nobuhlobo ngokufanelekileyo kwabaqalayo.

Iziphumo

Bobabini abaviwa basebenze ngokucothayo, kodwa ngokubanzi, xa kuthelekiswa netha eqhelekileyo, kukho inkqubela phambili, ubuncinci ngeduplicati. Ixabiso lenkqubela enjalo likwacacile - umthwalo obonakalayo
iprosesa. Ngokubanzi, akukho zitenxa zikhethekileyo ekuqikeleleni iziphumo.

ezifunyanisiweyo

Ukuba awudingi kungxama naphi na, kwaye ube neprosesa esecaleni, nasiphi na isisombululo esiqwalaselwayo siya kwenza, kuyo nayiphi na imeko, mninzi kakhulu umsebenzi owenziweyo ekungafuneki ukuba uphinde uphindwe ngokubhala izikripthi zokusonga ngaphezulu kwetha. . Ubukho boguqulelo oluntsonkothileyo yipropati eyimfuneko kakhulu ukuba umncedisi wokugcina iikopi zogcino akanakuthenjwa ngokupheleleyo.

Xa kuthelekiswa nezisombululo ezisekelwe rsync - ukusebenza kunokuba kubi ngokuphindwe kaninzi, ngaphandle kwento yokuba kwimo yayo ecocekileyo itar yasebenza ngama-20-30% ngokukhawuleza kune-rsync.
Kukho ukonga kubungakanani bendawo yokugcina, kodwa kuphela ngeduplicati.

Isibhengezo

Ugcino, icandelo loku-1: Kutheni i-backup ifuneka, isishwankathelo seendlela, itekhnoloji
I-Backup Icandelo lesi-2: Ukuphonononga kunye nokuvavanya izixhobo zokugcina ezisekelwe kwi-rsync
I-Backup Icandelo lesi-3: Uphononongo kunye nokuvavanya ukuphindaphinda, ukuphindaphinda, i-deja dup
I-Backup Icandelo lesi-4: Uphononongo kunye nokuvavanya i-zbackup, i-restic, i-borgbackup
I-Backup Icandelo lesi-5: Ukuvavanya i-bacula kunye ne-veeam backup ye-linux
Backup Icandelo 6: Ukuthelekisa Tools Backup
Ugcino lweCandelo 7: Izigqibo

Ithunyelwe ngu: UPavel Demkovich

umthombo: www.habr.com

Yongeza izimvo