Нусхаи эҳтиётӣ Қисми 4: Барраси ва санҷиши zbackup, restic, borgbackup

Нусхаи эҳтиётӣ Қисми 4: Барраси ва санҷиши zbackup, restic, borgbackup

Дар ин мақола нармафзори эҳтиётӣ баррасӣ хоҳад шуд, ки тавассути шикастани ҷараёни додаҳо ба ҷузъҳои алоҳида (порчаҳо) анборро ташкил медиҳад.

Ҷузъҳои репозиторийро метавон минбаъд фишурда ва рамзгузорӣ кард ва муҳимтар аз ҳама - ҳангоми равандҳои такрории эҳтиётӣ - дубора истифода бурдан.

Нусхаи эҳтиётӣ дар чунин анбор занҷири номбаршудаи ҷузъҳои ба ҳамдигар пайваст аст, масалан, дар асоси функсияҳои гуногуни хэш.

Якчанд роҳҳои ҳалли шабеҳ мавҷуданд, ман ба 3 тамаркуз мекунам: zbackup, borgbackup ва restic.

Натиҷаҳои интизоршуда

Азбаски ҳамаи довталабон ба ин ё он роҳ эҷод кардани анборро талаб мекунанд, яке аз омилҳои муҳимтарин ҳисоб кардани андозаи анбор хоҳад буд. Идеалӣ, андозаи он аз рӯи методологияи қабулшуда набояд аз 13 ГБ зиёд бошад, ё ҳатто камтар аз он бошад - бо назардошти оптимизатсияи хуб.

Инчунин хеле матлуб аст, ки тавонистани нусхаҳои эҳтиётии файлҳоро мустақиман бидуни истифодаи бойгониҳо ба монанди tar ва инчунин кор бо ssh/sftp бидуни абзорҳои иловагӣ ба монанди rsync ва sshfs.

Рафтор ҳангоми сохтани нусхаҳои эҳтиётӣ:

  1. Андозаи анбор ба андозаи тағирот баробар ё камтар хоҳад буд.
  2. Ҳангоми истифодаи фишурдасозӣ ва/ё рамзгузорӣ сарбории зиёди CPU интизор аст ва эҳтимолияти сарбории хеле баланди шабака ва диск вуҷуд дорад, агар раванди бойгонӣ ва/ё рамзгузорӣ дар сервери нигаҳдории эҳтиётӣ иҷро шавад.
  3. Агар репозиторий осеб дида бошад, хатои таъхиршуда ҳам ҳангоми эҷоди нусхаҳои нав ва ҳам ҳангоми кӯшиши барқароршавӣ эҳтимол дорад. Барои таъмини якпорчагии анбор тадбирҳои иловагиро ба нақша гирифтан лозим аст ё асбобҳои дарунсохтро барои тафтиши тамомияти он истифода бурдан лозим аст.

Кор бо қатрон ҳамчун арзиши истинод гирифта мешавад, чунон ки дар яке аз мақолаҳои қаблӣ нишон дода шудааст.

Санҷиши zbackup

Механизми умумии zbackup аз он иборат аст, ки барнома дар ҷараёнҳои додаҳои воридотӣ минтақаҳои дорои як маълумотро пайдо мекунад, баъд ихтиёрӣ онҳоро фишурда ва рамзкунонида, ҳар як минтақаро танҳо як маротиба захира мекунад.

Deduplication функсияи хэши ҳалқаи 64-битро бо равзанаи лағжиш барои тафтиши мувофиқати байт ба байт бо блокҳои мавҷудаи додаҳо истифода мебарад (монанде, ки rsync онро амалӣ мекунад).

Барои фишурдан lzma ва lzo бисёр риштаҳо ва aes барои рамзгузорӣ истифода мешаванд. Версияҳои охирин қобилияти нест кардани маълумоти кӯҳна аз анбор дар оянда доранд.
Барнома дар C++ бо вобастагии ҳадди ақал навишта шудааст. Муаллиф аз афташ аз unix-way илҳом гирифта буд, аз ин рӯ барнома ҳангоми сохтани нусхаҳои эҳтиётӣ маълумотро дар stdin қабул мекунад ва ҳангоми барқарорсозӣ ҷараёни шабеҳи маълумотро дар stdout тавлид мекунад. Ҳамин тариқ, zbackup метавонад ҳамчун "блоки бино" хеле хуб ҳангоми навиштани қарорҳои эҳтиётии худ истифода шавад. Масалан, муаллифи мақола ин барномаро ҳамчун воситаи асосии эҳтиётии мошинҳои хонагӣ тақрибан аз соли 2014 истифода кардааст.

Ҷараёни додаҳо як қатраи муқаррарӣ хоҳад буд, агар тартиби дигаре пешбинӣ нашуда бошад.

Биёед бубинем, ки натиҷаҳо чӣ гунаанд:

Кор дар 2 вариант санҷида шуд:

  1. репозиторий сохта мешавад ва zbackup дар сервер бо маълумоти манбаъ оғоз мешавад, пас мундариҷаи анбор ба сервери нигаҳдории эҳтиётӣ интиқол дода мешавад.
  2. репозиторий дар сервери нигаҳдории эҳтиётӣ сохта мешавад, zbackup тавассути ssh дар сервери нигаҳдории эҳтиётӣ оғоз мешавад ва маълумот тавассути қубур ба он фиристода мешавад.

Натиҷаҳои варианти аввал чунин буданд: 43m11s - ҳангоми истифодаи анбори рамзнашуда ва компрессори lzma, 19m13s - ҳангоми иваз кардани компрессор бо lzo.

Сарборӣ ба сервер бо маълумоти аслӣ чунин буд (масалан бо lzma нишон дода шудааст; бо lzo тақрибан як тасвир мавҷуд буд, аммо ҳиссаи rsync тақрибан чоряки вақт буд):

Нусхаи эҳтиётӣ Қисми 4: Барраси ва санҷиши zbackup, restic, borgbackup

Равшан аст, ки чунин раванди эҳтиётӣ танҳо барои тағйироти нисбатан нодир ва хурд мувофиқ аст. Инчунин тавсия дода мешавад, ки zbackup-ро то 1 ришта маҳдуд кунед, вагарна сарбории CPU хеле баланд хоҳад буд, зеро Барнома дар кор дар риштаҳои гуногун хеле хуб аст. Сарбории диск хурд буд, ки дар маҷмӯъ бо зерсистемаи муосири диски ssd ба назар намерасад. Шумо инчунин метавонед оғози раванди ҳамоҳангсозии додаҳои анборро ба сервери дурдаст равшан бубинед; суръати кор бо rsync муқаррарӣ муқоиса карда мешавад ва аз кори зерсистемаи диски сервери нигаҳдории захиравӣ вобаста аст. Камбудии ин равиш нигоҳдории анбори маҳаллӣ ва дар натиҷа такрори маълумот мебошад.

Варианти дуюм, ки zbackup-ро мустақиман дар сервери нигаҳдории эҳтиётӣ иҷро мекунад, ҷолибтар ва дар амал татбиқшаванда аст.

Аввалан, мо амалиётро бидуни истифодаи рамзгузорӣ бо компрессори lzma тафтиш мекунем:

Нусхаи эҳтиётӣ Қисми 4: Барраси ва санҷиши zbackup, restic, borgbackup

Вақти иҷрои ҳар як санҷиш:

Оғози 1
Оғози 2
Оғози 3

39м45с
40м20с
40м3с

7м36с
8м3с
7м48с

15м35с
15м48с
15м38с

Агар шумо рамзгузории aes-ро фаъол созед, натиҷаҳо хеле наздиканд:

Нусхаи эҳтиётӣ Қисми 4: Барраси ва санҷиши zbackup, restic, borgbackup

Вақти кор дар ҳамон маълумот бо рамзгузорӣ:

Оғози 1
Оғози 2
Оғози 3

43м40с
44м12с
44м3с

8м3с
8м15с
8м12с

15м0с
15м40с
15м25с

Агар рамзгузорӣ бо фишурдасозии lzo якҷоя карда шавад, он чунин менамояд:

Нусхаи эҳтиётӣ Қисми 4: Барраси ва санҷиши zbackup, restic, borgbackup

Вақтҳои корӣ:

Оғози 1
Оғози 2
Оғози 3

18м2с
18м15с
18м12с

5м13с
5м24с
5м20с

8м48с
9м3с
8м51с

Андозаи анбори натиҷавӣ дар 13 ГБ нисбатан якхела буд. Ин маънои онро дорад, ки нусхабардорӣ дуруст кор мекунад. Инчунин, дар маълумоти аллакай фишурдашуда, истифодаи lzo таъсири назаррас медиҳад; аз рӯи вақти умумии кор, zbackup ба такрорӣ/дупликатсия наздик мешавад, аммо аз онҳое, ки дар асоси librsync асос ёфтааст, 2-5 маротиба ақиб мемонад.

Афзалиятҳо аёнанд - сарфаи фазои диск дар сервери нигаҳдории эҳтиётӣ. Дар мавриди асбобҳои санҷиши репозиторий, муаллифи zbackup онҳоро таъмин намекунад; тавсия дода мешавад, ки массиви дискҳои ба хатогиҳо тобовар ё провайдери абрӣ истифода шавад.

Дар маҷмӯъ, таассуроти хеле хуб, сарфи назар аз он, ки лоиҳа тақрибан 3 сол боз истода буд (дархости охирин тақрибан як сол пеш буд, аммо бе посух).

Санҷиши borgbackup

Borgbackup як фарши болохона аст, системаи дигаре, ки ба zbackup монанд аст. Дар python навишта шудааст, он дорои рӯйхати қобилиятҳои шабеҳи zbackup мебошад, аммо ба таври иловагӣ метавонад:

  • Нусхаҳоро тавассути муҳофизаткунанда насб кунед
  • Мундариҷаи анборро тафтиш кунед
  • Дар реҷаи муштарӣ-сервер кор кунед
  • Барои маълумот компрессорҳои гуногунро истифода баред, инчунин муайян кардани эвристикии навъи файл ҳангоми фишурдани он.
  • 2 имконоти рамзгузорӣ, aes ва blake
  • Воситаи дарунсохт барои

санҷишҳои иҷроиш

borgbackup меъёри crud ssh://backup_server/repo/path local_dir

Натичахо чунин буданд:

CZ-BIG 96.51 МБ/с (10 100.00 МБ файлҳои сифр: 10.36с)
RZ-BIG 57.22 МБ/с (10
100.00 МБ файлҳои сифр: 17.48с)
UZ-BIG 253.63 МБ/с (10 100.00 МБ файлҳои сифр: 3.94с)
DZ-BIG 351.06 МБ/с (10
100.00 МБ файлҳои сифр: 2.85с)
CR-BIG 34.30 МБ/с (10 Файлҳои тасодуфии 100.00 МБ: 29.15с)
RR-BIG 60.69 МБ/с (10
Файлҳои тасодуфии 100.00 МБ: 16.48с)
UR-BIG 311.06 МБ/с (10 Файлҳои тасодуфии 100.00 МБ: 3.21с)
DR-BIG 72.63 МБ/с (10
Файлҳои тасодуфии 100.00 МБ: 13.77с)
CZ-MEDIUM 108.59 МБ/с (1000 1.00 МБ файлҳои сифр: 9.21с)
RZ-MEDIUM 76.16 МБ/с (1000
1.00 МБ файлҳои сифр: 13.13с)
UZ-MEDIUM 331.27 МБ/с (1000 1.00 МБ файлҳои сифр: 3.02с)
DZ-MEDIUM 387.36 МБ/с (1000
1.00 МБ файлҳои сифр: 2.58с)
CR-MEDIUM 37.80 МБ/с (1000 Файлҳои тасодуфии 1.00 МБ: 26.45с)
RR-MEDIUM 68.90 МБ/с (1000
Файлҳои тасодуфии 1.00 МБ: 14.51с)
UR-MEDIUM 347.24 МБ/с (1000 Файлҳои тасодуфии 1.00 МБ: 2.88с)
DR-MEDIUM 48.80 МБ/с (1000
Файлҳои тасодуфии 1.00 МБ: 20.49с)
CZ-SMALL 11.72 МБ/с (10000 10.00 кБ файлҳои сифр: 8.53с)
RZ-SMALL 32.57 МБ/с (10000
10.00 кБ файлҳои сифр: 3.07с)
UZ-SMALL 19.37 МБ/с (10000 10.00 кБ файлҳои сифр: 5.16с)
DZ-SMALL 33.71 МБ/с (10000
10.00 кБ файлҳои сифр: 2.97с)
CR-SMALL 6.85 МБ/с (10000 Файлҳои тасодуфии 10.00 кБ: 14.60с)
RR-ХУРД 31.27 МБ/с (10000
Файлҳои тасодуфии 10.00 кБ: 3.20с)
UR-SMALL 12.28 МБ/с (10000 Файлҳои тасодуфии 10.00 кБ: 8.14с)
DR-SMALL 18.78 МБ/с (10000
Файлҳои тасодуфии 10.00 кБ: 5.32с)

Ҳангоми санҷиш, эвристикаи фишурдасозӣ барои муайян кардани навъи файл (автоматии фишурда) истифода мешавад ва натиҷаҳо чунин хоҳанд буд:

Аввалан, биёед бубинем, ки он бе рамзгузорӣ чӣ гуна кор мекунад:

Нусхаи эҳтиётӣ Қисми 4: Барраси ва санҷиши zbackup, restic, borgbackup

Вақтҳои корӣ:

Оғози 1
Оғози 2
Оғози 3

4м6с
4м10с
4м5с

56
58
54

1м26с
1м34с
1м30с

Агар шумо иҷозати репозиторийро фаъол созед (режими тасдиқшуда), натиҷаҳо наздик мешаванд:

Нусхаи эҳтиётӣ Қисми 4: Барраси ва санҷиши zbackup, restic, borgbackup

Вақтҳои корӣ:

Оғози 1
Оғози 2
Оғози 3

4м11с
4м20с
4м12с

1м0с
1м3с
1м2с

1м30с
1м34с
1м31с

Вақте ки рамзгузории aes фаъол карда шуд, натиҷаҳо чандон бад нашуданд:

Нусхаи эҳтиётӣ Қисми 4: Барраси ва санҷиши zbackup, restic, borgbackup

Оғози 1
Оғози 2
Оғози 3

4м55с
5м2с
4м58с

1м0с
1м2с
1м0с

1м49с
1м50с
1м50с

Ва агар шумо aes-ро ба блэйк иваз кунед, вазъ комилан беҳтар мешавад:

Нусхаи эҳтиётӣ Қисми 4: Барраси ва санҷиши zbackup, restic, borgbackup

Вақтҳои корӣ:

Оғози 1
Оғози 2
Оғози 3

4м33с
4м43с
4м40с

59
1м0с
1м0с

1м38с
1м43с
1м40с

Тавре ки дар мавриди zbackup, андозаи анбор 13 ГБ ва ҳатто каме камтар буд, ки умуман интизор меравад. Ман аз вақти кор хеле қаноатманд будам; онро бо қарорҳои дар асоси librsync муқоиса кардан мумкин аст, ки имкониятҳои васеътарро фароҳам меорад. Ман инчунин аз қобилияти муқаррар кардани параметрҳои гуногун тавассути тағирёбандаҳои муҳити зист, ки ҳангоми истифодаи borgbackup дар реҷаи автоматӣ бартарии хеле ҷиддӣ медиҳад, хушнуд шудам. Ман инчунин аз сарборӣ ҳангоми нусхабардорӣ қаноатманд будам: аз рӯи сарбории протсессор, borgbackup дар 1 ришта кор мекунад.

Ҳангоми истифодаи он камбудиҳои махсус вуҷуд надоштанд.

санҷиши истироҳат

Сарфи назар аз он, ки рестик як ҳалли хеле нав аст (2 номзади аввал дар соли 2013 ва калонтар маълум буданд), он дорои хусусиятҳои хеле хуб аст. Дар Go навишта шудааст.

Ҳангоми муқоиса бо zbackup, он ба таври иловагӣ медиҳад:

  • Санҷиши якпорчагии анбор (аз ҷумла тафтиши қисмҳо).
  • Рӯйхати бузурги протоколҳо ва провайдерҳои дастгирӣшаванда барои нигоҳдории нусхаҳои эҳтиётӣ, инчунин дастгирии rclone - rsync барои ҳалли абр.
  • Муқоисаи 2 нусхаи эҳтиётӣ бо ҳамдигар.
  • Насб кардани анбор тавассути муҳофизаткунанда.

Умуман, рӯйхати хусусиятҳо ба borgbackup хеле наздик аст, дар баъзе ҷойҳо бештар, дар дигарон камтар. Яке аз хусусиятҳо он аст, ки ҳеҷ гуна роҳи хомӯш кардани рамзгузорӣ вуҷуд надорад ва аз ин рӯ, нусхаҳои эҳтиётӣ ҳамеша рамзгузорӣ карда мешаванд. Биёед дар амал бубинем, ки аз ин нармафзор чиро фишурда кардан мумкин аст:

Натичахо чунин буданд:

Нусхаи эҳтиётӣ Қисми 4: Барраси ва санҷиши zbackup, restic, borgbackup

Вақтҳои корӣ:

Оғози 1
Оғози 2
Оғози 3

5м25с
5м50с
5м38с

35
38
36

1м54с
2м2с
1м58с

Натиҷаҳои иҷроишро инчунин бо қарорҳои rsync дар асоси муқоиса кардан мумкин аст ва дар маҷмӯъ, ба borgbackup хеле наздик аст, аммо сарбории CPU зиёдтар аст (риштаҳои сершумор кор мекунад) ва дандон.

Эҳтимол, барнома бо иҷрои зерсистемаи диск дар сервери нигаҳдории маълумот маҳдуд аст, чуноне ки аллакай дар rsync буд. Андозаи репозиторий 13 ГБ буд, ба мисли zbackup ё borgbackup, ҳангоми истифодаи ин ҳалли ягон камбудии ошкоре вуҷуд надошт.

натиҷаҳои

Дар асл, ҳамаи номзадҳо ба натиҷаҳои якхела ноил шуданд, аммо бо нархҳои гуногун. Borgbackup аз ҳама беҳтар кор кард, restic каме сусттар буд, zbackup эҳтимолан ба истифода намеарзад,
ва агар он аллакай дар истифода бошад, кӯшиш кунед, ки онро ба borgbackup ё restic иваз кунед.

натиҷаҳои

Ҳалли умедбахштарин ба назар чунин менамояд, ки оромист, зеро... маҳз ӯ таносуби беҳтарини қобилиятҳо ба суръати кор аст, аммо биёед ҳоло ба хулосаҳои умумӣ шитоб накунем.

Borgbackup аслан бадтар нест, аммо zbackup эҳтимолан беҳтар иваз карда шавад. Дуруст аст, ки zbackup ҳоло ҳам метавонад барои таъмини кори қоидаҳои 3-2-1 истифода шавад. Масалан, ба ғайр аз иншооти захиравии (lib)rsync.

Эълон

Нусхаи эҳтиётӣ, қисми 1: Чаро нусхабардорӣ лозим аст, шарҳи усулҳо, технологияҳо
Нусхаи эҳтиётӣ Қисми 2: Барраси ва санҷиши абзорҳои эҳтиётии rsync дар асоси
Нусхаи эҳтиётӣ Қисми 3: Барраси ва санҷиши такрорӣ, такрорӣ
Нусхаи эҳтиётӣ Қисми 4: Барраси ва санҷиши zbackup, restic, borgbackup
Нусхаи эҳтиётӣ Қисми 5: Санҷиши нусхабардории bacula ва veeam барои Linux
Қисми 6: Муқоисаи абзорҳои эҳтиётӣ
Нусхаи эҳтиётӣ Қисми 7: Хулоса

Интишор аз ҷониби: Павел Демкович

Манбаъ: will.com

Илова Эзоҳ