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:
- 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).
- 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.
- 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:
Bajarish vaqti 3m12s. Ko'rinib turibdiki, tezlik, misolda bo'lgani kabi, zaxira saqlash serverining disk quyi tizimi tomonidan cheklangan.
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:
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:
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:
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:
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
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
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:
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:
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:
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:
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
Ombor hajmi bo'yicha tejamkorlik mavjud, ammo faqat dublikat bilan.
E'lon
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