Сақтық көшірме жасау 3-бөлім: Қайталануды, қайталануды тексеру және тексеру

Сақтық көшірме жасау 3-бөлім: Қайталануды, қайталануды тексеру және тексеру

Бұл жазба сақтық көшірме серверінде мұрағат жасау арқылы сақтық көшірмелерді орындайтын сақтық көшірме құралдарын талқылайды.

Талаптарға сәйкес келетіндердің арасында екі жақтылық (дежа дуп түріндегі жақсы интерфейсі бар) және дубликати бар.

Тағы бір өте керемет сақтық көшірме құралы - dar, бірақ оның опциялардың өте кең тізімі болғандықтан - тестілеу әдістемесі оның қабілеттілігінің 10% ғана қамтиды - біз оны ағымдағы циклдің бөлігі ретінде сынамаймыз.

Күтілетін нәтижелер

Екі үміткер де бір жолмен мұрағат жасайтындықтан, әдеттегі шайырды нұсқаулық ретінде пайдалануға болады.

Сонымен қатар, біз файлдардың толық көшірмелері мен ағымдағы күйі арасындағы немесе алдыңғы және ағымдағы мұрағаттар арасындағы (өсімдік, кемулік және т. .

Сақтық көшірмелерді жасау кезіндегі әрекет:

  1. Сақтық көшірме сақтау серверіндегі файлдардың салыстырмалы түрде аз саны (сақтық көшірмелердің санымен немесе ГБ-дегі деректер өлшемімен салыстыруға болады), бірақ олардың өлшемі айтарлықтай үлкен (оннан жүздеген мегабайтқа дейін).
  2. Репозитарий өлшемі тек өзгерістерді қамтиды - ешбір көшірме сақталмайды, сондықтан репозитарий өлшемі rsync негізіндегі бағдарламалық құралға қарағанда кішірек болады.
  3. Сығымдау және/немесе шифрлауды пайдаланған кезде процессордың ауыр жүктемесін және мұрағаттау және/немесе шифрлау процесі сақтық көшірме сақтау серверінде жұмыс істеп тұрса, желі мен дискіге айтарлықтай жоғары жүктемені күтіңіз.

Анықтамалық мән ретінде келесі пәрменді іске қосайық:

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 процесс орындалды - тығырықтан шығу қайтадан бір ағынды компрессор, сонымен қатар шағын шифрлау үстеме шығындары болып табылады.

UPD: Bliznezz сұранысы бойынша мен пигзмен сынақтарды қосып жатырмын. Егер сіз тек компрессорды пайдалансаңыз, ол 6м30с алады, егер сіз де шифрлауды қоссаңыз, шамамен 7м болады. Төменгі графиктегі шөгу - тазартылмаған диск кэші:

Сақтық көшірме жасау 3-бөлім: Қайталануды, қайталануды тексеру және тексеру

Қайталанатын тестілеу

Duplicity – tar форматында шифрланған мұрағаттар жасау арқылы сақтық көшірме жасауға арналған python бағдарламалық құралы.

Қосымша мұрағаттар үшін 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с

Мұнда кілт өлшемі 2048 бит болатын gnupg шифрлауы қосылған кездегі нәтижелер берілген:

Сақтық көшірме жасау 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 ГБ), бірақ сақтық көшірме жасау үшін сенімсіз серверді пайдалану мүмкіндігі анық. бұл мінез-құлықты қамтиды.

Қайталанатын тестілеу

Бұл бағдарламалық жасақтама C# тілінде жазылған және Mono кітапханасының жиынтығы арқылы жұмыс істейді. GUI және CLI нұсқасы бар.

Негізгі мүмкіндіктердің шамамен тізімі қайталанушылыққа ұқсас, оның ішінде әртүрлі сақтық көшірме сақтау провайдерлері, дегенмен қосарланудан айырмашылығы, көптеген мүмкіндіктер үшінші тарап құралдарысыз қол жетімді. Бұл плюс немесе минус болуы нақты жағдайға байланысты, бірақ жаңадан бастағандар үшін python үшін пакеттерді қосымша орнатудың орнына, олардың алдында барлық мүмкіндіктердің тізімін бірден алу оңайырақ болуы мүмкін. екіжақтылық бар іс.

Тағы бір кішігірім нюанс - бағдарлама сақтық көшірме жасауды бастайтын пайдаланушының атынан жергілікті sqlite дерекқорын белсенді түрде жазады, сондықтан cli арқылы процесс басталған сайын қажетті дерекқордың дұрыс көрсетілгеніне қосымша көз жеткізу керек. 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 каталог атын өзгертуді анықтады және бұл жағдайды дұрыс өңдеді. Мұны екінші сынақты орындау кезінде көруге болады.

Тұтастай алғанда, бағдарламадан оң әсер қалдырды, соның ішінде жаңадан келгендерге өте мейірімді.

нәтижелері

Екі үміткер де баяу жұмыс істеді, бірақ жалпы алғанда, қарапайым гудронмен салыстырғанда, кем дегенде дубликаттармен салыстырғанда, прогресс бар. Мұндай ілгерілеудің бағасы да түсінікті – айтарлықтай ауыртпалық
процессор. Жалпы алғанда, нәтижелерді болжауда ерекше ауытқулар жоқ.

қорытындылар

Егер сізге ешқайда асықпау керек болса, сонымен қатар қосалқы процессор болса, қарастырылған шешімдердің кез келгені орындалады, кез келген жағдайда, tar үстіне орауыш сценарийлерді жазу арқылы қайталанбауы керек өте көп жұмыс жасалды. . Егер сақтық көшірмелерді сақтауға арналған серверге толық сенім арту мүмкін болмаса, шифрлаудың болуы өте қажетті қасиет болып табылады.

Негізделген шешімдермен салыстырғанда rsync - өнімділік бірнеше есе нашар болуы мүмкін, оның таза түрінде гудрон rsync қарағанда 20-30% жылдам жұмыс істеді.
Репозиторийдің өлшемі бойынша үнемдеу бар, бірақ тек көшірмелермен.

Хабарландыру

Сақтық көшірме, 1 бөлім: Сақтық көшірме не үшін қажет, әдістерге, технологияларға шолу
Сақтық көшірме 2-бөлім: rsync негізіндегі сақтық көшірме құралдарын қарап шығу және сынау
Сақтық көшірме 3-бөлім: Қайталануды тексеру және тексеру, қайталанулар, дежа көшірмелері
Сақтық көшірме 4-бөлім: zbackup, restic, borgbackup файлдарын қарап шығу және сынау
Сақтық көшірме 5-бөлім: Linux үшін bacula және veeam сақтық көшірмесін сынау
Сақтық көшірме 6-бөлім: Сақтық көшірме құралдарын салыстыру
Сақтық көшірме 7-бөлім: Қорытынды

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

Ақпарат көзі: www.habr.com

пікір қалдыру