Bahin sa backup 3: Pagrepaso ug Pagsulay sa pagkadoble, pagdoble

Bahin sa backup 3: Pagrepaso ug Pagsulay sa pagkadoble, pagdoble

Kini nga nota naghisgot sa backup nga mga himan nga naghimo sa mga backup pinaagi sa paghimo og mga archive sa usa ka backup server.

Lakip sa mga nakab-ot sa mga kinahanglanon mao ang duplicity (nga adunay nindot nga interface sa porma sa deja dup) ug duplicati.

Laing talagsaon kaayo nga backup nga himan mao ang dar, apan tungod kay kini adunay usa ka halapad kaayo nga lista sa mga kapilian - ang pamaagi sa pagsulay naglangkob sa halos 10% sa kung unsa ang mahimo niini - wala namo kini gisulayan isip bahin sa kasamtangan nga siklo.

Gilauman nga mga resulta

Tungod kay ang duha ka kandidato naghimo og mga archive sa usa ka paagi o sa lain, ang regular nga alkitran mahimong gamiton isip giya.

Dugang pa, atong susihon kung unsa ka maayo ang pagtipig sa datos sa storage server nga na-optimize pinaagi sa paghimo og mga backup nga kopya nga adunay sulud lamang nga kalainan tali sa usa ka tibuuk nga kopya ug sa karon nga kahimtang sa mga file, o tali sa kaniadto ug karon nga mga archive (incremental, decremental, ug uban pa) .

Paggawi sa paghimo og mga backup:

  1. Usa ka medyo gamay nga gidaghanon sa mga file sa backup nga storage server (itandi sa gidaghanon sa backup nga mga kopya o ang gidak-on sa data sa GB), apan ang ilang gidak-on dako kaayo (napulo ngadto sa gatusan ka megabytes).
  2. Ang gidak-on sa repository maglakip lamang sa mga pagbag-o - walay mga duplicate nga tipigan, mao nga ang gidak-on sa repository mas gamay kay sa rsync-based software.
  3. Pagpaabot sa bug-at nga load sa CPU kung mogamit ug compression ug/o encryption, ug lagmit taas kaayo nga network ug disk load kung ang proseso sa pag-archive ug/o encryption nagdagan sa backup nga storage server.

Atong padaganon ang mosunod nga sugo isip reference value:

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

Ang mga resulta sa pagpatuman mao ang mosunod:

Bahin sa backup 3: Pagrepaso ug Pagsulay sa pagkadoble, pagdoble

Ang oras sa pagpatuman 3m12s. Makita nga ang katulin limitado sa disk subsystem sa backup storage server, sama sa pananglitan sa rsync. Mas paspas lang gamay, tungod kay... Ang pagrekord moadto sa usa ka file.

Usab, aron sa pagtimbang-timbang sa compression, ipadagan nato ang parehas nga kapilian, apan i-enable ang compression sa backup nga bahin sa server:

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

Ang mga resulta mao ang:

Bahin sa backup 3: Pagrepaso ug Pagsulay sa pagkadoble, pagdoble

Panahon sa pagpatuman 10m11s. Lagmit nga ang bottleneck mao ang single-flow compressor sa nakadawat nga tumoy.

Ang sama nga sugo, apan uban sa compression gibalhin ngadto sa server uban sa orihinal nga data sa pagsulay sa pangagpas nga ang bottleneck mao ang usa ka single-threaded compressor.

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

Kini nahimong ingon niini:

Bahin sa backup 3: Pagrepaso ug Pagsulay sa pagkadoble, pagdoble

Ang oras sa pagpatay kay 9m37s. Ang load sa usa ka core pinaagi sa compressor tin-aw nga makita, tungod kay Ang katulin sa pagbalhin sa network ug ang load sa source disk subsystem parehas.

Sa pagtimbang-timbang sa encryption, mahimo nimong gamiton ang openssl o gpg pinaagi sa pagkonektar og dugang nga sugo openssl o gpg sa tubo. Alang sa pakisayran adunay usa ka mando nga sama niini:

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

Ang mga resulta migawas sama niini:

Bahin sa backup 3: Pagrepaso ug Pagsulay sa pagkadoble, pagdoble

Ang oras sa pagpatuman nahimo nga 10m30s, tungod kay 2 nga mga proseso ang nagdagan sa pagdawat nga bahin - ang bottleneck usa usab ka single-threaded compressor, dugang nga gamay nga encryption overhead.

UPS: Sa hangyo sa bliznezz gidugangan nako ang mga pagsulay sa pigz. Kung gamiton ra nimo ang compressor, kinahanglan kini 6m30s, kung magdugang ka usab encryption, kini mga 7m. Ang paglusot sa ubos nga graph usa ka wala ma-flushed nga disk cache:

Bahin sa backup 3: Pagrepaso ug Pagsulay sa pagkadoble, pagdoble

Duplicate nga pagsulay

Ang duplicity usa ka python software alang sa backup pinaagi sa paghimo sa mga naka-encrypt nga archive sa tar format.

Alang sa incremental nga mga archive, gigamit ang librsync, aron mapaabut nimo ang pamatasan nga gihulagway sa miaging post sa serye.

Ang mga pag-backup mahimong ma-encrypt ug mapirmahan gamit ang gnupg, nga importante sa paggamit sa lain-laing mga providers alang sa pagtipig sa mga backup (s3, backblaze, gdrive, ug uban pa)

Atong tan-awon kung unsa ang mga resulta:

Kini ang mga resulta nga among nakuha kung nagdagan nga wala’y pag-encrypt

maglalaglag

Bahin sa backup 3: Pagrepaso ug Pagsulay sa pagkadoble, pagdoble

Panahon sa pagdagan sa matag pagsulay nga pagdagan:

Ilusad 1
Ilusad 2
Ilusad 3

16m33s
17m20s
16m30s

8m29s
9m3s
8m45s

5m21s
6m04s
5m53s

Ug ania ang mga resulta kung ang gnupg encryption gipagana, nga adunay usa ka yawe nga gidak-on nga 2048 bits:

Bahin sa backup 3: Pagrepaso ug Pagsulay sa pagkadoble, pagdoble

Panahon sa pag-opera sa parehas nga datos, nga adunay pag-encrypt:

Ilusad 1
Ilusad 2
Ilusad 3

17m22s
17m32s
17m28s

8m52s
9m13s
9m3s

5m48s
5m40s
5m30s

Gipakita ang gidak-on sa block - 512 megabytes, nga tin-aw nga makita sa mga graph; Ang load sa processor sa pagkatinuod nagpabilin sa 50%, nga nagpasabot nga ang programa naggamit sa dili labaw sa usa ka processor core.

Ang prinsipyo sa operasyon sa programa klaro usab nga makita: gikuha nila ang usa ka piraso sa datos, gi-compress kini, ug gipadala kini sa usa ka backup nga server sa pagtipig, nga mahimo’g hinay.
Ang laing bahin mao ang matag-an nga oras sa pagpadagan sa programa, nga nagdepende lamang sa gidak-on sa giusab nga datos.

Ang pag-enable sa encryption wala kaayo makadugang sa oras sa pagpadagan sa programa, apan kini nagdugang sa processor load sa mga 10%, nga mahimong usa ka nindot nga bonus.

Ikasubo, kini nga programa wala makahimo sa husto nga pag-ila sa sitwasyon sa pag-usab sa ngalan sa direktoryo, ug ang resulta nga gidak-on sa repository nahimo nga katumbas sa gidak-on sa mga pagbag-o (ie, ang tanan nga 18GB), apan ang abilidad sa paggamit sa usa ka dili kasaligan nga server alang sa pag-backup tin-aw. naglangkob niini nga kinaiya.

Duplicate nga pagsulay

Kini nga software gisulat sa C# ug nagdagan gamit ang usa ka set sa mga librarya gikan sa Mono. Adunay usa ka GUI ingon man usa ka bersyon sa CLI.

Ang gibanabana nga lista sa mga nag-unang bahin parehas sa pagkadoble, lakip ang lainlaing mga backup nga tighatag sa pagtipig, bisan pa, dili sama sa pagkadoble, kadaghanan sa mga bahin magamit nga wala mga himan sa ikatulo nga partido. Kung kini usa ka plus o usa ka minus nagdepende sa piho nga kaso, apan alang sa mga nagsugod, lagmit nga mas dali nga adunay usa ka lista sa tanan nga mga bahin sa ilang atubangan sa usa ka higayon, kaysa kinahanglan nga mag-install og dugang nga mga pakete alang sa python, sama sa ang kaso nga adunay doble.

Laing gamay nga nuance - ang programa aktibo nga nagsulat sa usa ka lokal nga sqlite database alang sa user nga nagsugod sa backup, mao nga kinahanglan nimo nga dugang nga masiguro nga ang gikinahanglan nga database husto nga gipiho sa matag higayon nga ang proseso magsugod gamit ang cli. Kung nagtrabaho pinaagi sa GUI o WEBGUI, ang mga detalye itago gikan sa tiggamit.

Atong tan-awon kung unsang mga timailhan ang mahimo sa kini nga solusyon:

Kung imong gipalong ang encryption (ug ang WEBGUI wala magrekomendar sa pagbuhat niini), ang mga resulta mao ang mosunod:

Bahin sa backup 3: Pagrepaso ug Pagsulay sa pagkadoble, pagdoble

Mga oras sa pagtrabaho:

Ilusad 1
Ilusad 2
Ilusad 3

20m43s
20m13s
20m28s

5m21s
5m40s
5m35s

7m36s
7m54s
7m49s

Uban sa pag-encrypt nga gipalihok, gamit ang aes, kini ingon niini:

Bahin sa backup 3: Pagrepaso ug Pagsulay sa pagkadoble, pagdoble

Mga oras sa pagtrabaho:

Ilusad 1
Ilusad 2
Ilusad 3

29m9s
30m1s
29m54s

5m29s
6m2s
5m54s

8m44s
9m12s
9m1s

Ug kung mogamit ka sa gawas nga programa nga gnupg, ang mosunud nga mga resulta mogawas:

Bahin sa backup 3: Pagrepaso ug Pagsulay sa pagkadoble, pagdoble

Ilusad 1
Ilusad 2
Ilusad 3

26m6s
26m35s
26m17s

5m20s
5m48s
5m40s

8m12s
8m42s
8m15s

Sama sa imong nakita, ang programa mahimo’g molihok sa daghang mga hilo, apan wala kini maghimo niini nga usa ka labi ka produktibo nga solusyon, ug kung imong itandi ang trabaho sa pag-encrypt, naglansad kini usa ka eksternal nga programa.
nahimo nga mas paspas kay sa paggamit sa librarya gikan sa Mono set. Kini mahimong tungod sa kamatuoran nga ang gawas nga programa mao ang mas optimized.

Ang laing nindot nga butang mao ang kamatuoran nga ang gidak-on sa repository nagkinahanglan gayud sama sa aktuwal nga nabag-o nga datos, i.e. duplicati nakamatikod sa usa ka direktoryo rename ug pagdumala niini nga sitwasyon sa husto nga paagi. Kini makita sa diha nga nagdagan sa ikaduhang pagsulay.

Sa kinatibuk-an, medyo positibo nga mga impresyon sa programa, lakip ang medyo mahigalaon sa mga bag-ohan.

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

Ang duha nga mga kandidato nagtrabaho nga hinay, apan sa kinatibuk-an, kung itandi sa regular nga tar, adunay pag-uswag, labing menos adunay duplicati. Ang bili sa maong pag-uswag klaro usab - usa ka mamatikdan nga palas-anon
processor. Sa kinatibuk-an, walay espesyal nga mga pagtipas sa pagtagna sa mga resulta.

kaplag

Kung dili nimo kinahanglan nga magdali bisan asa, ug adunay usa ka ekstra nga processor, ang bisan unsang mga solusyon nga gikonsiderar nga mahimo, sa bisan unsang kaso, daghang trabaho ang nahimo nga dili na kinahanglan balikon pinaagi sa pagsulat sa mga script sa wrapper sa ibabaw sa tar. . Ang presensya sa encryption usa ka kinahanglanon kaayo nga kabtangan kung ang server alang sa pagtipig sa mga backup nga kopya dili hingpit nga kasaligan.

Kung itandi sa mga solusyon nga gibase rsync - performance mahimong sa pipila ka mga higayon nga mas grabe, bisan pa sa kamatuoran nga sa iyang lunsay nga porma tar nagtrabaho 20-30% mas paspas kay sa rsync.
Adunay mga savings sa gidak-on sa repository, apan adunay duplicati lamang.

Pagpahibalo

Pag-backup, bahin 1: Ngano nga gikinahanglan ang pag-backup, usa ka kinatibuk-ang pagtan-aw sa mga pamaagi, mga teknolohiya
Bahin sa Pag-backup 2: Pagrepaso ug pagsulay sa mga gamit sa backup nga nakabase sa rsync
Bahin sa Pag-backup 3: Pagrepaso ug pagsulay sa pagkadoble, pagdoble, pag-deja dup
Bahin sa Pag-backup 4: Pagrepaso ug pagsulay sa zbackup, restic, borgbackup
Bahin sa Pag-backup 5: Pagsulay sa bacula ug pag-backup sa veeam alang sa linux
Bahin sa Pag-backup 6: Pagkumpara sa Mga Himan sa Pag-backup
Pag-backup Bahin 7: Mga Konklusyon

Gi-post ni: Pavel Demkovich

Source: www.habr.com

Idugang sa usa ka comment