
Din in-nota tkompli
ċiklu tal-backup
- Backup Parti 2: Reviżjoni u ttestjar ta' għodod ta' backup bbażati fuq rsync
- Backup Parti 3: Reviżjoni u ttestjar ta' dupliċità, dupliċità, deja dup
- Backup Parti 4: Reviżjoni u ttestjar ta' zbackup, restic, borgbackup
- Backup Parti 5: Ittestjar ta 'bacula u veeam backup għal linux
- Backup Parti 6: Tqabbil tal-Għodod tal-Backup
- Backup Parti 7: Konklużjonijiet
Kif diġà ktibna fl-ewwel artiklu, hemm numru pjuttost kbir ta 'programmi ta' backup bbażati fuq rsync.
Minn dawk li huma l-aktar adattati għall-kundizzjonijiet tagħna, se nikkunsidra 3: rdiff-backup, rsnapshot u burp.
Test suite files
Is-settijiet tal-fajls tal-ittestjar se jkunu l-istess għall-kandidati kollha, inklużi l-karti futuri.
L-ewwel sett: 10 GB ta 'fajls tal-midja, u madwar 50 MB - il-kodiċi tas-sors tas-sit f'php, daqsijiet tal-fajl minn ftit kilobytes għall-kodiċi tas-sors, għal għexieren ta' megabytes għal fajls tal-midja. L-għan huwa li timita sit b'kontenut statiku.
It-tieni sett: miksub mill-ewwel wieħed meta tibdel l-isem ta 'sottodirettorju b'fajls tal-midja ta' 5 GB. L-għan huwa li tistudja l-imġieba tas-sistema tal-backup meta tibdel l-isem tad-direttorju.
It-tielet set: miksub mill-ewwel wieħed billi tneħħi 3GB ta 'fajls tal-midja u żżid 3GB ġodda ta' fajls tal-midja. L-għan huwa li tistudja l-imġieba tas-sistema ta 'backup waqt operazzjoni tipika ta' aġġornament tas-sit.
Jakkwistaw Riżultati
Kwalunkwe backup titwettaq mill-inqas 3 darbiet u huwa akkumpanjat minn fwawar il-caches tas-sistema tal-fajls bil-kmandi sync и echo 3 > /proc/sys/vm/drop_caches kemm fuq in-naħa tas-server tat-test kif ukoll is-server tal-ħażna tal-backup.
Fuq is-server li se jkun is-sors ta 'backups, huwa installat softwer ta' monitoraġġ - netdata, li se jintuża biex jevalwa t-tagħbija fuq is-server waqt l-ikkupjar, dan huwa meħtieġ biex tiġi vvalutata t-tagħbija fuq is-server bil-proċess ta 'backup.
Naħseb ukoll li s-server tal-ħażna tal-backup huwa aktar bil-mod f'termini ta 'proċessur mis-server prinċipali, iżda għandu diski aktar capacious b'veloċità tal-kitba każwali relattivament baxxa - l-aktar sitwazzjoni komuni meta tagħmel backup, iżda minħabba l-fatt li s-server tal-backup f' mod tajjeb m'għandux jagħmel kompiti oħra, ħlief għall-backup, jien mhux se jsegwu t-tagħbija tiegħu bl-użu ta 'netdata.
Ukoll, is-servers tiegħi nbidlu, li fuqhom ser niċċekkja diversi sistemi għall-backup.
Issa għandhom il-karatteristiċi li ġejjinProcessor
sysbench --threads=2 --time=30 --cpu-max-prime=20000 cpu run
sysbench 1.0.17 (using system LuaJIT 2.0.4)
Running the test with following options:
Number of threads: 2
Initializing random number generator from current time
Prime numbers limit: 20000
Initializing worker threads...
Threads started!
CPU speed:
events per second: 1081.62
General statistics:
total time: 30.0013s
total number of events: 32453
Latency (ms):
min: 1.48
avg: 1.85
max: 9.84
95th percentile: 2.07
sum: 59973.40
Threads fairness:
events (avg/stddev): 16226.5000/57.50
execution time (avg/stddev): 29.9867/0.00
Memorja ta' ħidma, qari...
sysbench --threads=4 --time=30 --memory-block-size=1K --memory-scope=global --memory-total-size=100G --memory-oper=read memory run
sysbench 1.0.17 (using system LuaJIT 2.0.4)
Running the test with following options:
Number of threads: 4
Initializing random number generator from current time
Running memory speed test with the following options:
block size: 1KiB
total size: 102400MiB
operation: read
scope: global
Initializing worker threads...
Threads started!
Total operations: 104857600 (5837637.63 per second)
102400.00 MiB transferred (5700.82 MiB/sec)
General statistics:
total time: 17.9540s
total number of events: 104857600
Latency (ms):
min: 0.00
avg: 0.00
max: 66.08
95th percentile: 0.00
sum: 18544.64
Threads fairness:
events (avg/stddev): 26214400.0000/0.00
execution time (avg/stddev): 4.6362/0.12
... u rrekordja
sysbench --threads=4 --time=30 --memory-block-size=1K --memory-scope=global --memory-total-size=100G --memory-oper=write memory run
sysbench 1.0.17 (using system LuaJIT 2.0.4)
Running the test with following options:
Number of threads: 4
Initializing random number generator from current time
Running memory speed test with the following options:
block size: 1KiB
total size: 102400MiB
operation: write
scope: global
Initializing worker threads...
Threads started!
Total operations: 91414596 (3046752.56 per second)
89272.07 MiB transferred (2975.34 MiB/sec)
General statistics:
total time: 30.0019s
total number of events: 91414596
Latency (ms):
min: 0.00
avg: 0.00
max: 1022.90
95th percentile: 0.00
sum: 66430.91
Threads fairness:
events (avg/stddev): 22853649.0000/945488.53
execution time (avg/stddev): 16.6077/1.76
Diska fuq is-server tas-sors tad-dejta
sysbench --threads=4 --file-test-mode=rndrw --time=60 --file-block-size=4K --file-total-size=1G fileio run
sysbench 1.0.17 (using system LuaJIT 2.0.4)
Running the test with following options:
Number of threads: 4
Initializing random number generator from current time
Extra file open flags: (none)
128 files, 8MiB each
1GiB total file size
Block size 4KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Initializing worker threads...
Threads started!
File operations:
reads/s: 4587.95
writes/s: 3058.66
fsyncs/s: 9795.73
Throughput:
read, MiB/s: 17.92
written, MiB/s: 11.95
General statistics:
total time: 60.0241s
total number of events: 1046492
Latency (ms):
min: 0.00
avg: 0.23
max: 14.45
95th percentile: 0.94
sum: 238629.34
Threads fairness:
events (avg/stddev): 261623.0000/1849.14
execution time (avg/stddev): 59.6573/0.00
Diska fuq is-server tal-ħażna tal-backup
sysbench --threads=4 --file-test-mode=rndrw --time=60 --file-block-size=4K --file-total-size=1G fileio run
sysbench 1.0.17 (using system LuaJIT 2.0.4)
Running the test with following options:
Number of threads: 4
Initializing random number generator from current time
Extra file open flags: (none)
128 files, 8MiB each
1GiB total file size
Block size 4KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Initializing worker threads...
Threads started!
File operations:
reads/s: 11.37
writes/s: 7.58
fsyncs/s: 29.99
Throughput:
read, MiB/s: 0.04
written, MiB/s: 0.03
General statistics:
total time: 73.8868s
total number of events: 3104
Latency (ms):
min: 0.00
avg: 78.57
max: 3840.90
95th percentile: 297.92
sum: 243886.02
Threads fairness:
events (avg/stddev): 776.0000/133.26
execution time (avg/stddev): 60.9715/1.59
Veloċità tan-netwerk bejn is-servers
iperf3 -c backup
Connecting to host backup, port 5201
[ 4] local x.x.x.x port 59402 connected to y.y.y.y port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 419 MBytes 3.52 Gbits/sec 810 182 KBytes
[ 4] 1.00-2.00 sec 393 MBytes 3.30 Gbits/sec 810 228 KBytes
[ 4] 2.00-3.00 sec 378 MBytes 3.17 Gbits/sec 810 197 KBytes
[ 4] 3.00-4.00 sec 380 MBytes 3.19 Gbits/sec 855 198 KBytes
[ 4] 4.00-5.00 sec 375 MBytes 3.15 Gbits/sec 810 182 KBytes
[ 4] 5.00-6.00 sec 379 MBytes 3.17 Gbits/sec 765 228 KBytes
[ 4] 6.00-7.00 sec 376 MBytes 3.15 Gbits/sec 810 180 KBytes
[ 4] 7.00-8.00 sec 379 MBytes 3.18 Gbits/sec 765 253 KBytes
[ 4] 8.00-9.00 sec 380 MBytes 3.19 Gbits/sec 810 239 KBytes
[ 4] 9.00-10.00 sec 411 MBytes 3.44 Gbits/sec 855 184 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 3.78 GBytes 3.25 Gbits/sec 8100 sender
[ 4] 0.00-10.00 sec 3.78 GBytes 3.25 Gbits/sec receiver
Metodoloġija tat-Test
- Is-sistema tal-fajls bl-ewwel suite tat-test hija ppreparata fuq is-server tat-test, u r-repożitorju huwa inizjalizzat fuq is-server tal-ħażna tal-backup, jekk meħtieġ.
Il-proċess tal-backup jibda u l-ħin tiegħu jitkejjel. - Il-fajls jiġu emigrati għat-tieni sett tat-test fuq is-server tat-test. Il-proċess tal-backup jibda u l-ħin tiegħu jitkejjel.
- Is-server tat-test qed jiġi migrat għat-tielet suite tat-test. Il-proċess tal-backup jibda u l-ħin tiegħu jitkejjel.
- It-tielet każ tat-test riċevut huwa aċċettat bħala l-ewwel ġdid; il-passi 1-3 huma ripetuti 2 darbiet oħra.
- Id-dejta tiddaħħal f'tabella pivot, il-graffs huma miżjuda minn netdata.
- Jiġi ġġenerat rapport għal metodu ta' backup partikolari.
Riżultati mistennija
Peress li t-3 kandidati kollha huma bbażati fuq l-istess teknoloġija (rsync), ir-riżultati huma mistennija li jkunu qrib ir-rsync regolari, inklużi l-benefiċċji kollha tagħha, jiġifieri:
- Il-fajls fir-repożitorju se jinżammu "kif inhuma".
- Id-daqs tar-repożitorju jikber biss inkluża d-differenza bejn il-backups.
- Se jkun hemm tagħbija relattivament kbira fuq in-netwerk waqt it-trasferiment tad-dejta, kif ukoll tagħbija żgħira fuq il-proċessur.
Test run ta 'rsync normali se jintuża bħala punt ta' referenza, ir-riżultati tiegħu
dawn huma
Il-konġestjoni kienet fis-server tal-ħażna tal-backup fil-forma ta 'diska bbażata fuq HDD, li tista' tidher b'mod pjuttost ċar fil-grafiċi f'forma ta 'serrieq.
Id-dejta ġiet ikkupjata f'4 minuti u 15-il sekonda.
Ittestjar rdiff-backup
L-ewwel kandidat huwa rdiff-backup, script python li jsostni direttorju għal ieħor. F'dan il-każ, il-backup attwali jinħażen "kif inhi", u l-backups magħmula qabel huma miżjuda b'mod inkrementali ma 'subdirectory speċjali, u għalhekk l-ispazju jiġi ffrankat.
Aħna se niċċekkja l-mod tipiku ta 'operazzjoni, i.e. il-bidu tal-proċess tal-backup jinbeda mill-klijent waħdu, u fuq in-naħa tas-server għall-backup, jiġi mniedi proċess li jirċievi data.
Ejja nagħtu ħarsa, x’inhu kapaċi fil-kundizzjonijiet tagħna.

Ħin ta' ġirja ta' kull prova:
L-ewwel tibda
It-tieni ġirja
It-tielet tnedija
L-ewwel sett
16m32s
16m26s
16m19s
It-tieni sett
2:5 p.m.
2:10 p.m.
2:8 p.m.
It-tielet set
2:9 p.m.
2:10 p.m.
2:10 p.m.
Rdiff-backup jirreaġixxi bi tbatija ħafna għal kwalunkwe bidla kbira fid-dejta, u wkoll ma jutilizzax bis-sħiħ in-netwerk.
rsnapshot ittestjar
It-tieni kandidat, rsnapshot, huwa skript perl li r-rekwiżit ewlieni tiegħu għal tħaddim effiċjenti huwa l-appoġġ għal hard links. Dan jiffranka spazju fuq id-diska. F'dan il-każ, fajls li ma nbidlux mill-backup preċedenti se jirreferu għall-fajl oriġinali bl-użu ta 'hard links.
Il-loġika tal-proċess ta 'backup hija wkoll maqluba: is-server "jimxi" b'mod attiv madwar il-klijenti tiegħu u jiġbor data.
Ir-riżultati tat-test
ltqajna dan li ġej
L-ewwel tibda
It-tieni ġirja
It-tielet tnedija
L-ewwel sett
4m22s
4m19s
4m16s
It-tieni sett
2m6s
2m10s
2m6s
It-tielet set
1m18s
1m10s
1m10s
Ħadem ħafna, malajr ħafna, ħafna aktar mgħaġġel minn rdiff-backup u qrib ħafna ta 'rsync pur.
Ittestjar tal-burp
Għażla oħra hija implimentazzjoni C fuq librsync - burp, għandha arkitettura klijent-server inkluża awtorizzazzjoni tal-klijent, kif ukoll interface tal-web (mhux inkluż fil-pakkett bażiku). Karatteristika oħra interessanti hija backup mhux ta 'rkupru għall-klijenti.
Ejja nagħtu ħarsa lejnprestazzjoni.

L-ewwel tibda
It-tieni ġirja
It-tielet tnedija
L-ewwel sett
11m21s
11m10s
10m56s
It-tieni sett
5m37s
5m40s
5m35s
It-tielet set
3m33s
3m24s
3m40s
Ħadem 2 darbiet aktar bil-mod minn rsnapshot, iżda wkoll malajr biżżejjed, u ċertament aktar mgħaġġel minn rdiff-backup. Il-graffs huma ftit sawtooth - il-prestazzjoni għal darb'oħra tistrieħ fuq is-subsistema tad-disk tas-server tal-ħażna tal-backup, għalkemm dan mhux daqshekk evidenti bħal ma 'rsnapshot.
Sejbiet
Id-daqs tar-repożitorji għall-kandidati kollha kien bejn wieħed u ieħor l-istess, jiġifieri l-ewwel tkabbir għal 10 GB, imbagħad tkabbir għal 15 GB, imbagħad tkabbir għal 18 GB, eċċ., Li huwa dovut għall-partikolarità ta 'rsync. Ta 'min jinnota wkoll li l-kandidati kollha huma b'ħajt wieħed (it-tagħbija tal-proċessur hija madwar 50% fuq magna dual-core). It-3 kandidati kollha pprovdew l-abbiltà li jirrestawraw l-aħħar backup "kif inhi", jiġifieri, kien possibbli li jiġu restawrati fajls mingħajr ma tuża xi programmi ta 'parti terza, inklużi dawk użati biex jinħolqu repożitorji. Dan huwa wkoll il-"wirt antenati" ta 'rsync.
Sejbiet
Iktar ma tkun kumplessa s-sistema tal-backup u aktar għażliet differenti għandha, iktar se taħdem bil-mod, iżda għal proġetti mhux impenjattivi ħafna, kwalunkwe wieħed minnhom, ħlief forsi rdiff-backup, se jagħmel.
Avviż
Din in-nota tkompli ċ-ċiklu dwar il-backup
Backup Parti 2: Reviżjoni u ttestjar ta' għodod ta' backup bbażati fuq rsync
Backup Parti 3: Reviżjoni u ttestjar ta' dupliċità, dupliċità, deja dup
Backup Parti 4: Reviżjoni u ttestjar ta' zbackup, restic, borgbackup
Backup Parti 5: Ittestjar ta 'bacula u veeam backup għal linux
Backup Parti 6: Tqabbil tal-Għodod tal-Backup
Backup Parti 7: Konklużjonijiet
Awtur tal-pubblikazzjoni: Pavel Demkovich
Sors: www.habr.com
