Ndabere akụkụ 4: Nyochaa na ịnwale zbackup, restic, borgbackup

Ndabere akụkụ 4: Nyochaa na ịnwale zbackup, restic, borgbackup

Isiokwu a ga-atụle ndabere software nke, site n'imebi data iyi n'ime iche iche components (chunks), na-etolite a repository.

Enwere ike ịmegharị ihe nchekwa nchekwa na ezoro ezo, na nke kachasị mkpa - n'oge usoro ndabere ugboro ugboro - jiri ya mee ihe.

Ndabere n'ụdị ebe a na-edebe ebe a bụ usoro aha nke ejikọrọ na ibe ya, dịka ọmụmaatụ, dabere na ọrụ hash dị iche iche.

Enwere ọtụtụ ngwọta yiri nke ahụ, m ga-elekwasị anya na 3: zbackup, borgbackup na restic.

Nsonaazụ tụrụ anya

Ebe ọ bụ na ndị niile na-achọ akwụkwọ chọrọ ka e mepụta ebe nchekwa n'otu ụzọ ma ọ bụ ọzọ, otu n'ime ihe kachasị mkpa ga-abụ ịkọ nha nke ebe nchekwa ahụ. Dị ka o kwesịrị, nha ya ekwesịghị ịbụ ihe karịrị 13 GB dị ka usoro anabatara si dị, ma ọ bụ ọbụna obere - dabere na njikarịcha nke ọma.

Ọ dịkwa mma nke ukwuu inwe ike ịmepụta faịlụ ndabere ozugbo, na-ejighi ebe nchekwa dị ka tar, yana ịrụ ọrụ na ssh/sftp na-enweghị ngwaọrụ ndị ọzọ dị ka rsync na sshfs.

Omume mgbe ị na-emepụta nkwado ndabere:

  1. Ogo nke ebe nchekwa ga-adị nhata nha mgbanwe, ma ọ bụ obere.
  2. A na-atụ anya ibu CPU dị arọ mgbe ị na-eji mkpakọ na / ma ọ bụ izo ya ezo, na nnukwu netwọkụ na ibu diski nwere ike ma ọ bụrụ na usoro nchekwa na / ma ọ bụ usoro nzuzo na-agba ọsọ na ihe nkesa nchekwa nchekwa.
  3. Ọ bụrụ na ebe nchekwa ahụ mebiri emebi, njehie na-egbu oge nwere ike ịbụ ma mgbe ị na-emepụta nkwado ndabere ọhụrụ yana mgbe ị na-agbalị iweghachi. Ọ dị mkpa ịhazi usoro ndị ọzọ iji hụ na iguzosi ike n'ezi ihe nke ebe nchekwa ma ọ bụ jiri ngwaọrụ arụnyere maka ịlele iguzosi ike n'ezi ihe ya.

A na-ewere ọrụ na tar ka ọ bụrụ uru ntụaka, dịka egosiri n'otu akụkọ gara aga.

Na-anwale zbackup

Usoro izugbe nke zbackup bụ na mmemme ahụ na-ahụ na mpaghara ntinye data ntinye nwere otu data, wee pịgharịa na nhọrọ ma zoo ha, na-echekwa mpaghara ọ bụla naanị otu ugboro.

Deduplication na-eji ọrụ hash mgbanaka 64-bit nwere windo na-amị amị iji lelee maka dakọtara byte-by-byte megide ngọngọ data dị (dị ka rsync si eme ya).

Multi-threaded lzma na lzo na-eji maka mkpakọ, na aes maka izo ya ezo. Ụdị kachasị ọhụrụ nwere ike ihichapụ data ochie na ebe nchekwa n'ọdịnihu.
Edere mmemme ahụ na C++ nwere obere ndabere. O doro anya na onye edemede ahụ sitere n'ike mmụọ nsọ site na unix-way, yabụ mmemme ahụ na-anabata data na stdin mgbe ị na-emepụta nkwado ndabere, na-emepụta iyi data yiri ya na stdout mgbe ọ na-eweghachi. Ya mere, enwere ike iji zbackup dị ka ezigbo "ngbochi ụlọ" mgbe ị na-ede ihe ngwọta ndabere nke gị. Dịka ọmụmaatụ, onye edemede nke akụkọ ahụ ejirila mmemme a dị ka ngwa ndabere maka igwe ụlọ kemgbe ihe dịka 2014.

iyi data ga-abụ tar mgbe niile ma ọ bụrụ na ekwughị ya ọzọ.

Ka anyị hụ ihe ga-esi na ya pụta:

A tụlere ọrụ ahụ na nhọrọ abụọ:

  1. A na-emepụta ebe nchekwa na zbackup na-arụ ọrụ na ihe nkesa na data isi mmalite, mgbe ahụ, a na-ebufe ọdịnaya nke ebe nchekwa ahụ na nchekwa nchekwa nchekwa.
  2. a na-emepụta ebe nchekwa na nchekwa nchekwa nchekwa, zbackup na-amalite site na ssh na ihe nkesa nchekwa nchekwa, na-ezigara ya data site na ọkpọkọ.

Nsonaazụ nke nhọrọ nke mbụ bụ ndị a: 43m11s - mgbe ị na-eji ebe nchekwa ezoro ezo na lzma compressor, 19m13s - mgbe ejiri lzo dochie compressor.

Ibu dị na sava ahụ nwere data izizi bụ nke a (ihe atụ nwere lzma ka egosiri, ya na lzo enwere ihe dị ka otu foto ahụ, mana òkè nke rsync bụ ihe dị ka otu ụzọ n'ụzọ anọ nke oge):

Ndabere akụkụ 4: Nyochaa na ịnwale zbackup, restic, borgbackup

O doro anya na usoro ndabere dị otú ahụ kwesịrị ekwesị maka mgbanwe dị ntakịrị na obere mgbanwe. Ọ bụkwa ihe amamihe dị na ya ịmachi zbackup na eri 1, ma ọ bụghị ya, a ga-enwe ibu CPU dị elu, n'ihi na Mmemme ahụ dị ezigbo mma n'ịrụ ọrụ n'ọtụtụ eri. Ibu dị na diski ahụ dị ntakịrị, nke n'ozuzu agaghị achọpụta ya na sistemụ diski ssd nke oge a. Ị nwekwara ike ịhụ n'ụzọ doro anya mmalite nke usoro ịmekọrịta data nchekwa na ihe nkesa dịpụrụ adịpụ; Ọdịmma nke ụzọ a bụ nchekwa nke ebe nchekwa mpaghara na, n'ihi ya, mbigharị nke data.

Ihe na-adọrọ mmasị karị na ọdabara na omume bụ nhọrọ nke abụọ, na-agba ọsọ zbackup ozugbo na ihe nkesa nchekwa ndabere.

Nke mbụ, anyị ga-elele ọrụ ahụ na-ejighi ezoro ezo na lzma compressor:

Ndabere akụkụ 4: Nyochaa na ịnwale zbackup, restic, borgbackup

Oge ịgba ọsọ nke ọsọ ule ọ bụla:

Mwepụta 1
Mwepụta 2
Mwepụta 3

39 m45
40 m20
40 m3

7 m36
8 m3
7 m48

15 m35
15 m48
15 m38

Ọ bụrụ na ị mee ka izo ya ezo site na iji aes, nsonaazụ ya dị nso:

Ndabere akụkụ 4: Nyochaa na ịnwale zbackup, restic, borgbackup

Oge na-arụ ọrụ na otu data, yana izo ya ezo:

Mwepụta 1
Mwepụta 2
Mwepụta 3

43 m40
44 m12
44 m3

8 m3
8 m15
8 m12

15 m0
15 m40
15 m25

Ọ bụrụ na ejikọta ya na nzuzo na mkpakọ iji lzo, ọ dị ka nke a:

Ndabere akụkụ 4: Nyochaa na ịnwale zbackup, restic, borgbackup

Oge ọrụ:

Mwepụta 1
Mwepụta 2
Mwepụta 3

18 m2
18 m15
18 m12

5 m13
5 m24
5 m20

8 m48
9 m3
8 m51

Ogo nke ebe nchekwa arụpụta bụ otu ihe na 13GB. Nke a pụtara na mwepụta na-arụ ọrụ nke ọma. Ọzọkwa, na data abịakọrọlarị, iji lzo na-enye mmetụta pụtara ìhè n'ihe gbasara ngụkọta oge arụ ọrụ, zbackup na-abịaru nso na duplicati / duplicati, mana na-azụ ndị dabere na librsync site na ugboro 2-5.

Uru ndị a doro anya - ịchekwa ohere diski na ihe nkesa nchekwa ndabere. Maka ngwaọrụ nyocha ebe nchekwa, onye dere zbackup adịghị enye ha;

N'ozuzu, mmetụta dị mma nke ukwuu, n'agbanyeghị eziokwu ahụ bụ na ọrụ ahụ na-eguzobe ihe dị ka afọ 3 (arịrịọ njirimara ikpeazụ bụ ihe dị ka otu afọ gara aga, ma na-enweghị nzaghachi).

Na-anwale borgbackup

Borgbackup bụ ndụdụ nke ụlọ elu, usoro ọzọ yiri zbackup. Edere ya na Python, o nwere ndepụta ikike dị ka zbackup, mana ọ nwekwara ike:

  • Ugwu ndabere site na fuse
  • Lelee ọdịnaya nchekwa
  • Na-arụ ọrụ na onye ahịa-ihe nkesa mode
  • Jiri compressors dị iche iche maka data, yana mkpebi siri ike nke ụdị faịlụ mgbe ị na-akpakọ ya.
  • Nhọrọ nzuzo 2, aes na blake
  • Ngwa arụnyere maka

nlele arụmọrụ

borgbackup benchmark crud ssh://backup_server/repo/path local_dir

Nsonaazụ bụ dị ka ndị a:

CZ-BIG 96.51 MB/s (10 100.00 MB niile-efu faịlụ: 10.36s)
RZ-BIG 57.22 MB/s (10
100.00 MB niile-efu faịlụ: 17.48s)
UZ-BIG 253.63 MB/s (10 100.00 MB niile-efu faịlụ: 3.94s)
DZ-BIG 351.06 MB/s (10
100.00 MB niile-efu faịlụ: 2.85s)
CR-BIG 34.30 MB/s (10 100.00 MB faịlụ enweghị usoro: 29.15s)
RR-BIG 60.69 MB/s (10
100.00 MB faịlụ enweghị usoro: 16.48s)
UR-BIG 311.06 MB/s (10 100.00 MB faịlụ enweghị usoro: 3.21s)
DR-BIG 72.63 MB/s (10
100.00 MB faịlụ enweghị usoro: 13.77s)
CZ-Ọkara 108.59 MB/s (1000 1.00 MB niile-efu faịlụ: 9.21s)
RZ-Ọkara 76.16 MB/s (1000
1.00 MB niile-efu faịlụ: 13.13s)
UZ-Ọkara 331.27 MB/s (1000 1.00 MB niile-efu faịlụ: 3.02s)
DZ-Ọkara 387.36 MB/s (1000
1.00 MB niile-efu faịlụ: 2.58s)
CR-MEDIUM 37.80 MB/s (1000 1.00 MB faịlụ enweghị usoro: 26.45s)
RR-MEDIUM 68.90 MB/s (1000
1.00 MB faịlụ enweghị usoro: 14.51s)
UR-MEDIUM 347.24 MB/s (1000 1.00 MB faịlụ enweghị usoro: 2.88s)
DR-MEDIUM 48.80 MB/s (1000
1.00 MB faịlụ enweghị usoro: 20.49s)
CZ-obere 11.72 MB/s (10000 10.00 kB niile-efu faịlụ: 8.53s)
RZ-obere 32.57 MB/s (10000
10.00 kB niile-efu faịlụ: 3.07s)
UZ-obere 19.37 MB/s (10000 10.00 kB niile-efu faịlụ: 5.16s)
DZ-obere 33.71 MB/s (10000
10.00 kB niile-efu faịlụ: 2.97s)
CR-SMALL 6.85 MB/s (10000 10.00kB faịlụ enweghị usoro: 14.60s)
RR-SMALL 31.27 MB/s (10000
10.00kB faịlụ enweghị usoro: 3.20s)
UR-SMALL 12.28 MB/s (10000 10.00kB faịlụ enweghị usoro: 8.14s)
DR-SMALL 18.78 MB/s (10000
10.00kB faịlụ enweghị usoro: 5.32s)

Mgbe a na-anwale ule, a ga-eji mkpakọ heuristics chọpụta ụdị faịlụ (akpakọ mkpakọ), nsonaazụ ga-abụ dị ka ndị a:

Nke mbụ, ka anyị lelee ka o si arụ ọrụ na-enweghị ezoro ezo:

Ndabere akụkụ 4: Nyochaa na ịnwale zbackup, restic, borgbackup

Oge ọrụ:

Mwepụta 1
Mwepụta 2
Mwepụta 3

4 m6
4 m10
4 m5

56s
58s
54s

1 m26
1 m34
1 m30

Ọ bụrụ na ị mee ka ikike nchekwa (ụkpụrụ ezitere), nsonaazụ ga-adị nso:

Ndabere akụkụ 4: Nyochaa na ịnwale zbackup, restic, borgbackup

Oge ọrụ:

Mwepụta 1
Mwepụta 2
Mwepụta 3

4 m11
4 m20
4 m12

1 m0
1 m3
1 m2

1 m30
1 m34
1 m31

Mgbe agbanyere aes izo ya ezo, nsonaazụ ya adaghị nke ukwuu:

Ndabere akụkụ 4: Nyochaa na ịnwale zbackup, restic, borgbackup

Mwepụta 1
Mwepụta 2
Mwepụta 3

4 m55
5 m2
4 m58

1 m0
1 m2
1 m0

1 m49
1 m50
1 m50

Ma ọ bụrụ na ị gbanwee aes ka blake, ọnọdụ ahụ ga-akawanye mma kpamkpam:

Ndabere akụkụ 4: Nyochaa na ịnwale zbackup, restic, borgbackup

Oge ọrụ:

Mwepụta 1
Mwepụta 2
Mwepụta 3

4 m33
4 m43
4 m40

59s
1 m0
1 m0

1 m38
1 m43
1 m40

Dị ka ọ dị n'ihe banyere zbackup, nha ebe nchekwa ahụ bụ 13GB na ọbụna ntakịrị ntakịrị, nke a na-atụ anya ya. Enwere m obi ụtọ na oge ịgba ọsọ ahụ, ọ dị ka ihe ngwọta dabere na librsync, na-enye ike sara mbara karị. Enwere m obi ụtọ na ikike ịtọ ntọala dị iche iche site na mgbanwe gburugburu ebe obibi, nke na-enye nnukwu uru mgbe ị na-eji borgbackup na ọnọdụ akpaka. Enwere m obi ụtọ na ibu ahụ n'oge nkwado ndabere: na-ekpe ikpe site na ibu processor, borgbackup na-arụ ọrụ na 1 eri.

Ọnweghị ọghọm ọ bụla mgbe ị na-eji ya.

ule restic

N'agbanyeghị eziokwu na restic bụ a pụtara ọhụrụ ngwọta (mbụ 2 aga ime mara azụ na 2013 na ndị okenye), o nwere ezi àgwà. Edere ya na Go.

Mgbe atụnyere zbackup, ọ na-enyekwa:

  • Na-enyocha iguzosi ike n'ezi ihe nke ebe nchekwa (gụnyere ịlele na akụkụ).
  • Nnukwu ndepụta nke usoro nkwado na ndị na-enye maka ịchekwa ndabere, yana nkwado maka rclone - rsync maka ngwọta igwe ojii.
  • Na-atụnyere nkwado ndabere abụọ na ibe ya.
  • Ịkwanye ebe nchekwa site na fuse.

Na mkpokọta, ndepụta atụmatụ dị nso na borgbackup, n'ebe ụfọdụ karịa, na ndị ọzọ obere. Otu n'ime njirimara ndị a bụ na ọ nweghị ụzọ isi gbanyụọ ezoro ezo, ya mere a ga-ezobe ezoro ezo mgbe niile. Ka anyị hụ n'omume ihe enwere ike ịpụpụ na ngwa ngwa a:

Nsonaazụ bụ dị ka ndị a:

Ndabere akụkụ 4: Nyochaa na ịnwale zbackup, restic, borgbackup

Oge ọrụ:

Mwepụta 1
Mwepụta 2
Mwepụta 3

5 m25
5 m50
5 m38

35s
38s
36s

1 m54
2 m2
1 m58

Nsonaazụ arụmọrụ ahụ dịkwa ka ihe ngwọta dabere na rsync yana, n'ozuzu, dị nso na borgbackup, mana ibu CPU dị elu (ọtụtụ eri na-agba ọsọ) na sawtooth.

O yikarịrị, mmemme ahụ nwere oke site na arụmọrụ nke subsystem diski na sava nchekwa data, dịka ọ dịlarị na rsync. Ogo nchekwa ahụ bụ 13GB, dị ka zbackup ma ọ bụ borgbackup, enweghị ọghọm doro anya mgbe ị na-eji ngwọta a.

Результаты

N'ezie, ndị niile na-eme ntuli aka nwetara nsonaazụ yiri nke ahụ, mana na ọnụ ahịa dị iche iche. Borgbackup rụrụ nke kachasị mma, restic dị ntakịrị nwayọ, zbackup nwere ike ọ gaghị adị mma ịmalite iji,
ma ọ bụrụ na ejirila ya, gbalịa gbanwee ya ka ọ bụrụ borgbackup ma ọ bụ restic.

Nchoputa

Ihe ngwọta kachasị mma yiri ka ọ bụ ihe nkwụsịtụ, n'ihi na ... Ọ bụ ya bụ onye nwere ikike kacha mma maka ịrụ ọrụ ọsọ, mana ka anyị ghara ịgba ọsọ na nkwubi okwu izugbe ugbu a.

Borgbackup adịchaghị njọ, mana enwere ike dochie zbackup nke ọma. N'ezie, a ka nwere ike iji zbackup iji hụ na iwu 3-2-1 na-arụ ọrụ. Dịka ọmụmaatụ, na mgbakwunye na (lib) akụrụngwa ndabere dabere na rsync.

Ọkwa

Ndabere, akụkụ 1: Gịnị kpatara achọrọ nkwado ndabere na mpaghara, nyocha nke ụzọ, teknụzụ
Ndabere akụkụ 2: Nyochaa na ịnwale ngwaọrụ ndabere dabere na rsync
Ndabere akụkụ 3: Nyochaa na Nnwale nke abụọ, oyiri
Ndabere akụkụ 4: Nyochaa na ịnwale zbackup, restic, borgbackup
Ndabere akụkụ 5: Nnwale bacula na veeam ndabere maka Linux
Ndabere akụkụ 6: atụnyere ngwaọrụ ndabere
Ndabere akụkụ 7: Mkpebi

Biputere ya bụ: Pavel Demkovich

isi: www.habr.com

Tinye a comment