Nòt sa a diskite sou zouti backup ki fè sovgad lè yo kreye achiv sou yon sèvè backup.
Pami moun ki satisfè kondisyon yo se duplicity (ki gen yon koòdone bèl nan fòm lan nan deja dup) ak duplicati.
Yon lòt zouti backup trè remakab se dar, men depi li gen yon lis opsyon trè vaste - metodoloji tès la kouvri apèn 10% nan sa li kapab - nou pa teste li kòm yon pati nan sik aktyèl la.
Rezilta espere
Depi tou de kandida yo kreye achiv nan yon fason oswa yon lòt, goudwon regilye yo ka itilize kòm yon gid.
Anplis de sa, nou pral evalye kòman depo done sou sèvè depo a optimize lè nou kreye kopi backup ki gen sèlman diferans ki genyen ant yon kopi konplè ak eta aktyèl la nan dosye yo, oswa ant achiv yo anvan ak aktyèl (enkresyonèl, dekreman, elatriye) .
Konpòtman lè w ap kreye sovgad:
- Yon relativman ti kantite dosye sou sèvè depo backup la (konparab ak kantite kopi backup oswa gwosè a nan done nan GB), men gwosè yo se byen gwo (dè dizèn a dè santèn de megabyte).
- Gwosè depo a pral sèlman gen ladan chanjman - pa gen okenn kopi yo pral estoke, kidonk gwosè depo a pral pi piti pase ak lojisyèl ki baze sou rsync.
- Atann chay CPU lou lè w ap itilize konpresyon ak/oswa chifreman, ak chans byen wo rezo ak chaj disk si pwosesis la achiv ak/oswa chifreman ap kouri sou yon sèvè depo backup.
Ann kouri kòmandman sa a kòm yon valè referans:
cd /src/dir; tar -cf - * | ssh backup_server "cat > /backup/dir/archive.tar"
Rezilta ekzekisyon yo te jan sa a:
Tan ekzekisyon 3m12s. Li ka wè ke vitès la limite pa subsistèm ki gen kapasite nan sèvè a depo backup, tankou nan egzanp lan ak
Epitou, pou evalye konpresyon, ann kouri menm opsyon an, men pèmèt konpresyon sou bò sèvè backup la:
cd /src/dir; tar -cf - * | ssh backup_server "gzip > /backup/dir/archive.tgz"
Rezilta yo se:
Tan ekzekisyon 10m11s. Gen plis chans kou boutèy la se COMPRESSOR a sèl-koule sou fen k ap resevwa a.
Kòmandman an menm, men ak konpresyon transfere nan sèvè a ak done orijinal yo teste ipotèz la ke kou boutèy la se yon COMPRESSOR sèl-threaded.
cd /src/dir; tar -czf - * | ssh backup_server "cat > /backup/dir/archive.tgz"
Li te vin tankou sa a:
Tan ekzekisyon an te 9m37s. Chaj la sou yon nwayo pa COMPRESSOR a klèman vizib, paske Vitès transfè rezo a ak chaj la sou sous-sistèm disk sous yo sanble.
Pou evalye chifreman, ou ka itilize openssl oswa gpg lè w konekte yon lòt lòd openssl
oswa gpg
nan tiyo. Pou referans pral gen yon kòmandman tankou sa a:
cd /src/dir; tar -cf - * | ssh backup_server "gzip | openssl enc -e -aes256 -pass pass:somepassword -out /backup/dir/archive.tgz.enc"
Rezilta yo te soti konsa:
Tan nan ekzekisyon te tounen soti nan 10m30s, depi 2 pwosesis yo te kouri sou bò k ap resevwa a - kou boutèy la se ankò yon COMPRESSOR sèl-threaded, plis anlè chifreman ti.
UPS: Sou demann bliznezz mwen ajoute tès ak pigz. Si ou itilize sèlman COMPRESSOR a, li ta pran 6m30s, si ou ajoute tou chifreman, li ta apeprè 7m. Plonje nan graf anba a se yon kachèt disk san koule:
Tès kopi
Duplicity se yon lojisyèl python pou backup pa kreye achiv chiffres nan fòma goudwon.
Pou achiv incrémentielle, librsync yo itilize, kidonk, ou ka atann konpòtman ki dekri nan
Sovgad yo ka chifre epi siyen lè l sèvi avèk gnupg, ki enpòtan lè w ap itilize diferan founisè pou estoke sovgad (s3, backblaze, gdrive, elatriye)
Ann wè ki rezilta yo ye:
Sa yo se rezilta yo nou te resevwa lè kouri san chifreman
beke
Tan kouri nan chak tès kouri:
Lanse 1
Lanse 2
Lanse 3
16m33s
17m20s
16m30s
8m29s
9m3s
8m45s
5m21s
6m04s
5m53s
Ak isit la yo se rezilta yo lè gnupg chifreman pèmèt, ak yon gwosè kle nan 2048 bit:
Tan opere sou menm done yo, ak chifreman:
Lanse 1
Lanse 2
Lanse 3
17m22s
17m32s
17m28s
8m52s
9m13s
9m3s
5m48s
5m40s
5m30s
Gwosè blòk la te endike - 512 megabytes, ki klèman vizib nan graf yo; Chaj la processeur aktyèlman rete nan 50%, ki vle di ke pwogram nan itilize pa plis pase yon nwayo processeur.
Prensip la nan operasyon pwogram nan se tou byen klè vizib: yo pran yon moso nan done, konprese li, epi voye li nan yon sèvè depo backup, ki ka byen dousman.
Yon lòt karakteristik se tan an previzib kouri nan pwogram nan, ki depann sèlman sou gwosè a nan done yo chanje.
Pèmèt chifreman pa t 'siyifikativman ogmante tan kouri pwogram nan, men li ogmante chaj la processeur pa apeprè 10%, ki ka byen yon bonis bèl.
Malerezman, pwogram sa a pa t 'kapab kòrèkteman detekte sitiyasyon an ak chanje non anyè a, ak gwosè repozitwa ki kapab lakòz yo te tounen egal a gwosè a nan chanjman yo (sa vle di, tout 18GB), men kapasite nan sèvi ak yon sèvè ki pa fè konfyans pou backup klèman. kouvri konpòtman sa a.
Tès kopi
Lojisyèl sa a ekri nan C # epi li kouri lè l sèvi avèk yon seri bibliyotèk soti nan Mono. Gen yon entèfas ak yon vèsyon CLI.
Lis apwoksimatif karakteristik prensipal yo sanble ak doubl, ki gen ladan plizyè founisè depo backup, sepandan, kontrèman ak doub, pifò karakteristik yo disponib san zouti twazyèm pati. Kit sa a se yon plis oswa yon mwens depann sou ka espesifik la, men pou débutan, li pi fasil pou gen yon lis tout karakteristik yo devan yo nan yon fwa, olye ke yo gen enstale pakè adisyonèl pou python, jan se. ka a ak doubl.
Yon lòt ti nuans - pwogram nan aktivman ekri yon baz done sqlite lokal sou non itilizatè a ki kòmanse backup la, kidonk ou bezwen anplis asire ke baz done ki nesesè yo byen espesifye chak fwa yo kòmanse pwosesis la lè l sèvi avèk cli la. Lè w ap travay atravè GUI oswa WEBGUI, detay yo pral kache pou itilizatè a.
Ann wè ki endikatè solisyon sa a ka pwodwi:
Si ou fèmen chifreman (ak WEBGUI pa rekòmande pou fè sa), rezilta yo se jan sa a:
Travay tan:
Lanse 1
Lanse 2
Lanse 3
20m43s
20m13s
20m28s
5m21s
5m40s
5m35s
7m36s
7m54s
7m49s
Avèk chifreman pèmèt, lè l sèvi avèk aes, li sanble sa a:
Travay tan:
Lanse 1
Lanse 2
Lanse 3
29m9s
30m1s
29m54s
5m29s
6m2s
5m54s
8m44s
9m12s
9m1s
Men, si ou itilize pwogram ekstèn gnupg, rezilta sa yo soti:
Lanse 1
Lanse 2
Lanse 3
26m6s
26m35s
26m17s
5m20s
5m48s
5m40s
8m12s
8m42s
8m15s
Kòm ou ka wè, pwogram nan ka travay nan plizyè fil, men sa a pa fè li yon solisyon pi pwodiktif, epi si ou konpare travay la chifreman, li lanse yon pwogram ekstèn.
yo te vin pi vit pase lè l sèvi avèk bibliyotèk la soti nan seri a Mono. Sa a ka akòz lefèt ke pwogram nan ekstèn se pi optimize.
Yon lòt bèl bagay se te lefèt ke gwosè a nan repozitwa a pran egzakteman otan ke done aktyèl la chanje, i.e. duplicati te detekte yon non anyè epi jere sitiyasyon sa a kòrèkteman. Sa a ka wè lè w ap kouri dezyèm tès la.
An jeneral, enpresyon san patipri pozitif nan pwogram nan, ki gen ladan yo te jistis zanmitay ak newbies.
Jwenn
Tou de kandida yo te travay olye dousman, men an jeneral, konpare ak goudwon regilye, gen pwogrè, omwen ak duplicati. Pri a nan pwogrè sa yo tou klè - yon fado aparan
processeur. An jeneral, pa gen okenn devyasyon espesyal nan predi rezilta yo.
Jwenn
Si ou pa bezwen prese nenpòt kote, epi tou gen yon processeur rezèv, nenpòt nan solisyon yo konsidere pral fè, nan nenpòt ka, yo te fè anpil travay ki pa ta dwe repete pa ekri scripts wrapper sou tèt goudwon. . Prezans nan chifreman se yon pwopriyete trè nesesè si sèvè a pou estoke kopi backup pa ka konplètman fè konfyans.
Konpare ak solisyon ki baze sou
Gen ekonomi sou gwosè a nan repozitwa a, men se sèlman ak duplicati.
Anons
Sovgad Pati 3: Revize ak tès duplicity, duplicati, deja dup
Sovgad Pati 4: Revize ak tès zbackup, restic, borgbackup
Sovgad Pati 5: Tès bacula ak veeam backup pou linux
Sovgad Pati 6: Konpare Zouti Sovgad
Sovgad Pati 7: Konklizyon
Afiche pa: Pavel Demkovich
Sous: www.habr.com