Zaxira 4-qism: zbackup, restic, borgbackup-ni ko'rib chiqish va sinovdan o'tkazish

Zaxira 4-qism: zbackup, restic, borgbackup-ni ko'rib chiqish va sinovdan o'tkazish

Ushbu maqolada ma'lumotlar oqimini alohida komponentlarga (bo'laklarga) ajratib, omborni tashkil etuvchi zaxira dasturiy ta'minoti ko'rib chiqiladi.

Repozitoriy komponentlar qo'shimcha siqilgan va shifrlangan bo'lishi mumkin, va eng muhimi - takroriy zaxiralash jarayonlarida - qayta ishlatilishi mumkin.

Bunday ombordagi zaxira nusxasi, masalan, turli xil xesh-funksiyalar asosida bir-biriga bog'langan komponentlarning nomlangan zanjiri.

Bir nechta shunga o'xshash echimlar mavjud, men 3 tasiga e'tibor qarataman: zbackup, borgbackup va restic.

Kutilgan natijalar

Barcha ariza beruvchilar u yoki bu tarzda omborni yaratishni talab qilganligi sababli, ombor hajmini baholash eng muhim omillardan biri bo'ladi. Ideal holda, uning hajmi qabul qilingan metodologiyaga ko'ra 13 Gb dan oshmasligi yoki yaxshi optimallashtirish sharti bilan kamroq bo'lishi kerak.

Shuningdek, tar kabi arxivatorlardan foydalanmasdan to'g'ridan-to'g'ri fayllarning zaxira nusxalarini yaratish, shuningdek, rsync va sshfs kabi qo'shimcha vositalarsiz ssh/sftp bilan ishlash juda ma'qul.

Zaxira nusxalarini yaratishda xatti-harakatlar:

  1. Omborning o'lchami o'zgarishlar hajmiga teng yoki undan kamroq bo'ladi.
  2. Siqish va/yoki shifrlashdan foydalanilganda protsessorning ogβ€˜ir yuklanishi kutiladi, agar arxivlash va/yoki shifrlash jarayoni zaxira saqlash serverida ishlayotgan boβ€˜lsa, tarmoq va disk yuklanishi ancha yuqori boβ€˜lishi mumkin.
  3. Agar ombor shikastlangan bo'lsa, yangi zaxira nusxalarini yaratishda ham, qayta tiklashga urinayotganda ham kechiktirilgan xatolik yuzaga kelishi mumkin. Omborning yaxlitligini ta'minlash uchun qo'shimcha chora-tadbirlarni rejalashtirish yoki uning yaxlitligini tekshirish uchun o'rnatilgan vositalardan foydalanish kerak.

Oldingi maqolalardan birida ko'rsatilganidek, tar bilan ishlash mos yozuvlar qiymati sifatida qabul qilinadi.

Zbackup sinovdan o'tkazilmoqda

Zbackupning umumiy mexanizmi shundan iboratki, dastur kirish ma'lumotlar oqimida bir xil ma'lumotlarni o'z ichiga olgan hududlarni topadi, so'ngra ixtiyoriy ravishda ularni siqib chiqaradi va shifrlaydi, har bir maydonni faqat bir marta saqlaydi.

Deduplication mavjud ma'lumotlar bloklari bilan bayt-bayt mos kelishini tekshirish uchun sirpanish oynasi bilan 64-bitli ring xesh funktsiyasidan foydalanadi (rsync uni qanday amalga oshirishiga o'xshash).

Ko'p tarmoqli lzma va lzo siqish uchun, aes esa shifrlash uchun ishlatiladi. Eng so'nggi versiyalar kelajakda eski ma'lumotlarni ombordan o'chirish imkoniyatiga ega.
Dastur C++ tilida minimal bog'liqliklar bilan yozilgan. Muallif unix-waydan ilhomlangan, shuning uchun dastur zaxira nusxalarini yaratishda stdin-dagi ma'lumotlarni qabul qiladi va tiklashda stdout-da shunga o'xshash ma'lumotlar oqimini ishlab chiqaradi. Shunday qilib, zbackup o'zingizning zaxira echimlaringizni yozishda juda yaxshi "qurilish bloki" sifatida ishlatilishi mumkin. Misol uchun, maqola muallifi ushbu dasturni taxminan 2014 yildan beri uy mashinalari uchun asosiy zaxira vositasi sifatida ishlatgan.

Agar boshqacha ko'rsatilmagan bo'lsa, ma'lumotlar oqimi oddiy tar bo'ladi.

Keling, natijalar qanday ekanligini ko'rib chiqaylik:

Ish 2 variantda tekshirildi:

  1. ombori yaratiladi va zbackup manba ma'lumotlari bilan serverda ishga tushiriladi, so'ngra omborning mazmuni zaxira saqlash serveriga o'tkaziladi.
  2. zaxira saqlash serverida ombor yaratiladi, zbackup zaxira saqlash serverida ssh orqali ishga tushiriladi va ma'lumotlar unga quvur orqali yuboriladi.

Birinchi variantning natijalari quyidagicha edi: 43m11s - shifrlanmagan ombor va lzma kompressoridan foydalanganda, 19m13s - kompressorni lzo bilan almashtirishda.

Asl ma'lumotlar bilan serverdagi yuk quyidagicha edi (lzma bilan misol ko'rsatilgan; lzo bilan taxminan bir xil rasm mavjud edi, ammo rsync ulushi vaqtning chorak qismini tashkil etdi):

Zaxira 4-qism: zbackup, restic, borgbackup-ni ko'rib chiqish va sinovdan o'tkazish

Bunday zaxira jarayoni faqat nisbatan kam va kichik o'zgarishlarga mos kelishi aniq. Shuningdek, zbackup-ni 1 ta ip bilan cheklash juda tavsiya etiladi, aks holda protsessor juda yuqori yuklanadi, chunki Dastur bir nechta mavzularda ishlashda juda yaxshi. Diskdagi yuk kichik edi, bu umuman zamonaviy ssd-ga asoslangan disk quyi tizimi bilan sezilmaydi. Shuningdek, siz ombor ma'lumotlarini masofaviy serverga sinxronlashtirish jarayonining boshlanishini aniq ko'rishingiz mumkin; ishlash tezligi oddiy rsync bilan taqqoslanadi va zaxira saqlash serverining disk quyi tizimining ishlashiga bog'liq. Ushbu yondashuvning kamchiliklari mahalliy omborni saqlash va natijada ma'lumotlarning takrorlanishidir.

Amalda yanada qiziqarli va qo'llaniladigan ikkinchi variant bo'lib, zbackup to'g'ridan-to'g'ri zaxira saqlash serverida ishlaydi.

Birinchidan, biz lzma kompressor bilan shifrlashdan foydalanmasdan operatsiyani tekshiramiz:

Zaxira 4-qism: zbackup, restic, borgbackup-ni ko'rib chiqish va sinovdan o'tkazish

Har bir sinovning ishlash vaqti:

1-ni ishga tushirish
2-ni ishga tushirish
3-ni ishga tushirish

39m45s
40m20s
40m3s

7m36s
8m3s
7m48s

15m35s
15m48s
15m38s

Agar siz aes yordamida shifrlashni yoqsangiz, natijalar juda yaqin bo'ladi:

Zaxira 4-qism: zbackup, restic, borgbackup-ni ko'rib chiqish va sinovdan o'tkazish

Xuddi shu ma'lumotlarda shifrlash bilan ishlash vaqti:

1-ni ishga tushirish
2-ni ishga tushirish
3-ni ishga tushirish

43m40s
44m12s
44m3s

8m3s
8m15s
8m12s

15m0s
15m40s
15m25s

Agar shifrlash lzo yordamida siqish bilan birlashtirilsa, u quyidagicha ko'rinadi:

Zaxira 4-qism: zbackup, restic, borgbackup-ni ko'rib chiqish va sinovdan o'tkazish

Ish vaqti:

1-ni ishga tushirish
2-ni ishga tushirish
3-ni ishga tushirish

18m2s
18m15s
18m12s

5m13s
5m24s
5m20s

8m48s
9m3s
8m51s

Olingan omborning o'lchami 13 Gbda nisbatan bir xil edi. Bu deuplikatsiya to'g'ri ishlayotganligini anglatadi. Bundan tashqari, allaqachon siqilgan ma'lumotlarda lzo-dan foydalanish sezilarli ta'sir ko'rsatadi; umumiy ish vaqti nuqtai nazaridan, zbackup ikkilanish/duplikatsiyaga yaqinlashadi, lekin librsync-ga asoslanganidan 2-5 baravar orqada qoladi.

Afzalliklar aniq - zaxira saqlash serverida disk maydonini tejash. Omborni tekshirish vositalariga kelsak, zbackup muallifi ularni ta'minlamaydi, xatolarga chidamli disk massivi yoki bulutli provayderdan foydalanish tavsiya etiladi.

Umuman olganda, loyiha taxminan 3 yil davomida to'xtab qolganiga qaramay, juda yaxshi taassurot qoldirdi (oxirgi xususiyat so'rovi taxminan bir yil oldin bo'lgan, ammo javobsiz).

Borgbackup sinovdan o'tkazilmoqda

Borgbackup - bu chordoqning vilkasi, zbackup-ga o'xshash yana bir tizim. Python-da yozilgan, u zbackup-ga o'xshash imkoniyatlar ro'yxatiga ega, ammo qo'shimcha ravishda:

  • Zaxira nusxalarini sug'urta orqali o'rnating
  • Repozitoriy tarkibini tekshiring
  • Mijoz-server rejimida ishlash
  • Ma'lumotlar uchun turli xil kompressorlardan foydalaning, shuningdek uni siqish paytida fayl turini evristik aniqlash.
  • 2 ta shifrlash variantlari, aes va blake
  • uchun o'rnatilgan vosita

ishlash tekshiruvlari

borgbackup benchmark crud ssh://backup_server/repo/path local_dir

Natijalar quyidagicha edi:

C-Z-BIG 96.51 MB/s (10 100.00 MB barcha nol fayllar: 10.36s)
R-Z-BIG 57.22 MB/s (10
100.00 MB barcha nol fayllar: 17.48s)
U-Z-BIG 253.63 MB/s (10 100.00 MB barcha nol fayllar: 3.94s)
D-Z-BIG 351.06 MB/s (10
100.00 MB barcha nol fayllar: 2.85s)
C-R-BIG 34.30 MB/s (10 100.00 MB tasodifiy fayllar: 29.15s)
R-R-BIG 60.69 MB/s (10
100.00 MB tasodifiy fayllar: 16.48s)
U-R-BIG 311.06 MB/s (10 100.00 MB tasodifiy fayllar: 3.21s)
D-R-BIG 72.63 MB/s (10
100.00 MB tasodifiy fayllar: 13.77s)
C-Z-MEDIUM 108.59 MB/s (1000 1.00 MB barcha nol fayllar: 9.21s)
R-Z-MEDIUM 76.16 MB/s (1000
1.00 MB barcha nol fayllar: 13.13s)
U-Z-MEDIUM 331.27 MB/s (1000 1.00 MB barcha nol fayllar: 3.02s)
D-Z-MEDIUM 387.36 MB/s (1000
1.00 MB barcha nol fayllar: 2.58s)
C-R-MEDIUM 37.80 MB/s (1000 1.00 MB tasodifiy fayllar: 26.45s)
R-R-MEDIUM 68.90 MB/s (1000
1.00 MB tasodifiy fayllar: 14.51s)
U-R-MEDIUM 347.24 MB/s (1000 1.00 MB tasodifiy fayllar: 2.88s)
D-R-MEDIUM 48.80 MB/s (1000
1.00 MB tasodifiy fayllar: 20.49s)
C-Z-SMALL 11.72 MB/s (10000 10.00 kB barcha nol fayllar: 8.53s)
R-Z-SMALL 32.57 MB/s (10000
10.00 kB barcha nol fayllar: 3.07s)
U-Z-KICHIK 19.37 MB/s (10000 10.00 kB barcha nol fayllar: 5.16s)
D-Z-SMALL 33.71 MB/s (10000
10.00 kB barcha nol fayllar: 2.97s)
C-R-SMALL 6.85 MB/s (10000 10.00 kB tasodifiy fayllar: 14.60s)
R-R-SMALL 31.27 MB/s (10000
10.00 kB tasodifiy fayllar: 3.20s)
U-R-SMALL 12.28 MB/s (10000 10.00 kB tasodifiy fayllar: 8.14s)
D-R-SMALL 18.78 MB/s (10000
10.00 kB tasodifiy fayllar: 5.32s)

Sinov paytida fayl turini (avtomatik siqishni) aniqlash uchun siqish evristikasi qo'llaniladi va natijalar quyidagicha bo'ladi:

Birinchidan, shifrlashsiz qanday ishlashini tekshiramiz:

Zaxira 4-qism: zbackup, restic, borgbackup-ni ko'rib chiqish va sinovdan o'tkazish

Ish vaqti:

1-ni ishga tushirish
2-ni ishga tushirish
3-ni ishga tushirish

4m6s
4m10s
4m5s

56s
58s
54s

1m26s
1m34s
1m30s

Agar siz omborni avtorizatsiya qilishni yoqsangiz (autentifikatsiya qilingan rejim), natijalar yaqin bo'ladi:

Zaxira 4-qism: zbackup, restic, borgbackup-ni ko'rib chiqish va sinovdan o'tkazish

Ish vaqti:

1-ni ishga tushirish
2-ni ishga tushirish
3-ni ishga tushirish

4m11s
4m20s
4m12s

1m0s
1m3s
1m2s

1m30s
1m34s
1m31s

Aes shifrlash faollashtirilganda, natijalar unchalik yomonlashmadi:

Zaxira 4-qism: zbackup, restic, borgbackup-ni ko'rib chiqish va sinovdan o'tkazish

1-ni ishga tushirish
2-ni ishga tushirish
3-ni ishga tushirish

4m55s
5m2s
4m58s

1m0s
1m2s
1m0s

1m49s
1m50s
1m50s

Va agar siz aesni blakega o'zgartirsangiz, vaziyat butunlay yaxshilanadi:

Zaxira 4-qism: zbackup, restic, borgbackup-ni ko'rib chiqish va sinovdan o'tkazish

Ish vaqti:

1-ni ishga tushirish
2-ni ishga tushirish
3-ni ishga tushirish

4m33s
4m43s
4m40s

59s
1m0s
1m0s

1m38s
1m43s
1m40s

Zbackup holatida bo'lgani kabi, ombor hajmi 13 Gb va hatto biroz kamroq edi, bu odatda kutilgan. Ish vaqti meni juda mamnun qildi; u librsync-ga asoslangan echimlar bilan solishtirish mumkin, bu esa ancha keng imkoniyatlarni taqdim etadi. Men atrof-muhit o'zgaruvchilari orqali turli parametrlarni o'rnatish qobiliyatidan ham mamnunman, bu avtomatik rejimda borgbackup-dan foydalanishda juda jiddiy afzallik beradi. Zaxiralash paytida yukdan ham mamnun bo'ldim: protsessor yukiga ko'ra, borgbackup 1 ipda ishlaydi.

Uni ishlatishda alohida kamchiliklar yo'q edi.

dam olish sinovlari

Restic juda yangi yechim bo'lishiga qaramay (birinchi 2 nomzod 2013 yilda va undan kattaroq vaqtlarda ma'lum bo'lgan), u juda yaxshi xususiyatlarga ega. Go'da yozilgan.

Zbackup bilan solishtirganda, u qo'shimcha ravishda quyidagilarni beradi:

  • Omborning yaxlitligini tekshirish (shu jumladan qismlarni tekshirish).
  • Zaxira nusxalarini saqlash uchun qo'llab-quvvatlanadigan protokollar va provayderlarning katta ro'yxati, shuningdek bulutli echimlar uchun rclone - rsync-ni qo'llab-quvvatlash.
  • 2 ta zaxira nusxasini bir-biri bilan solishtirish.
  • Repozitariyni sug'urta orqali o'rnatish.

Umuman olganda, xususiyatlar ro'yxati borgbackup-ga juda yaqin, ba'zi joylarda ko'proq, boshqalarda kamroq. Xususiyatlardan biri shundaki, shifrlashni o'chirishning hech qanday usuli yo'q va shuning uchun zaxira nusxalari har doim shifrlangan bo'ladi. Keling, ushbu dasturiy ta'minotdan nimani siqib chiqarish mumkinligini amalda ko'rib chiqaylik:

Natijalar quyidagicha edi:

Zaxira 4-qism: zbackup, restic, borgbackup-ni ko'rib chiqish va sinovdan o'tkazish

Ish vaqti:

1-ni ishga tushirish
2-ni ishga tushirish
3-ni ishga tushirish

5m25s
5m50s
5m38s

35s
38s
36s

1m54s
2m2s
1m58s

Ishlash natijalari, shuningdek, rsync-ga asoslangan echimlar bilan taqqoslanishi mumkin va umuman olganda, borgbackup-ga juda yaqin, lekin CPU yuki yuqori (bir nechta iplar ishlaydi) va arra tishlari.

Ehtimol, dastur rsync-da bo'lgani kabi, ma'lumotlarni saqlash serveridagi disk quyi tizimining ishlashi bilan cheklangan. Ombor hajmi 13 Gb edi, xuddi zbackup yoki borgbackup kabi, ushbu yechimdan foydalanishda hech qanday aniq kamchiliklar yo'q edi.

Natijalar

Aslida, barcha nomzodlar bir xil natijalarga erishdilar, ammo har xil narxlarda. Borgbackup eng yaxshi ishladi, restic biroz sekinroq edi, zbackup foydalanishni boshlashga arzimasligi mumkin,
va agar u allaqachon ishlatilayotgan bo'lsa, uni borgbackup yoki restic ga o'zgartirib ko'ring.

topilmalar

Eng istiqbolli yechim dam olish kabi ko'rinadi, chunki ... u qobiliyatlarning ishlash tezligiga eng yaxshi nisbatiga ega, ammo hozircha umumiy xulosalarga shoshilmaylik.

Borgbackup, asosan, yomon emas, lekin zbackup, ehtimol, yaxshiroq almashtiriladi. To'g'ri, zbackup hali ham 3-2-1 qoidasi ishlashini ta'minlash uchun ishlatilishi mumkin. Misol uchun, (lib)rsync-ga asoslangan zaxira qurilmalariga qo'shimcha ravishda.

E'lon

Zaxira, 1-qism: Zaxira nima uchun kerak, usullar, texnologiyalar haqida umumiy ma'lumot
Zaxiralash 2-qism: rsync-ga asoslangan zaxira vositalarini ko'rib chiqish va sinovdan o'tkazish
Zaxira 3-qism: Ikkilik, dublikatlarni ko'rib chiqish va sinovdan o'tkazish
Zaxira 4-qism: zbackup, restic, borgbackup-ni ko'rib chiqish va sinovdan o'tkazish
Zaxira 5-qism: Linux uchun bacula va veeam zahirasini sinab ko'rish
Zaxiralash 6-qism: Zaxiralash vositalarini solishtirish
Zaxira 7-qism: Xulosa

Muallif: Pavel Demkovich

Manba: www.habr.com

a Izoh qo'shish