Dublējuma 3. daļa: Dublitātes pārbaude un pārbaude, dublikāti

Dublējuma 3. daļa: Dublitātes pārbaude un pārbaude, dublikāti

Å ajā piezÄ«mē ir apskatÄ«ti dublÄ“Å”anas rÄ«ki, kas veic dublÄ“Å”anu, izveidojot arhÄ«vus rezerves serverÄ«.

Starp tiem, kas atbilst prasībām, ir duplicitāte (kam ir jauks interfeiss deja dup formā) un duplicati.

Vēl viens ļoti ievērojams dublÄ“Å”anas rÄ«ks ir dar, taču, tā kā tam ir ļoti plaÅ”s iespēju saraksts - testÄ“Å”anas metodika aptver gandrÄ«z 10% no tā, ko tas spēj, mēs to nepārbaudām kā daļu no paÅ”reizējā cikla.

Gaidāmie rezultāti

Tā kā abi kandidāti tādā vai citādā veidā veido arhīvus, parasto darvu var izmantot kā ceļvedi.

Turklāt mēs novērtēsim, cik labi ir optimizēta datu glabāŔana krātuves serverÄ«, izveidojot rezerves kopijas, kas satur tikai atŔķirÄ«bu starp pilnu kopiju un paÅ”reizējo failu stāvokli vai starp iepriekŔējo un paÅ”reizējo arhÄ«vu (inkrementāli, dekrementāli utt.). .

Rīcība, veidojot dublējumus:

  1. SalīdzinoŔi neliels failu skaits rezerves krātuves serverī (salīdzināms ar rezerves kopiju skaitu vai datu apjomu GB), taču to apjoms ir diezgan liels (desmitiem līdz simtiem megabaitu).
  2. Repozitorija lielums ietvers tikai izmaiņas - netiks saglabāti dublikāti, tāpēc repozitorija lielums būs mazāks nekā ar rsync balstītu programmatūru.
  3. Lietojot saspieÅ”anu un/vai Å”ifrÄ“Å”anu, sagaidāma liela CPU slodze un, iespējams, diezgan liela tÄ«kla un diska noslodze, ja arhivÄ“Å”anas un/vai Å”ifrÄ“Å”anas process darbojas rezerves krātuves serverÄ«.

PalaidÄ«sim Ŕādu komandu kā atsauces vērtÄ«bu:

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

Izpildes rezultāti bija Ŕādi:

Dublējuma 3. daļa: Dublitātes pārbaude un pārbaude, dublikāti

Izpildes laiks 3m12s. Var redzēt, ka ātrumu ierobežo rezerves krātuves servera diska apakÅ”sistēma, kā piemērā ar rsync. Tikai nedaudz ātrāk, jo... ieraksts tiek veikts vienā failā.

Turklāt, lai novērtētu saspieÅ”anu, izpildÄ«sim to paÅ”u opciju, bet iespējosim saspieÅ”anu rezerves servera pusē:

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

Rezultāti ir:

Dublējuma 3. daļa: Dublitātes pārbaude un pārbaude, dublikāti

Izpildes laiks 10m11s. Visticamāk, saŔaurinājums ir vienas plūsmas kompresors uztverŔanas galā.

Tā pati komanda, bet ar kompresiju, kas tiek pārsÅ«tÄ«ta uz serveri ar sākotnējiem datiem, lai pārbaudÄ«tu hipotēzi, ka saÅ”aurinājums ir viena vÄ«tnes kompresors.

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

Tas izrādījās Ŕādi:

Dublējuma 3. daļa: Dublitātes pārbaude un pārbaude, dublikāti

Izpildes laiks bija 9m37s. Kompresora slodze uz vienu serdi ir skaidri redzama, jo TÄ«kla pārsÅ«tÄ«Å”anas ātrums un avota diska apakÅ”sistēmas slodze ir lÄ«dzÄ«ga.

Lai novērtētu Å”ifrÄ“Å”anu, varat izmantot openssl vai gpg, pievienojot papildu komandu openssl vai gpg caurulē. Uzziņai bÅ«s Ŕāda komanda:

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

Rezultāti iznāca Ŕādi:

Dublējuma 3. daļa: Dublitātes pārbaude un pārbaude, dublikāti

Izpildes laiks izrādÄ«jās 10 m30 s, jo uztvērēja pusē darbojās 2 procesi - saÅ”aurinājums atkal ir viena vÄ«tnes kompresors, plus neliela Å”ifrÄ“Å”ana.

UPD: Pēc bliznezz pieprasÄ«juma pievienoju testus ar pigz. Ja izmantotu tikai kompresoru, tas aizņemtu 6m30s, ja pievienotu arÄ« Å”ifrÄ“Å”anu, bÅ«tu kādi 7m. ApakŔējā diagrammas kritums ir neizskalota diska keÅ”atmiņa:

Dublējuma 3. daļa: Dublitātes pārbaude un pārbaude, dublikāti

Dublēta pārbaude

Duplicity ir python programmatÅ«ra dublÄ“Å”anai, izveidojot Å”ifrētus arhÄ«vus darvas formātā.

Inkrementālajiem arhÄ«viem tiek izmantots librsync, tāpēc varat sagaidÄ«t darbÄ«bu, kas aprakstÄ«ta rakstā iepriekŔējais ieraksts sērijā.

Dublējumus var Å”ifrēt un parakstÄ«t, izmantojot gnupg, kas ir svarÄ«gi, ja dublējumu glabāŔanai izmantojat dažādus pakalpojumu sniedzējus (s3, backblaze, gdrive utt.)

Apskatīsim, kādi ir rezultāti:

Å ie ir rezultāti, ko saņēmām, darbojoties bez Å”ifrÄ“Å”anas

spoileris

Dublējuma 3. daļa: Dublitātes pārbaude un pārbaude, dublikāti

Katra testa brauciena ilgums:

Palaist 1
Palaist 2
Palaist 3

16m33
17m20
16m30

8m29
9m3
8m45

5m21
6m04
5m53

Un Å”eit ir rezultāti, kad ir iespējota gnupg Å”ifrÄ“Å”ana ar atslēgas izmēru 2048 biti:

Dublējuma 3. daļa: Dublitātes pārbaude un pārbaude, dublikāti

Darbības laiks ar tiem paŔiem datiem, ar ŔifrēŔanu:

Palaist 1
Palaist 2
Palaist 3

17m22
17m32
17m28

8m52
9m13
9m3

5m48
5m40
5m30

Tika norādīts bloka izmērs - 512 megabaiti, kas skaidri redzams grafikos; Procesora slodze faktiski palika 50%, kas nozīmē, ka programma izmanto ne vairāk kā vienu procesora kodolu.

Arī programmas darbības princips ir diezgan skaidri redzams: viņi paņēma datu gabalu, saspieda to un nosūtīja uz rezerves krātuves serveri, kas var būt diezgan lēns.
Vēl viena iezīme ir prognozējamais programmas darbības laiks, kas ir atkarīgs tikai no izmainīto datu lieluma.

Å ifrÄ“Å”anas iespējoÅ”ana bÅ«tiski nepalielināja programmas darbÄ«bas laiku, taču palielināja procesora slodzi par aptuveni 10%, kas var bÅ«t diezgan patÄ«kams bonuss.

Diemžēl Ŕī programma nespēja pareizi noteikt situāciju ar direktoriju pārdēvÄ“Å”anu, un iegÅ«tais repozitorija lielums izrādÄ«jās vienāds ar izmaiņu lielumu (t.i., visi 18 GB), taču iespēja dublÄ“Å”anai izmantot neuzticamu serveri skaidri redzama. aptver Å”o uzvedÄ«bu.

Dublēta pārbaude

Šī programmatūra ir rakstīta C# un darbojas, izmantojot bibliotēku kopu no Mono. Ir gan GUI, gan CLI versija.

Aptuvenais galveno funkciju saraksts ir lÄ«dzÄ«gs duplicitātei, iekļaujot dažādus rezerves krātuves nodroÅ”inātājus, tomēr atŔķirÄ«bā no duplicitātes lielākā daļa funkciju ir pieejamas bez treÅ”o puÅ”u rÄ«kiem. Tas, vai tas ir pluss vai mÄ«nuss, ir atkarÄ«gs no konkrētā gadÄ«juma, taču iesācējiem, visticamāk, ir vieglāk uzreiz izveidot visu funkciju sarakstu, nevis papildus instalēt python pakotnes, kā tas ir gadÄ«jumā ar divkosÄ«bu.

Vēl viena neliela nianse - programma aktÄ«vi raksta lokālo sqlite datu bāzi tā lietotāja vārdā, kurÅ” uzsāk dublÄ“Å”anu, tāpēc papildus ir jāpārliecinās, vai vajadzÄ«gā datu bāze ir pareizi norādÄ«ta katru reizi, kad process tiek uzsākts, izmantojot cli. Strādājot, izmantojot GUI vai WEBGUI, informācija lietotājam tiks paslēpta.

Apskatīsim, kādus rādītājus Ŕis risinājums var radīt:

Ja izslēdzat Å”ifrÄ“Å”anu (un WEBGUI neiesaka to darÄ«t), rezultāti ir Ŕādi:

Dublējuma 3. daļa: Dublitātes pārbaude un pārbaude, dublikāti

stundas:

Palaist 1
Palaist 2
Palaist 3

20m43
20m13
20m28

5m21
5m40
5m35

7m36
7m54
7m49

Ja ir iespējota Å”ifrÄ“Å”ana, izmantojot aes, tas izskatās Ŕādi:

Dublējuma 3. daļa: Dublitātes pārbaude un pārbaude, dublikāti

stundas:

Palaist 1
Palaist 2
Palaist 3

29m9
30m1
29m54

5m29
6m2
5m54

8m44
9m12
9m1

Un, ja izmantojat ārējo programmu gnupg, tiek parādÄ«ti Ŕādi rezultāti:

Dublējuma 3. daļa: Dublitātes pārbaude un pārbaude, dublikāti

Palaist 1
Palaist 2
Palaist 3

26m6
26m35
26m17

5m20
5m48
5m40

8m12
8m42
8m15

Kā redzat, programma var darboties vairākos pavedienos, taču tas nepadara to par produktÄ«vāku risinājumu, un, ja salÄ«dzina Å”ifrÄ“Å”anas darbu, tā palaiž ārēju programmu.
izrādījās ātrāk, nekā izmantojot bibliotēku no Mono komplekta. Tas var būt saistīts ar faktu, ka ārējā programma ir vairāk optimizēta.

Vēl patÄ«kami bija fakts, ka repozitorija lielums aizņem tieÅ”i tik daudz, cik faktiski mainÄ«tie dati, t.i. duplicati atklāja direktorija pārdēvÄ“Å”anu un pareizi apstrādāja Å”o situāciju. To var redzēt, izpildot otro testu.

Kopumā diezgan pozitīvi iespaidi par programmu, tostarp diezgan draudzīgums iesācējiem.

rezultātus

Abi kandidāti strādāja diezgan lēni, bet kopumā, salÄ«dzinot ar parasto darvu, progress vismaz ar dublikātiem ir. ArÄ« Ŕāda progresa cena ir skaidra ā€“ manāms slogs
procesors. Kopumā rezultātu prognozÄ“Å”anā nav Ä«paÅ”u noviržu.

Atzinumi

Ja nekur nav jāsteidzas, un ir arÄ« rezerves procesors, derēs jebkurÅ” no apsvērtajiem risinājumiem, katrā ziņā ir paveikts diezgan liels darbs, ko nevajadzētu atkārtot, rakstot iesaiņojuma skriptus virs darvas . Å ifrÄ“Å”anas klātbÅ«tne ir ļoti nepiecieÅ”ama Ä«paŔība, ja serverim rezerves kopiju glabāŔanai nevar pilnÄ«bā uzticēties.

Salīdzinājumā ar risinājumiem, kuru pamatā ir rsync - veiktspēja var būt vairākas reizes sliktāka, neskatoties uz to, ka tīrā veidā darva darbojās par 20-30% ātrāk nekā rsync.
Ir ietaupījumi uz repozitorija lieluma, bet tikai ar dublikātiem.

Paziņojums

DublÄ“Å”ana, 1. daļa: Kāpēc nepiecieÅ”ama dublÄ“Å”ana, metožu, tehnoloÄ£iju pārskats
DublÄ“Å”ana 2. daļa: Uz rsync balstÄ«tu dublÄ“Å”anas rÄ«ku pārskatÄ«Å”ana un testÄ“Å”ana
Dublējuma 3. daļa. PārskatÄ«Å”ana un dubliskuma pārbaude un pārbaude, dublikāti, deja dup
DublÄ“Å”ana 4. daļa: zbackup, restic, borgbackup pārskatÄ«Å”ana un testÄ“Å”ana
DublÄ“Å”ana 5. daļa: bacula un veeam dublējuma testÄ“Å”ana operētājsistēmai Linux
DublÄ“Å”ana 6. daļa: DublÄ“Å”anas rÄ«ku salÄ«dzināŔana
Rezerves kopija 7. daļa: Secinājumi

Ievietoja: Pāvels Demkovičs

Avots: www.habr.com

Pievieno komentāru