Камдык 3-бөлүк: кайталанмаларды карап чыгуу жана сыноо

Камдык 3-бөлүк: кайталанмаларды карап чыгуу жана сыноо

Бул эскертүү резервдик серверде архивдерди түзүү аркылуу камдык көчүрмөлөрдү аткарган резервдик көчүрүү куралдарын талкуулайт.

Талаптарга жооп бергендердин арасында эки эселенгендик (дежа дуп түрүндөгү жакшы интерфейси бар) жана дубликати бар.

Дагы бир укмуштуудай камдык көчүрмө куралы дар, бирок анын тандоолордун кеңири тизмеси бар болгондуктан - тестирлөө методологиясы анын жөндөмдүүлүгүнүн 10% гана камтыйт - биз аны учурдагы циклдин бир бөлүгү катары сынап жаткан жокпуз.

күтүлүүчү жыйынтыктар

Талапкерлердин экөө тең архивдерди тигил же бул жол менен түзгөндүктөн, кадимки чайыр жетекчилик катары колдонулушу мүмкүн.

Кошумчалай кетсек, биз сактагыч серверде маалыматтардын сакталышы канчалык деңгээлде оптималдашылганын баалайбыз, алар толук көчүрмө менен файлдардын учурдагы абалынын ортосундагы айырманы гана камтыган резервдик көчүрмөлөрдү түзүү, же мурунку жана учурдагы архивдердин ортосундагы (кошумча, азайтуучу ж.б.) .

Камдык көчүрмөлөрдү түзүүдөгү жүрүм-турум:

  1. Камдык сактоо серверинде файлдардын салыштырмалуу аз саны (резервдик көчүрмөлөрдүн санына же ГБдагы маалыматтардын көлөмүнө салыштырууга болот), бирок алардын көлөмү кыйла чоң (ондон жүздөгөн мегабайтка чейин).
  2. Репозиторийдин көлөмү өзгөртүүлөрдү гана камтыйт - эч кандай дубликаттар сакталбайт, андыктан репозиторийдин өлчөмү rsync негизиндеги программага караганда кичине болот.
  3. Кысууну жана/же шифрлөөнү колдонууда CPU оор жүгүн күтүңүз, ал эми архивдөө жана/же шифрлөө процесси резервдик сактоо серверинде иштеп жатса, тармактын жана дисктин кыйла жогору жүгүн күтүңүз.

Келгиле, шилтеме мааниси катары төмөнкү буйрукту иштетели:

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

Аткаруу натыйжалары төмөнкүдөй болду:

Камдык 3-бөлүк: кайталанмаларды карап чыгуу жана сыноо

Аткаруу убактысы 3м12с. Ылдамдык камдык сактоо серверинин дисктик подсистемасы менен чектелгенин көрүүгө болот, мисалы менен. rsync. Бир аз ылдамыраак, анткени... жазуу бир файлга барат.

Ошондой эле, кысууну баалоо үчүн, келгиле, ошол эле опцияны иштетели, бирок резервдик сервер тарабында кысуу иштетилсин:

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

натыйжалары болуп саналат:

Камдык 3-бөлүк: кайталанмаларды карап чыгуу жана сыноо

Аткаруу убактысы 10м11с. Кыязы, бөтөлкө кабылдагычтагы бир агымдуу компрессордо.

Ошол эле буйрук, бирок кысуу менен серверге оригиналдуу маалыматтар менен өткөрүлүп берилген гипотезаны текшерүү үчүн бир жиптүү компрессор.

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

Бул мындай болуп чыкты:

Камдык 3-бөлүк: кайталанмаларды карап чыгуу жана сыноо

Аткаруу убактысы 9м37с болду. Компрессор тарабынан бир өзөктөгү жүк ачык көрүнүп турат, анткени Тармакты өткөрүү ылдамдыгы жана баштапкы дисктин подсистемасындагы жүк окшош.

Шифрлөөнү баалоо үчүн кошумча буйрукту туташтыруу менен openssl же gpg колдоно аласыз openssl же gpg түтүктө. Маалымат үчүн мындай буйрук болот:

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

Натыйжалар мындайча чыкты:

Камдык 3-бөлүк: кайталанмаларды карап чыгуу жана сыноо

Аткаруу убактысы 10 м30 сек болуп чыкты, анткени кабыл алуучу тарапта 2 процесс иштеп жаткан - бөксөлүк дагы бир жиптүү компрессор, плюс кичинекей шифрлөө кошумчасы.

UPS: Bliznezz талабы боюнча мен пигз менен тесттерди кошуп жатам. Эгерде сиз компрессорду гана колдонсоңуз, анда 6м30с керектелет, эгер сиз дагы шифрлөө кошсоңуз, анда 7мге жакын убакытты түзөт. Төмөнкү графиктеги түшүү - бул тазаланбаган диск кэши:

Камдык 3-бөлүк: кайталанмаларды карап чыгуу жана сыноо

Дубликат сыноо

Duplicity - бул tar форматында шифрленген архивдерди түзүү аркылуу резервдик көчүрүү үчүн Python программасы.

Кошумча архивдер үчүн librsync колдонулат, андыктан сиз сүрөттөлгөн жүрүм-турумду күтө аласыз сериядагы мурунку пост.

Камдык көчүрмөлөрдү gnupg аркылуу шифрлөөгө жана кол коюуга болот, бул камдык көчүрмөлөрдү сактоо үчүн ар кандай провайдерлерди (s3, backblaze, gdrive ж.б.) колдонууда маанилүү.

Келгиле, жыйынтыгы кандай болгонун карап көрөлү:

Бул биз шифрлөөсүз иштегенде алган натыйжалар

спойлер

Камдык 3-бөлүк: кайталанмаларды карап чыгуу жана сыноо

Ар бир сыноонун иштөө убактысы:

1 ишке киргизүү
2 ишке киргизүү
3 ишке киргизүү

16m33s
17m20s
16m30s

8m29s
9m3s
8m45s

5m21s
6m04s
5m53s

Жана бул жерде gnupg шифрлөө иштетилгенде, 2048 бит ачкыч өлчөмү менен жыйынтыктар:

Камдык 3-бөлүк: кайталанмаларды карап чыгуу жана сыноо

Шифрлөө менен бир эле маалымат боюнча иштөө убактысы:

1 ишке киргизүү
2 ишке киргизүү
3 ишке киргизүү

17m22s
17m32s
17m28s

8m52s
9m13s
9m3s

5m48s
5m40s
5m30s

Блоктун көлөмү көрсөтүлгөн - 512 мегабайт, бул графиктерде даана көрүнүп турат; Процессордун жүгү чындыгында 50% бойдон калды, бул программа бирден ашык процессордун өзөгүн колдонот дегенди билдирет.

Программанын иштөө принциби да айкын көрүнүп турат: алар маалыматтардын бир бөлүгүн алып, аны кысып, камдык сактоо серверине жөнөтүштү, ал абдан жай болушу мүмкүн.
Дагы бир өзгөчөлүк - программанын болжолдуу иштөө убактысы, ал өзгөртүлгөн маалыматтардын көлөмүнө гана көз каранды.

Шифрлөөнү иштетүү программанын иштөө убактысын олуттуу көбөйткөн жок, бирок процессордун жүгүн болжол менен 10% га көбөйттү, бул абдан жакшы бонус болушу мүмкүн.

Тилекке каршы, бул программа каталогдун атын өзгөртүү менен кырдаалды туура аныктай алган жок, натыйжада репозиторийдин көлөмү өзгөртүүлөрдүн өлчөмүнө барабар болуп чыкты (б.а., бардыгы 18 ГБ), бирок резервдик көчүрмөнү сактоо үчүн ишенимсиз серверди колдонуу мүмкүнчүлүгү так. бул жүрүм-турумду камтыйт.

Дубликат сыноо

Бул программа C# тилинде жазылган жана Mono китепканаларынын топтомун колдонуу менен иштейт. GUI, ошондой эле CLI версиясы бар.

Негизги функциялардын болжолдуу тизмеси эки жүздүүлүккө окшош, анын ичинде ар кандай камдык сактоо провайдерлери, бирок экиликтен айырмаланып, көпчүлүк функциялар үчүнчү тараптын куралдарысыз жеткиликтүү. Бул плюс же минус болобу, конкреттүү учурдан көз каранды, бирок үйрөнчүктөр үчүн, python үчүн пакеттерди кошумча орнотуунун ордуна, алардын алдында бир эле учурда бардык функциялардын тизмесин алуу оңой. эки жүздүүлүк менен иш.

Дагы бир кичинекей нюанс - программа камдык көчүрмөнү баштаган колдонуучунун атынан локалдык sqlite маалымат базасын жигердүү жазат, андыктан cli аркылуу процесс башталган сайын керектүү маалымат базасы туура көрсөтүлгөнүн кошумча текшерип турушуңуз керек. GUI же WEBGUI аркылуу иштөөдө деталдар колдонуучудан жашырылат.

Бул чечим кандай көрсөткүчтөрдү бере аларын карап көрөлү:

Эгер сиз шифрлөөнү өчүрсөңүз (жана WEBGUI муну сунуштабайт), натыйжалар төмөнкүдөй болот:

Камдык 3-бөлүк: кайталанмаларды карап чыгуу жана сыноо

Иш убактысы:

1 ишке киргизүү
2 ишке киргизүү
3 ишке киргизүү

20m43s
20m13s
20m28s

5m21s
5m40s
5m35s

7m36s
7m54s
7m49s

Шифрлөө иштетилгенде, aes колдонуп, мындай көрүнөт:

Камдык 3-бөлүк: кайталанмаларды карап чыгуу жана сыноо

Иш убактысы:

1 ишке киргизүү
2 ишке киргизүү
3 ишке киргизүү

29m9s
30m1s
29m54s

5m29s
6m2s
5m54s

8m44s
9m12s
9m1s

Эгерде сиз gnupg тышкы программасын колдонсоңуз, анда төмөнкү натыйжалар чыгат:

Камдык 3-бөлүк: кайталанмаларды карап чыгуу жана сыноо

1 ишке киргизүү
2 ишке киргизүү
3 ишке киргизүү

26m6s
26m35s
26m17s

5m20s
5m48s
5m40s

8m12s
8m42s
8m15s

Көрүнүп тургандай, программа бир нече жипте иштей алат, бирок бул аны жемиштүү чечим кылбайт жана эгер сиз шифрлөө ишин салыштырсаңыз, ал тышкы программаны ишке киргизип жатат.
Mono топтомундагы китепкананы колдонууга караганда тезирээк болуп чыкты. Бул тышкы программа көбүрөөк оптималдаштырылган экенине байланыштуу болушу мүмкүн.

Дагы бир жакшы нерсе, репозиторийдин көлөмү чыныгы өзгөргөн маалыматтарга дал келген, б.а. duplicati каталогдун атын өзгөртүүнү аныктады жана бул кырдаалды туура чечти. Бул экинчи сыноону жүргүзүүдө көрүүгө болот.

Жалпысынан алганда, программанын жакшы таасирлери, анын ичинде жаңы келгендерге жакшы мамиле.

натыйжалары

Эки талапкер тең акырын иштешти, бирок жалпысынан, кадимки чайырга салыштырмалуу, жок дегенде дубликати менен жылыш бар. Мындай прогресстин баасы да түшүнүктүү - байкаларлык жүк
процессор. Жалпысынан жыйынтыктарды алдын ала айтууда өзгөчө четтөөлөр жок.

табылгалары

Эгер сиз эч жакка шашуунун кереги жок болсо, ошондой эле запастык процессор болсо, каралып жаткан чечимдердин кайсынысы болбосун аткарат, кандай болгон күндө да, чайырдын үстүнө орогуч скрипттерди жазуу менен кайталанбашы керек болгон бир топ иштер жасалды. . Эгерде резервдик көчүрмөлөрдү сактоо серверине толук ишенүү мүмкүн болбосо, шифрлөөнүн болушу абдан зарыл касиет болуп саналат.

негизделген чечимдер менен салыштырганда rsync - анын таза түрүндө чайыр rsync караганда 20-30% тез иштегенине карабастан, аткаруу бир нече эсе начар болушу мүмкүн.
Репозиторийдин көлөмү боюнча үнөмдөөлөр бар, бирок дубликати менен гана.

Кулактандыруу

Камдык көчүрмө, 1-бөлүк: Эмне үчүн резервдик көчүрүү керек, методдорго, технологияларга сереп салуу
Камдык 2-бөлүк: rsync негизиндеги камдык куралдарды карап чыгуу жана сыноо
Камдык 3-бөлүк: Карап чыгуу жана кайталоо, кайталоо, дежа дуп
Камдык 4-бөлүк: zbackup, restic, borgbackup карап чыгуу жана сыноо
Камдык 5-бөлүк: Linux үчүн bacula жана veeam камдык көчүрмөсүн сыноо
Камдык 6-бөлүк: Камдык куралдарды салыштыруу
Камдык 7-бөлүк: Корутундулар

Жарыялаган: Павел Демкович

Source: www.habr.com

Комментарий кошуу