Zaxira 3-qism: Ikkilik, dublikatlarni ko'rib chiqish va sinovdan o'tkazish

Zaxira 3-qism: Ikkilik, dublikatlarni ko'rib chiqish va sinovdan o'tkazish

Ushbu eslatma zaxira serverida arxiv yaratish orqali zahira nusxalarini amalga oshiradigan zaxira vositalarini muhokama qiladi.

Talablarga javob beradiganlar orasida dublicity (deja dup ko'rinishida yaxshi interfeysga ega) va duplicati bor.

Yana bir e'tiborga molik zaxiralash vositasi dar, lekin u juda keng imkoniyatlar ro'yxatiga ega bo'lgani uchun - sinov metodologiyasi qodir bo'lgan narsaning deyarli 10 foizini qamrab oladi - biz uni joriy tsiklning bir qismi sifatida sinab ko'rmayapmiz.

Kutilgan natijalar

Ikkala nomzod ham u yoki bu tarzda arxiv yaratganligi sababli, oddiy tardan qo'llanma sifatida foydalanish mumkin.

Bundan tashqari, biz fayllarning to'liq nusxasi va joriy holati yoki oldingi va joriy arxivlar (qo'shimcha, kamayuvchi va boshqalar) o'rtasidagi farqni o'z ichiga olgan zaxira nusxalarini yaratish orqali saqlash serverida ma'lumotlarni saqlash qanchalik yaxshilanganligini baholaymiz. .

Zaxira nusxalarini yaratishda xatti-harakatlar:

  1. Zaxira saqlash serveridagi nisbatan kichik sonli fayllar (zaxira nusxalari soni yoki GB dagi ma'lumotlar hajmi bilan solishtirish mumkin), lekin ularning hajmi juda katta (o'nlab dan yuzlab megabaytgacha).
  2. Ombor hajmi faqat o'zgarishlarni o'z ichiga oladi - hech qanday dublikat saqlanmaydi, shuning uchun ombor hajmi rsync-ga asoslangan dasturiy ta'minotga qaraganda kichikroq bo'ladi.
  3. Siqish va/yoki shifrlashdan foydalanilganda protsessorning og‘ir yuklanishini va arxivlash va/yoki shifrlash jarayoni zahiraviy saqlash serverida ishlayotgan bo‘lsa, tarmoq va disk yuklanishini kuting.

Quyidagi buyruqni mos yozuvlar qiymati sifatida ishga tushiramiz:

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

Amalga oshirish natijalari quyidagicha edi:

Zaxira 3-qism: Ikkilik, dublikatlarni ko'rib chiqish va sinovdan o'tkazish

Bajarish vaqti 3m12s. Ko'rinib turibdiki, tezlik, misolda bo'lgani kabi, zaxira saqlash serverining disk quyi tizimi tomonidan cheklangan. rsync. Bir oz tezroq, chunki ... yozib olish bitta faylga o'tadi.

Bundan tashqari, siqishni baholash uchun, keling, xuddi shu variantni ishga tushiraylik, lekin zaxira server tomonida siqishni yoqing:

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

Natijalar:

Zaxira 3-qism: Ikkilik, dublikatlarni ko'rib chiqish va sinovdan o'tkazish

Bajarish vaqti 10m11s. Katta ehtimol bilan, qabul qilish uchidagi bitta oqimli kompressor muammosi.

Xuddi shu buyruq, lekin siqilish bilan serverga asl ma'lumotlar bilan uzatiladi, bu gipotezani sinab ko'rish uchun bitta tishli kompressor bo'ladi.

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

Bu shunday chiqdi:

Zaxira 3-qism: Ikkilik, dublikatlarni ko'rib chiqish va sinovdan o'tkazish

Amalga oshirish vaqti 9m37s edi. Kompressor tomonidan bitta yadrodagi yuk aniq ko'rinadi, chunki Tarmoqni uzatish tezligi va manba disk quyi tizimidagi yuk bir xil.

Shifrlashni baholash uchun siz qo'shimcha buyruqni ulab openssl yoki gpg dan foydalanishingiz mumkin openssl yoki gpg quvurda. Malumot uchun shunday buyruq bo'ladi:

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

Natijalar quyidagicha chiqdi:

Zaxira 3-qism: Ikkilik, dublikatlarni ko'rib chiqish va sinovdan o'tkazish

Amalga oshirish vaqti 10m30s bo'ldi, chunki qabul qiluvchi tomonda 2 ta jarayon ishlayotgan edi - muammo yana bitta tishli kompressor, shuningdek, kichik shifrlash yuki.

UPS: Bliznezz iltimosiga binoan men pigz bilan testlarni qo'shyapman. Agar siz faqat kompressordan foydalansangiz, bu 6m30s davom etadi, agar siz shifrlashni ham qo'shsangiz, taxminan 7m bo'ladi. Pastki grafikdagi pasayish tozalanmagan disk keshidir:

Zaxira 3-qism: Ikkilik, dublikatlarni ko'rib chiqish va sinovdan o'tkazish

Ikki nusxadagi test

Duplicity - bu tar formatida shifrlangan arxivlarni yaratish orqali zaxiralash uchun python dasturi.

Incremental arxivlar uchun librsync ishlatiladi, shuning uchun siz quyida tavsiflangan xatti-harakatni kutishingiz mumkin seriyadagi oldingi post.

Zaxira nusxalarini gnupg yordamida shifrlash va imzolash mumkin, bu zaxira nusxalarini saqlash uchun turli provayderlardan (s3, backblaze, gdrive va boshqalar) foydalanishda muhim ahamiyatga ega.

Keling, natijalar qanday ekanligini ko'rib chiqaylik:

Bular shifrlashsiz ishlaganimizda olingan natijalar

buzuvchi

Zaxira 3-qism: Ikkilik, dublikatlarni ko'rib chiqish va sinovdan o'tkazish

Har bir sinovning ishlash vaqti:

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

16m33s
17m20s
16m30s

8m29s
9m3s
8m45s

5m21s
6m04s
5m53s

Gnupg shifrlash yoqilganda, kalit hajmi 2048 bit bo'lgan natijalar quyidagicha:

Zaxira 3-qism: Ikkilik, dublikatlarni 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

17m22s
17m32s
17m28s

8m52s
9m13s
9m3s

5m48s
5m40s
5m30s

Blok hajmi ko'rsatilgan - 512 megabayt, bu grafiklarda aniq ko'rinadi; Protsessor yuki aslida 50% darajasida saqlanib qoldi, ya'ni dastur bittadan ortiq protsessor yadrosidan foydalanmaydi.

Dasturning ishlash printsipi ham aniq ko'rinadi: ular ma'lumotlarning bir qismini oldilar, siqdilar va zaxira saqlash serveriga yubordilar, bu juda sekin bo'lishi mumkin.
Yana bir xususiyat - dasturning prognoz qilinadigan ish vaqti, bu faqat o'zgartirilgan ma'lumotlarning hajmiga bog'liq.

Shifrlashni yoqish dasturning ishlash vaqtini sezilarli darajada oshirmadi, lekin protsessor yukini taxminan 10% ga oshirdi, bu juda yaxshi bonus bo'lishi mumkin.

Afsuski, ushbu dastur katalog nomini o'zgartirish bilan bog'liq vaziyatni to'g'ri aniqlay olmadi va natijada olingan ombor hajmi o'zgarishlar hajmiga (ya'ni, barcha 18 Gb) teng bo'lib chiqdi, ammo zaxira uchun ishonchsiz serverdan foydalanish imkoniyati aniq. bu xatti-harakatni qamrab oladi.

Ikki nusxadagi test

Ushbu dastur C# tilida yozilgan va Mono kutubxonalari to'plamidan foydalangan holda ishlaydi. GUI va CLI versiyasi mavjud.

Asosiy xususiyatlarning taxminiy ro'yxati ikkilanishga o'xshaydi, shu jumladan turli xil zaxira saqlash provayderlari, biroq ikkilikdan farqli o'laroq, aksariyat xususiyatlar uchinchi tomon vositalarisiz mavjud. Buning ortiqcha yoki minus bo'lishi muayyan holatga bog'liq, ammo yangi boshlanuvchilar uchun python uchun qo'shimcha paketlarni o'rnatishdan ko'ra bir vaqtning o'zida barcha xususiyatlar ro'yxatiga ega bo'lish osonroq bo'ladi. ish ikkiyuzlamachilik bilan.

Yana bir kichik nuance - dastur zaxiralashni boshlagan foydalanuvchi nomidan mahalliy sqlite ma'lumotlar bazasini faol ravishda yozadi, shuning uchun cli yordamida har safar jarayon boshlanganda kerakli ma'lumotlar bazasi to'g'ri ko'rsatilishiga qo'shimcha ishonch hosil qilishingiz kerak. GUI yoki WEBGUI orqali ishlaganda, tafsilotlar foydalanuvchidan yashiriladi.

Keling, ushbu yechim qanday ko'rsatkichlarni keltirib chiqarishi mumkinligini ko'rib chiqaylik:

Agar siz shifrlashni o'chirsangiz (va WEBGUI buni tavsiya etmasa), natijalar quyidagicha bo'ladi:

Zaxira 3-qism: Ikkilik, dublikatlarni ko'rib chiqish va sinovdan o'tkazish

Ish vaqti:

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

20m43s
20m13s
20m28s

5m21s
5m40s
5m35s

7m36s
7m54s
7m49s

Shifrlash yoqilgan bo'lsa, aes yordamida u quyidagicha ko'rinadi:

Zaxira 3-qism: Ikkilik, dublikatlarni ko'rib chiqish va sinovdan o'tkazish

Ish vaqti:

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

29m9s
30m1s
29m54s

5m29s
6m2s
5m54s

8m44s
9m12s
9m1s

Va agar siz gnupg tashqi dasturidan foydalansangiz, quyidagi natijalar chiqadi:

Zaxira 3-qism: Ikkilik, dublikatlarni ko'rib chiqish va sinovdan o'tkazish

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

26m6s
26m35s
26m17s

5m20s
5m48s
5m40s

8m12s
8m42s
8m15s

Ko'rib turganingizdek, dastur bir nechta mavzularda ishlashi mumkin, ammo bu uni samaraliroq hal qilmaydi va agar siz shifrlash ishini taqqoslasangiz, u tashqi dasturni ishga tushiradi.
Mono to'plamidagi kutubxonadan foydalanishdan ko'ra tezroq bo'lib chiqdi. Bu tashqi dasturning yanada optimallashtirilganligi bilan bog'liq bo'lishi mumkin.

Yana bir yoqimli narsa shundaki, omborning o'lchami haqiqiy o'zgartirilgan ma'lumotlarga teng darajada oladi, ya'ni. duplicati katalog nomini o'zgartirishni aniqladi va bu vaziyatni to'g'ri hal qildi. Buni ikkinchi sinovni o'tkazishda ko'rish mumkin.

Umuman olganda, dasturning ijobiy taassurotlari, shu jumladan yangi boshlanuvchilar uchun juda do'stona munosabat.

Natijalar

Ikkala nomzod ham juda sekin ishladilar, lekin umuman olganda, oddiy tar bilan solishtirganda, hech bo'lmaganda dublikat bilan solishtirganda, taraqqiyot bor. Bunday taraqqiyotning narxi ham aniq - sezilarli yuk
protsessor. Umuman olganda, natijalarni bashorat qilishda alohida og'ishlar yo'q.

topilmalar

Agar biror joyga shoshilishning hojati bo'lmasa, shuningdek, zaxira protsessorga ega bo'lsangiz, ko'rib chiqilgan echimlarning har biri yordam beradi, har qanday holatda, tar ustiga o'rash skriptlarini yozish orqali takrorlanmaslik kerak bo'lgan juda ko'p ish qilingan. . Zaxira nusxalarini saqlash serveriga to'liq ishonish mumkin bo'lmasa, shifrlashning mavjudligi juda zarur xususiyatdir.

Yechimlarga asoslangan echimlar bilan solishtirganda rsync - sof shaklda tar rsync-ga qaraganda 20-30% tezroq ishlaganiga qaramay, ishlash bir necha barobar yomonroq bo'lishi mumkin.
Ombor hajmi bo'yicha tejamkorlik mavjud, ammo faqat dublikat bilan.

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: Ko'rib chiqish va ikkilanish, dublikat, deja dupni tekshirish
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