
تناقش هذه المقالة أدوات برامج النسخ الاحتياطي التي ، بتقسيم دفق البيانات إلى مكونات منفصلة (قطع) ، تشكل مستودعًا.
يمكن أيضًا تخزين مكونات المستودع وتشفيرها ، والأهم من ذلك - مع عمليات النسخ الاحتياطي المتكررة - إعادة استخدامها مرة أخرى.
النسخ الاحتياطي في مستودع مماثل هو سلسلة مسماة من المكونات ذات الصلة ، على سبيل المثال ، بناءً على وظائف التجزئة المختلفة.
هناك العديد من الحلول المشابهة ، سأركز على 3: zbackup ، borgbackup و restic.
النتائج المتوقعة
نظرًا لأن جميع المتقدمين بطريقة أو بأخرى يتطلبون إنشاء مستودع ، فإن أحد أهم العوامل هو تقييم حجم المستودع. في الحالة المثالية ، يجب ألا يزيد حجمها عن 13 غيغابايت وفقًا للمنهجية المقبولة ، أو حتى أقل - يخضع للتحسين الجيد.
من المرغوب فيه أيضًا أن تكون قادرًا على نسخ الملفات احتياطيًا مباشرةً دون استخدام محفوظات tar ، بالإضافة إلى العمل مع ssh / sftp دون أدوات إضافية مثل rsync و sshfs.
سلوك النسخ الاحتياطي:
- سيكون حجم المستودع مساوياً لحجم التغييرات ، أو أقل.
- من المتوقع حدوث حمل كبير للمعالج عند استخدام الضغط و / أو التشفير ، ومن المحتمل أن يكون هناك حمل كبير على الشبكة ونظام القرص الفرعي إذا كانت عملية الأرشفة و / أو التشفير ستعمل على خادم التخزين الاحتياطي.
- في حالة تلف مستودع التخزين ، فمن المحتمل حدوث خطأ مؤجل عند إنشاء نسخ احتياطية جديدة ، وعند محاولة الاستعادة. من الضروري تخطيط تدابير إضافية لضمان سلامة المستودع أو استخدام الوسائل المدمجة للتحقق من سلامته.
يتم قبول العمل باستخدام tar كقيمة مرجعية ، كما هو موضح في إحدى المقالات السابقة.
اختبار Zbackup
تتمثل الآلية العامة لعملية zbackup في أن يجد البرنامج مناطق تحتوي على نفس البيانات في دفق البيانات المتوفرة عند الإدخال ، ثم يقوم بضغطها وتشفيرها اختياريًا ، مع توفير كل منطقة مرة واحدة فقط.
بالنسبة لإلغاء البيانات المكررة ، يتم استخدام دالة تجزئة الحلقة 64 بت مع نافذة انزلاقية للتحقق من تزامنها مع كتل البيانات الحالية (على غرار كيفية تنفيذها في rsync).
للضغط ، يتم استخدام lzma و lzo في التنفيذ متعدد الخيوط ، وللتشفير - aes. في أحدث الإصدارات ، هناك فرصة في المستقبل لحذف البيانات القديمة من المستودع.
يتم كتابة البرنامج في C ++ مع الحد الأدنى من التبعيات. يبدو أن المؤلف كان مستوحى من طريقة أحادية الاتجاه ، وبالتالي فإن البرنامج يتلقى البيانات على stdin عند إنشاء نسخ احتياطية ، وإعطاء دفق البيانات مماثلة ل stdout عند استعادة. وبالتالي ، يمكن استخدام zbackup "لبنة" جيدة جدًا عند كتابة حلول النسخ الاحتياطي الخاصة بك. على سبيل المثال ، مؤلف المقال ، هذا البرنامج هو أداة النسخ الاحتياطي الرئيسية للأجهزة المنزلية منذ عام 2014 تقريبًا.
سيتم استخدام القطران العادي كدفق بيانات ، ما لم ينص على خلاف ذلك.
دعونا نرى ما ستكون النتائج:تم التحقق من العمل في نسختين:
- يتم إنشاء مستودع التخزين ويتم تشغيل zbackup على الخادم باستخدام البيانات المصدر ، ثم يتم نقل محتويات المستودع إلى خادم التخزين الاحتياطي.
- يتم إنشاء مستودع على خادم تخزين النسخ الاحتياطي ، ويتم إطلاق zbackup عبر ssh على خادم تخزين النسخ الاحتياطي ، ويتم تقديم البيانات إليه عبر الأنابيب.
كانت نتائج الخيار الأول كما يلي: 43m11s - عند استخدام مستودع غير مشفر وضاغط lzma ، 19m13s - عند استبدال الضاغط بـ lzo.
كان الحمل على الخادم مع البيانات المصدر كما يلي (يتم عرض المثال مع lzma ، مع وجود lzo في نفس الصورة تقريبًا ، ولكن نسبة rsync كانت تقارب ربع الوقت):

من الواضح أن عملية النسخ الاحتياطي هذه مناسبة فقط للتغييرات النادرة والصغيرة نسبيًا. من المرغوب فيه أيضًا قصر عملية zbackup على مؤشر ترابط واحد ، وإلا سيكون هناك حمل كبير للغاية على المعالج ، لأنه البرنامج جيد جدا في العمل في مواضيع متعددة. كان حمل القرص صغيرًا ، والذي ، بشكل عام ، مع وجود نظام فرعي حديث يستند إلى ssd ، لن يكون ملحوظًا. يمكنك أيضًا أن ترى بوضوح بداية عملية مزامنة بيانات المستودع إلى خادم بعيد ، والسرعة قابلة للمقارنة مع rsync العادية وتعتمد على أداء النظام الفرعي للقرص لخادم التخزين الاحتياطي. الجانب السلبي لهذا النهج هو تخزين المستودع المحلي ، وبالتالي ، ازدواجية البيانات.
أكثر إثارة للاهتمام وعملية في الممارسة العملية هو الخيار الثاني مع تشغيل zbackup على خادم التخزين الاحتياطي.
أولاً ، سوف نتحقق من العملية دون استخدام التشفير مع ضاغط lzma:

وقت التشغيل لكل اختبار التشغيل:
إذا قمت بتنشيط التشفير باستخدام AES ، فستكون النتائج قريبة جدًا:

وقت التشغيل على نفس البيانات ، مع التشفير:
إذا تم دمج التشفير مع الضغط على lzo ، فستكون النتيجة كما يلي:

وقت العمل:
كان حجم المستودع الناتج هو نفسه نسبيًا وبلغ 13 غيغابايت. هذا يعني أن إلغاء البيانات المكررة يعمل بشكل صحيح. أيضًا ، على البيانات المضغوطة بالفعل ، يعطي استخدام lzo تأثيرًا ملموسًا ، من حيث إجمالي وقت التشغيل ، يقترب zbackup عن كثب من التكرار / duplicati ، ومع ذلك ، فإنه يتخلف 2-5 مرات عن تلك المستندة إلى librsync.
فوائد واضحة - توفير مساحة القرص على خادم تخزين النسخ الاحتياطي. بالنسبة إلى أدوات التحقق من المستودع - لا يتم توفيرها بواسطة zbackup ، فمن المستحسن استخدام مصفوفة قرص آمنة من الفشل أو مزود سحابة.
بشكل عام ، انطباع جيد للغاية ، على الرغم من حقيقة أن المشروع حوالي 3 سنوات في مكان (طلب آخر ميزة كان منذ حوالي عام ، ولكن دون إجابة).
اختبار borgbackup
Borgbackup هو شوكة العلية ، ونظام تشبه zbackup آخر. هو مكتوب في بيثون ، يحتوي على قائمة من الميزات المشابهة لـ zbackup ، لكن بالإضافة إلى ذلك يعرف كيف:
- جبل النسخ الاحتياطي من خلال الصمامات
- تحقق من محتويات المستودع
- العمل في وضع خادم العميل
- استخدم ضواغط مختلفة للبيانات ، بالإضافة إلى التعريف الاستدلالي لنوع الملف عند ضغطه.
- 2 خيارات للتشفير ، AES وبليك
- المدمج في أداة ل
يتحقق الأداء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.94s)
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-SMALL 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 ثانية)
أثناء الاختبار ، سيتم استخدام الأساليب البحثية في الضغط مع تعريف نوع الملف (ضغط تلقائي) ، وستكون النتائج كما يلي:
أولاً ، تحقق من العملية دون تشفير:
وقت العمل:
إذا قمت بتمكين ترخيص مستودع التخزين (الوضع المصادق عليه) ، فستكون النتائج قريبة:

وقت العمل:
عند تنشيط التشفير aes ، لم تتدهور النتائج كثيرًا:

وإذا غيرت aes إلى بليك ، فإن الموقف سوف يتحسن بالكامل:

وقت العمل:
كما هو الحال في zbackup ، كان حجم المستودع 13 غيغابايت وحتى أقل قليلاً ، وهو أمر متوقع بشكل عام. لقد كان وقت العمل سعيدًا للغاية ، فهو قابل للمقارنة مع الحلول القائمة على librsync ، مما يوفر إمكانيات أوسع بكثير. لقد سررت أيضًا بالقدرة على تعيين معلمات متنوعة من خلال متغيرات البيئة ، مما يوفر ميزة خطيرة جدًا عند استخدام borgbackup في الوضع التلقائي. مسرور أيضًا بالتحميل أثناء النسخ الاحتياطي: إذا حكمنا من خلال تحميل المعالج - يعمل borgbackup في موضوع واحد.
لم تكن هناك سلبيات خاصة عند استخدام.
اختبار الراحة
على الرغم من حقيقة أن restic هو حل جديد إلى حد ما (يعرف أول اثنين من المرشحين منذ عام 2013 وما فوق) ، إلا أنه يتميز بخصائص جيدة للغاية. مكتوب في الذهاب.
عند مقارنتها بـ zbackup ، فإنها تعطي أيضًا:
- التحقق من سلامة المستودع (بما في ذلك التحقق في أجزاء).
- قائمة ضخمة من البروتوكولات المدعومة وموفري تخزين النسخ الاحتياطية ، بالإضافة إلى دعم rclone - rsync للحلول السحابية.
- مقارنة بين النسخ الاحتياطية 2 فيما بينها.
- تركيب المستودع عن طريق الصمامات.
بشكل عام ، قائمة الاحتمالات قريبة جدًا من borgbackup ، في بعض الأماكن أكثر ، وفي بعض الأماكن أقل. من الميزات - عدم القدرة على تعطيل التشفير ، وبالتالي ، سيتم دائمًا تشفير النسخ الاحتياطية. دعونا نرى في الممارسة العملية ما يمكنك الضغط عليه من هذا البرنامج:
النتائج هي كما يلي:
وقت العمل:
النتائج قابلة للمقارنة أيضًا مع الحلول المستندة إلى rsync ، وبصفة عامة ، تكون قريبة جدًا من borgbackup ، لكن حمل المعالج أعلى (تعمل عدة مؤشرات ترابط) ونشارة المنشار.
على الأرجح ، يعتمد البرنامج على أداء النظام الفرعي للقرص على خادم التخزين ، كما كان مع rsync. كان حجم المستودع 13 غيغابايت ، تمامًا مثل zbackup أو borgbackup ، لم يكن هناك أي سلبيات واضحة عند استخدام هذا الحل.
النتائج
في الواقع ، حصل جميع المرشحين على مؤشرات قريبة ، ولكن بسعر مختلف. لقد أثبت Borgbackup أنه الأفضل ، أبطأ قليلاً - مرتاح ، zbackup ، ربما لا ينبغي أن تبدأ في التقدم ،
وإذا كان قيد الاستخدام بالفعل ، فحاول التغيير إلى borgbackup أو restic.
النتائج
الحل الواعد هو المضطرب ، كما إنه من يملك أفضل نسبة من القدرات للسرعة ، لكن الآن لن نتسرع في التوصل إلى استنتاجات عامة.
Borgbackup ، من حيث المبدأ ، ليس أسوأ ، ولكن zbackup من الأفضل أن تحل محل. ومع ذلك ، لضمان عمل القاعدة 3-2-1 ، لا يزال من الممكن استخدام zbackup. على سبيل المثال ، بالإضافة إلى أدوات النسخ الاحتياطي القائمة على (lib) rsync.
إعلان
النسخ الاحتياطي ، الجزء 1: لماذا تحتاج إلى نسخة احتياطية ، لمحة عامة عن الأساليب والتقنيات
النسخ الاحتياطي ، الجزء 2: نظرة عامة واختبار أدوات النسخ الاحتياطي المستندة إلى rsync
النسخ الاحتياطي ، الجزء 3: نظرة عامة واختبار التكرار ، النسخ
النسخ الاحتياطي ، الجزء 4: نظرة عامة واختبار zbackup ، restic ، borgbackup
النسخ الاحتياطي ، الجزء 5: اختبار Bacula و Veeam Backup لنظام التشغيل Linux
النسخ الاحتياطي: الجزء المطلوب من القراء: مراجعة أماندا ، UrBackup ، BackupPC
النسخ الاحتياطي ، الجزء 6: مقارنة أدوات النسخ الاحتياطي
النسخ الاحتياطي الجزء 7: الاستنتاجات
أرسلت بواسطة فينيكس