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:
- 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).
- 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.
- 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:
Ang oras sa pagpatuman 3m12s. Makita nga ang katulin limitado sa disk subsystem sa backup storage server, sama sa pananglitan sa
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:
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:
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:
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:
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
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
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:
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:
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:
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:
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
Adunay mga savings sa gidak-on sa repository, apan adunay duplicati lamang.
Pagpahibalo
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