آلية blksnap المقترحة لإنشاء لقطات من أجهزة الحظر في Linux

اقترحت شركة Veeam ، التي تنتج برنامجًا للنسخ الاحتياطي واستعادة البيانات بعد الكوارث ، وحدة blksnap لتضمينها في Linux kernel مع تنفيذ آلية إنشاء لقطات من أجهزة الكتلة وتتبع التغييرات في أجهزة الحظر. للعمل مع اللقطات ، تم إعداد الأداة المساعدة لسطر الأوامر blksnap والمكتبة blksnap.so ، مما يتيح لك التفاعل مع وحدة kernel من خلال مكالمات ioctl من مساحة المستخدم.

الغرض من إنشاء الوحدة هو تنظيم النسخ الاحتياطي لمحركات الأقراص والأقراص الافتراضية دون إيقاف العمل - تتيح لك الوحدة التقاط الحالة الحالية لجهاز الحظر بالكامل في لقطة ، مما يوفر شريحة معزولة للنسخ الاحتياطي لا تعتمد على التغييرات الجارية . ميزة مهمة في blksnap هي القدرة على إنشاء لقطات في وقت واحد للعديد من أجهزة الحظر في وقت واحد ، مما لا يسمح فقط بضمان تكامل البيانات على مستوى جهاز الحظر ، ولكن أيضًا لتحقيق الاتساق في حالة أجهزة الكتلة المختلفة في النسخة الاحتياطية.

لتتبع التغييرات التي تم إجراؤها على النظام الفرعي لجهاز الحظر (bdev) ، تمت إضافة القدرة على إرفاق عوامل تصفية تسمح لك باعتراض طلبات الإدخال / الإخراج. يطبق blksnap عامل تصفية يعترض طلبات الكتابة ويقرأ القيمة القديمة ويحفظها في قائمة منفصلة من التغييرات التي تحدد حالة اللقطة. مع هذا النهج ، لا يتغير منطق العمل مع جهاز الكتلة ، ويتم التسجيل في جهاز الكتلة الأصلي كما هو ، بغض النظر عن اللقطات ، مما يلغي إمكانية تلف البيانات ويتجنب المشاكل حتى في حالة حدوث أخطاء فادحة غير متوقعة في blksnap وتجاوز المساحة المخصصة للتغييرات.

تتيح لك الوحدة أيضًا تحديد الكتل التي تم تغييرها بين اللقطة الأخيرة وأي لقطة سابقة ، مما قد يكون مفيدًا لتنفيذ النسخ الاحتياطية المتزايدة. لحفظ التغييرات ، بالنسبة إلى حالة اللقطة ، يمكن تخصيص نطاق عشوائي من القطاعات على أي جهاز حظر ، مما يسمح لك بحفظ التغييرات على الملفات المنفصلة داخل FS على أجهزة الحظر. يمكن زيادة حجم منطقة تخزين التغييرات في أي وقت ، حتى بعد إنشاء اللقطة.

يعتمد Blksnap على رمز الوحدة النمطية veeamsnap ، والتي تعد جزءًا من Veeam Agent لمنتج Linux ، ولكن أعيد تصميمها لتناسب تفاصيل التسليم في الجزء الرئيسي من Linux kernel. يتمثل الاختلاف المفاهيمي بين blksnap و veeamsnap في استخدام نظام من المرشحات المتصلة بجهاز كتلة ، بدلاً من مكون bdevfilter منفصل يعترض الإدخال / الإخراج.

المصدر: opennet.ru

إضافة تعليق