Резервна копија Дел 3: Преглед и тестирање на двојност, дупликати

Резервна копија Дел 3: Преглед и тестирање на двојност, дупликати

Оваа белешка дискутира за алатките за резервна копија кои вршат резервни копии со создавање архиви на резервен сервер.

Меѓу оние кои ги исполнуваат барањата се двојството (кој има убав интерфејс во форма на дежа дуп) и дупликати.

Друга многу извонредна алатка за резервна копија е dar, но бидејќи има многу обемна листа на опции - методологијата за тестирање покрива едвај 10% од она за што е способна - не ја тестираме како дел од тековниот циклус.

Очекувани резултати

Бидејќи и двајцата кандидати создаваат архиви на еден или друг начин, обичниот катран може да се користи како водич.

Дополнително, ќе процениме колку добро е оптимизирано складирањето податоци на серверот за складирање со создавање резервни копии кои ја содржат само разликата помеѓу целосната копија и моменталната состојба на датотеките, или помеѓу претходната и тековната архива (инкрементална, намалена, итн.) .

Однесување при креирање резервни копии:

  1. Релативно мал број на датотеки на серверот за складирање резервни копии (споредлив со бројот на резервни копии или големината на податоците во GB), но нивната големина е прилично голема (десетици до стотици мегабајти).
  2. Големината на складиштето ќе вклучува само промени - нема да се складираат дупликати, така што големината на складиштето ќе биде помала отколку со софтверот базиран на rsync.
  3. Очекувајте големо оптоварување на процесорот кога користите компресија и/или шифрирање, и веројатно доста големо оптоварување на мрежата и дискот ако процесот на архивирање и/или шифрирање се извршува на сервер за складирање резервна копија.

Ајде да ја извршиме следнава команда како референтна вредност:

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

Резултатите од извршувањето беа како што следува:

Резервна копија Дел 3: Преглед и тестирање на двојност, дупликати

Време на извршување 3m12s. Може да се види дека брзината е ограничена од потсистемот на дискот на серверот за складирање резервна копија, како во примерот со rsync. Само малку побрзо, бидејќи ... снимањето оди во една датотека.

Исто така, за да се оцени компресија, да ја извршиме истата опција, но да овозможиме компресија на страната на резервниот сервер:

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

Резултатите се:

Резервна копија Дел 3: Преглед и тестирање на двојност, дупликати

Време на извршување 10m11s. Најверојатно тесно грло е компресорот со еден проток на приемниот крај.

Истата команда, но со компресија пренесена на серверот со оригиналните податоци за тестирање на хипотезата дека тесното грло е компресор со една нишка.

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

Испадна вака:

Резервна копија Дел 3: Преглед и тестирање на двојност, дупликати

Времето на извршување беше 9m37s. Оптоварувањето на едното јадро од компресорот е јасно видливо, бидејќи Брзината на пренос на мрежата и оптоварувањето на потсистемот на изворниот диск се слични.

За да ја оцените шифрирањето, можете да користите 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 m30s, бидејќи 2 процеси работеа на страната на примачот - тесното грло е повторно компресор со една нишка, плус мала шифра за шифрирање.

UPD: На барање на bliznezz додавам тестови со пигз. Ако го користите само компресорот, ќе ви требаат 6m30s, ако додадете и шифрирање, тоа ќе биде околу 7m. Падот во долниот графикон е неисчистен кеш на дискот:

Резервна копија Дел 3: Преглед и тестирање на двојност, дупликати

Двојно тестирање

Duplicity е python софтвер за резервна копија преку создавање шифрирани архиви во формат tar.

За дополнителни архиви, се користи librsync, така што може да го очекувате однесувањето опишано во претходен пост во серијата.

Резервните копии може да се шифрираат и потпишуваат со помош на gnupg, што е важно кога користите различни провајдери за складирање резервни копии (s3, backblaze, gdrive, итн.)

Ајде да видиме кои се резултатите:

Ова се резултатите што ги добивме кога работиме без шифрирање

спојлер

Резервна копија Дел 3: Преглед и тестирање на двојност, дупликати

Времетраење на секое тестирање:

Стартување 1
Стартување 2
Стартување 3

16м33с
17м20с
16м30с

8м29с
9м3с
8м45с

5м21с
6м04с
5м53с

И еве ги резултатите кога е овозможено gnupg шифрирањето, со големина на клуч од 2048 бита:

Резервна копија Дел 3: Преглед и тестирање на двојност, дупликати

Работно време на истите податоци, со шифрирање:

Стартување 1
Стартување 2
Стартување 3

17м22с
17м32с
17м28с

8м52с
9м13с
9м3с

5м48с
5м40с
5м30с

Беше означена големината на блокот - 512 мегабајти, што е јасно видливо на графиконите; Оптоварувањето на процесорот всушност остана на 50%, што значи дека програмата користи не повеќе од едно процесорско јадро.

Принципот на работа на програмата е исто така сосема јасно видлив: тие зедоа дел од податоците, го компресираа и го испратија на резервен сервер за складирање, кој може да биде прилично бавен.
Друга карактеристика е предвидливото време на работа на програмата, кое зависи само од големината на променетите податоци.

Овозможувањето шифрирање не го зголеми значително времето на работа на програмата, но го зголеми оптоварувањето на процесорот за околу 10%, што може да биде доста убав бонус.

За жал, оваа програма не можеше правилно да ја открие ситуацијата со преименување на директориумот, а добиената големина на складиштето се покажа дека е еднаква на големината на промените (т.е. сите 18 GB), но јасно е можноста да се користи недоверлив сервер за резервна копија го опфаќа ова однесување.

Двојно тестирање

Овој софтвер е напишан во C# и работи со помош на збир на библиотеки од Mono. Постои GUI, како и верзија CLI.

Приближната листа на главните карактеристики е слична на двојството, вклучувајќи различни даватели на резервни копии, меѓутоа, за разлика од двојството, повеќето функции се достапни без алатки од трети страни. Дали ова е плус или минус зависи од конкретниот случај, но за почетниците, најверојатно е полесно да имаат список со сите функции одеднаш пред нив, наместо дополнително да инсталираат пакети за python, како што е случајот со дволичност.

Друга мала нијанса - програмата активно пишува локална база на податоци sqlite во име на корисникот кој ја започнува резервната копија, така што треба дополнително да се осигурате дека потребната база на податоци е правилно наведена секој пат кога процесот ќе започне со користење на клипот. Кога работите преку GUI или WEBGUI, деталите ќе бидат скриени од корисникот.

Ајде да видиме какви индикатори може да произведе ова решение:

Ако го исклучите шифрирањето (и WEBGUI не препорачува да го направите ова), резултатите се следни:

Резервна копија Дел 3: Преглед и тестирање на двојност, дупликати

Време:

Стартување 1
Стартување 2
Стартување 3

20м43с
20м13с
20м28с

5м21с
5м40с
5м35с

7м36с
7м54с
7м49с

Со овозможено шифрирање, користејќи aes, изгледа вака:

Резервна копија Дел 3: Преглед и тестирање на двојност, дупликати

Време:

Стартување 1
Стартување 2
Стартување 3

29м9с
30м1с
29м54с

5м29с
6м2с
5м54с

8м44с
9м12с
9м1с

И ако ја користите надворешната програма gnupg, ќе излезат следниве резултати:

Резервна копија Дел 3: Преглед и тестирање на двојност, дупликати

Стартување 1
Стартување 2
Стартување 3

26м6с
26м35с
26м17с

5м20с
5м48с
5м40с

8м12с
8м42с
8м15с

Како што можете да видите, програмата може да работи во неколку нишки, но тоа не ја прави попродуктивно решение и ако ја споредите работата за шифрирање, таа започнува надворешна програма
се покажа дека е побрз од користењето на библиотеката од сетот Моно. Ова може да се должи на фактот дека надворешната програма е пооптимизирана.

Друга убава работа беше фактот што големината на складиштето зема точно онолку колку што се вистинските изменети податоци, т.е. duplicati откри преименување на директориумот и правилно се справи со оваа ситуација. Ова може да се види при извршување на вториот тест.

Севкупно, прилично позитивни впечатоци од програмата, вклучително и прилично пријателски однос кон почетниците.

Наоди

И двајцата кандидати работеа прилично бавно, но генерално, во споредба со обичниот катран, има напредок, барем со дупликати. Цената на таквиот напредок е исто така јасна - забележлив товар
процесор. Во принцип, нема посебни отстапувања во предвидувањето на резултатите.

Наоди

Ако не треба никаде да брзате, а исто така имате резервен процесор, секое од разгледаните решенија ќе направи, во секој случај, направена е доста работа што не треба да се повторува со пишување скрипти за обвивка над катран. . Присуството на шифрирање е многу неопходна особина доколку на серверот за складирање резервни копии не може целосно да му се верува.

Во споредба со решенија базирани rsync - перформансите може да бидат неколку пати полоши, и покрај фактот што во својата чиста форма катранот работеше 20-30% побрзо од rsync.
Има заштеда на големината на складиштето, но само со дупликати.

Соопштение

Бекап, дел 1: Зошто е потребна резервна копија, преглед на методи, технологии
Бекап Дел 2: Преглед и тестирање на алатките за резервна копија базирани на rsync
Резервна копија Дел 3: Преглед и тестирање на двојноста, дупликати, деја дуп
Бекап Дел 4: Преглед и тестирање на zbackup, restic, borgbackup
Бекап Дел 5: Тестирање на бакула и бекап на veeam за Linux
Резервна копија Дел 6: Споредување на алатките за резервна копија
Бекап Дел 7: Заклучоци

Објавено од: Павел Демкович

Извор: www.habr.com

Додадете коментар