Thaub qab Part 3: Kev tshuaj xyuas thiab kev ntsuam xyuas duplicate, duplicati

Thaub qab Part 3: Kev tshuaj xyuas thiab kev ntsuam xyuas duplicate, duplicati

Daim ntawv no tham txog cov cuab yeej thaub qab uas ua cov thaub qab los ntawm kev tsim cov ntaub ntawv khaws tseg ntawm tus neeg rau zaub mov thaub qab.

Ntawm cov uas ua tau raws li qhov yuav tsum tau muaj yog duplicity (uas muaj ib tug zoo interface nyob rau hauv daim ntawv ntawm deja dup) thiab duplicati.

Lwm qhov zoo tshaj plaws thaub qab cov cuab yeej yog dar, tab sis txij li nws muaj cov npe dav heev ntawm cov kev xaiv - cov txheej txheem ntsuas ntsuas tsuas yog 10% ntawm qhov nws muaj peev xwm - peb tsis tau sim nws ua ib feem ntawm lub voj voog tam sim no.

Cov txiaj ntsig xav tau

Txij li thaum ob tus neeg sib tw tsim cov ntaub ntawv nyob rau hauv ib txoj kev los yog lwm qhov, tar tsis tu ncua tuaj yeem siv los ua cov lus qhia.

Tsis tas li ntawd, peb yuav soj ntsuam seb cov ntaub ntawv khaws cia zoo npaum li cas ntawm cov chaw khaws cia tau zoo los ntawm kev tsim cov ntawv luam theej tawm uas tsuas muaj qhov sib txawv ntawm daim ntawv luam thiab cov ntaub ntawv tam sim no, lossis nruab nrab ntawm cov ntaub ntawv yav dhau los thiab tam sim no (incremental, decremental, thiab lwm yam) .

Cwj pwm thaum tsim cov thaub qab:

  1. Ib tug kuj me me ntawm cov ntaub ntawv nyob rau hauv lub backup cia neeg rau zaub mov (piv rau cov backup cov ntaub ntawv los yog qhov luaj li cas ntawm cov ntaub ntawv nyob rau hauv GB), tab sis lawv loj heev (tsawg mus rau pua pua megabytes).
  2. Qhov loj ntawm qhov chaw cia yuav tsuas suav nrog kev hloov pauv - tsis muaj qhov sib npaug yuav khaws cia, yog li qhov chaw cia khoom loj yuav me dua nrog rsync-based software.
  3. Cia siab tias CPU hnyav load thaum siv compression thiab/los yog encryption, thiab tej zaum yuav siab heev network thiab disk load yog hais tias tus archiving thiab/los yog encryption txheej txheem khiav ntawm ib tug thaub qab cia server.

Cia peb khiav cov lus txib hauv qab no raws li tus nqi siv:

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

Cov txiaj ntsig tau ua tiav tau raws li hauv qab no:

Thaub qab Part 3: Kev tshuaj xyuas thiab kev ntsuam xyuas duplicate, duplicati

Lub sijhawm ua haujlwm 3m12s. Nws tuaj yeem pom tau tias qhov ceev yog txwv los ntawm disk subsystem ntawm cov ntaub ntawv khaws cia, xws li hauv qhov piv txwv nrog rsync. Tsuas yog me ntsis sai dua, vim ... kaw mus rau ib cov ntaub ntawv.

Tsis tas li ntawd, txhawm rau ntsuas compression, cia peb khiav tib txoj kev xaiv, tab sis pab kom compression ntawm tus neeg rau zaub mov thaub qab:

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

Cov txiaj ntsig yog:

Thaub qab Part 3: Kev tshuaj xyuas thiab kev ntsuam xyuas duplicate, duplicati

Lub sijhawm ua haujlwm 10m11s. Feem ntau yuav lub bottleneck yog ib leeg-ntws compressor ntawm qhov kawg tau txais.

Tib yam hais kom ua, tab sis nrog compression pauv mus rau tus neeg rau zaub mov nrog cov ntaub ntawv qub los ntsuas qhov kev xav tias lub bottleneck yog ib leeg-xov compressor.

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

Nws muab tawm zoo li no:

Thaub qab Part 3: Kev tshuaj xyuas thiab kev ntsuam xyuas duplicate, duplicati

Lub sijhawm ua tiav yog 9m37s. Lub load ntawm ib tug tub ntxhais los ntawm lub compressor yog kom meej meej pom, vim hais tias Lub network hloov ceev thiab thauj khoom ntawm qhov chaw disk subsystem zoo sib xws.

Txhawm rau ntsuas qhov encryption, koj tuaj yeem siv openssl lossis gpg los ntawm kev txuas cov lus txib ntxiv openssl los yog gpg v cev. Rau kev siv yuav muaj lus txib zoo li no:

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

Cov txiaj ntsig tau zoo li no:

Thaub qab Part 3: Kev tshuaj xyuas thiab kev ntsuam xyuas duplicate, duplicati

Lub sijhawm ua tiav yog 10m30s, txij li 2 cov txheej txheem tau khiav ntawm qhov tau txais sab - lub bottleneck yog dua ib txoj xov compressor, ntxiv rau me me encryption nyiaj siv ua haujlwm.

Hloov tshiab: Ntawm qhov kev thov ntawm bliznezz Kuv tabtom ntxiv cov kev xeem nrog pigz. Yog tias koj siv cov compressor nkaus xwb, nws yuav siv 6m30s, yog tias koj tseem ntxiv encryption, nws yuav yog 7m. Lub dip nyob rau hauv qab daim duab yog ib tug unflushed disk cache:

Thaub qab Part 3: Kev tshuaj xyuas thiab kev ntsuam xyuas duplicate, duplicati

Kev sim dua

Duplicity yog python software rau thaub qab los ntawm kev tsim encrypted archives hauv tar hom.

Rau cov ntaub ntawv ntxiv, librsync yog siv, yog li koj tuaj yeem cia siab tias tus cwj pwm tau piav qhia hauv yav dhau los ncej hauv series.

Cov thaub qab tuaj yeem raug encrypted thiab kos npe siv gnupg, uas yog ib qho tseem ceeb thaum siv cov chaw muab kev pabcuam sib txawv rau khaws cov thaub qab (s3, backblaze, gdrive, thiab lwm yam)

Cia peb saib seb cov txiaj ntsig yog dab tsi:

Cov no yog cov txiaj ntsig peb tau txais thaum khiav tsis muaj encryption

spoiler

Thaub qab Part 3: Kev tshuaj xyuas thiab kev ntsuam xyuas duplicate, duplicati

Lub sijhawm ua haujlwm ntawm txhua qhov kev xeem khiav:

Tua tawm 1
Tua tawm 2
Tua tawm 3

16m33 ua
17m20 ua
16m30 ua

8m29 ua
9m3 ua
8m45 ua

5m21 ua
6m04 ua
5m53 ua

Thiab ntawm no yog cov txiaj ntsig thaum gnupg encryption tau qhib, nrog qhov loj me ntawm 2048 khoom:

Thaub qab Part 3: Kev tshuaj xyuas thiab kev ntsuam xyuas duplicate, duplicati

Lub sijhawm ua haujlwm ntawm tib cov ntaub ntawv, nrog encryption:

Tua tawm 1
Tua tawm 2
Tua tawm 3

17m22 ua
17m32 ua
17m28 ua

8m52 ua
9m13 ua
9m3 ua

5m48 ua
5m40 ua
5m30 ua

Lub block loj tau qhia - 512 megabytes, uas yog pom meej hauv cov duab; Lub processor load tiag tiag nyob ntawm 50%, uas txhais tau hais tias qhov kev pab cuam siv tsis pub ntau tshaj ib tug processor core.

Lub hauv paus ntsiab lus ntawm qhov kev zov me nyuam txoj haujlwm kuj tseem pom tau meej meej: lawv tau txais ib daim ntawm cov ntaub ntawv, compressed nws, thiab xa mus rau lub chaw khaws ntaub ntawv khaws cia, uas tuaj yeem qeeb heev.
Lwm qhov tshwj xeeb yog lub sijhawm ua haujlwm ntawm qhov kev twv ua ntej, uas nyob ntawm qhov loj ntawm cov ntaub ntawv hloov pauv.

Enabling encryption tsis tau nce qhov kev pab cuam lub sijhawm khiav, tab sis nws nce lub processor load li ntawm 10%, uas tuaj yeem ua tau zoo heev.

Hmoov tsis zoo, qhov kev pab cuam no tsis tuaj yeem txheeb xyuas qhov xwm txheej nrog cov npe hloov npe, thiab qhov tshwm sim ntawm qhov chaw khaws cia tau muab sib npaug rau qhov loj ntawm cov kev hloov pauv (piv txwv li, tag nrho 18GB), tab sis muaj peev xwm siv cov neeg siv tsis ntseeg siab rau kev thaub qab kom meej. npog qhov kev coj cwj pwm no.

Kev sim dua

Cov software no tau sau hauv C# thiab khiav siv cov tsev qiv ntawv los ntawm Mono. Muaj GUI zoo li CLI version.

Cov npe kwv yees ntawm cov yam ntxwv tseem ceeb zoo ib yam li duplicity, suav nrog ntau lub chaw khaws cia, txawm li cas los xij, tsis zoo li duplicity, feem ntau cov yam ntxwv muaj tsis muaj cov cuab yeej thib peb. Txawm hais tias qhov no yog qhov ntxiv lossis qhov rho tawm nyob ntawm qhov tshwj xeeb, tab sis rau cov pib tshiab, nws yuav yooj yim dua kom muaj cov npe ntawm tag nrho cov yam ntxwv nyob rau hauv pem hauv ntej ntawm lawv ib zaug, tsis yog yuav tsum tau teeb tsa cov pob ntxiv rau python, zoo li yog. rooj plaub nrog duplicate.

Lwm qhov me me - qhov kev pab cuam nquag sau cov ntaub ntawv hauv zos sqlite sawv cev ntawm tus neeg siv uas pib thaub qab, yog li koj yuav tsum tau ntxiv kom ntseeg tau tias cov ntaub ntawv xav tau raug teev tseg txhua lub sijhawm pib siv cli. Thaum ua haujlwm los ntawm GUI lossis WEBGUI, cov ntsiab lus yuav muab zais los ntawm tus neeg siv.

Cia peb pom dab tsi qhov ntsuas qhov kev daws teeb meem no tuaj yeem tsim tau:

Yog tias koj kaw encryption (thiab WEBGUI tsis pom zoo ua qhov no), cov txiaj ntsig tau raws li hauv qab no:

Thaub qab Part 3: Kev tshuaj xyuas thiab kev ntsuam xyuas duplicate, duplicati

Cov sijhawm ua haujlwm:

Tua tawm 1
Tua tawm 2
Tua tawm 3

20m43 ua
20m13 ua
20m28 ua

5m21 ua
5m40 ua
5m35 ua

7m36 ua
7m54 ua
7m49 ua

Nrog encryption enabled, siv aes, nws zoo li no:

Thaub qab Part 3: Kev tshuaj xyuas thiab kev ntsuam xyuas duplicate, duplicati

Cov sijhawm ua haujlwm:

Tua tawm 1
Tua tawm 2
Tua tawm 3

29m9 ua
30m1 ua
29m54 ua

5m29 ua
6m2 ua
5m54 ua

8m44 ua
9m12 ua
9m1 ua

Thiab yog tias koj siv lwm qhov kev pab cuam gnupg, cov txiaj ntsig hauv qab no tuaj tawm:

Thaub qab Part 3: Kev tshuaj xyuas thiab kev ntsuam xyuas duplicate, duplicati

Tua tawm 1
Tua tawm 2
Tua tawm 3

26m6 ua
26m35 ua
26m17 ua

5m20 ua
5m48 ua
5m40 ua

8m12 ua
8m42 ua
8m15 ua

Raws li koj tuaj yeem pom, qhov kev zov me nyuam tuaj yeem ua haujlwm hauv ntau txoj xov, tab sis qhov no tsis ua rau nws muaj txiaj ntsig zoo dua, thiab yog tias koj sib piv cov haujlwm encryption, nws tab tom pib ua haujlwm sab nraud.
tig tawm sai dua li siv lub tsev qiv ntawv los ntawm Mono teeb. Qhov no tej zaum yuav yog vim lub fact tias cov kev pab cuam sab nraud yog optimized ntau dua.

Lwm qhov zoo tshaj plaws yog qhov tseeb tias qhov loj ntawm qhov chaw cia yuav siv sij hawm ntau npaum li cov ntaub ntawv hloov pauv tiag tiag, i.e. duplicati nrhiav tau ib daim ntawv teev npe rename thiab daws qhov teeb meem no kom raug. Qhov no tuaj yeem pom thaum khiav qhov kev sim thib ob.

Zuag qhia tag nrho, qhov kev xav zoo ntawm qhov kev zov me nyuam, suav nrog kev ncaj ncees rau cov neeg tshiab.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹

Ob tus neeg sib tw ua haujlwm qeeb qeeb, tab sis feem ntau, piv rau cov tar li niaj zaus, muaj kev vam meej, tsawg kawg nrog duplicati. Tus nqi ntawm qhov kev nce qib no kuj yog qhov tseeb - lub nra hnyav
processor. Feem ntau, tsis muaj qhov txawv txav tshwj xeeb hauv kev kwv yees cov txiaj ntsig.

tshawb pom

Yog tias koj tsis tas yuav maj nrawm nyob qhov twg, thiab tseem muaj cov khoom siv khoom seem, ib qho ntawm cov kev daws teeb meem xav tau ua, txawm li cas los xij, ntau txoj haujlwm tau ua tiav uas yuav tsum tsis txhob rov qab los ntawm kev sau ntawv wrapper rau saum tar. . Lub xub ntiag ntawm encryption yog ib qho cuab yeej tsim nyog yog tias tus neeg rau zaub mov khaws cia cov ntawv luam tawm tsis tuaj yeem ntseeg siab.

Muab piv rau cov kev daws teeb meem raws li rsync - kev ua tau zoo tuaj yeem ua rau ob peb zaug zuj zus, txawm tias qhov tseeb tias hauv nws daim ntawv ntshiab tar ua haujlwm 20-30% sai dua rsync.
Muaj kev txuag ntawm qhov loj ntawm lub repository, tab sis tsuas yog nrog duplicati.

Tshaj tawm

Thaub qab, ntu 1: Vim li cas thiaj li yuav tsum tau thaub qab, ib qho kev piav qhia ntawm txoj hauv kev, thev naus laus zis
Thaub qab Ntu 2: Kev tshuaj xyuas thiab sim rsync-based backup cov cuab yeej
Thaub qab Ntu 3: Tshuaj xyuas thiab kuaj duplicate, duplicati, deja dup
Backup Part 4: Kev tshuaj xyuas thiab sim zbackup, so, borgbackup
Backup Part 5: Kuaj bacula thiab veeam thaub qab rau linux
Backup Part 6: Sib piv cov cuab yeej thaub qab
Backup Part 7: Cov Lus Nug

Tshaj tawm los ntawm: Pavel Demkovich

Tau qhov twg los: www.hab.com

Ntxiv ib saib