النسخ خارج الموقع والتعافي¶
تحميك النسخ الاحتياطية المحلية من حاوية مفقودة أو تحديث سيئ. أما النسخ خارج الموقع وحقيبة استعادة مُختبَرة فتحميانك من فقدان الجهاز بأكمله، أو برامج الفدية، أو حريق. تغطي هذه الصفحة النسخ خارج الموقع، وجعل تلك النسخة مقاومة للعبث، وإثبات قدرتك على الاستعادة، والتعافي عندما يختفي BombVault نفسه.
النسخ خارج الموقع¶
احتفظ بالنسخة المحلية السريعة وأضف نسخة متماثلة أو أكثر خارج الموقع. اضبط مستودعاً لكل نطاق في تبويب Settings, Off-site. ينسخ BombVault اللقطات الجديدة هناك بـ restic copy على أساس بذل أفضل جهد، فعثرة خارج الموقع لا تُفشل النسخة المحلية أبداً. يبقى المستودع المحلي أساسياً.
- أهداف متعددة خارج الموقع لكل نطاق. يمكن لكل نطاق (الحاويات، الـ VMs، الفلاش، الإعدادات ومجموعات الملفات) النسخ إلى عدة وجهات خارج الموقع في آن واحد، لا وجهة واحدة فقط، فيمكنك مثلاً الاحتفاظ بخادم rest-server على جهاز صديق وحاوية S3 بالتوازي. أضف أهدافاً إضافية في الإعدادات، Off-site، لكلٍّ مستودعه الخاص وفئة تخزين S3 وعلامة append-only واحتفاظ وميزانية نمو. يُنقَل إعداد خارج الموقع واحد موجود دون مساس بوصفه الهدف الأول، ويُنسَخ كل هدف لنطاقٍ ما وفق جدول ذلك النطاق خارج الموقع.
- جدول زمني خارج الموقع لكل نطاق (يُحرَّر إلى جانب كل جدول آخر في الإعدادات، Schedules): اتركه فارغاً للنسخ بعد كل نسخة احتياطية محلية، أو اضبط وتيرة (مثلاً
weekly Sun 03:00) للإرسال خارج الموقع أقل مما تنسخ احتياطياً محلياً. يغطي زر Replicate now عمليات التشغيل عند الطلب. - الاحتفاظ خارج الموقع يعيش في الإعدادات، Off-site حتى تحتفظ بالنسخ خارج الموقع أطول كأرشيف. اترك السياسة كلها صفراً لعدم تقليم اللقطات خارج الموقع تلقائياً أبداً.
- حدود النطاق (الإعدادات، Off-site) تحُدّ معدل رفع/تنزيل restic حتى لا يُشبع النسخ شبكة WAN لديك.
- يُظهر مؤشر النسخ أي نطاق يُنسَخ أثناء تشغيله (في صفحته وفي لوحة التحكم). إنه مؤشر نشاط، لا شريط نسبة مئوية، لأن
restic copyلا يكشف تقدماً قابلاً للقراءة آلياً.
الاستعادة مباشرة من خارج الموقع
لكل متصفح نسخ احتياطية مفتاح Local / Off-site، فإذا فُقد مستودع محلي أو تلف يمكنك سرد النسخ والاستعادة مباشرة من النسخة المتماثلة خارج الموقع. الحذف لكل مصدر: إزالة نسخة احتياطية تؤثر فقط على النسخة التي تعرضها.
نسخة خارج الموقع غير قابلة للتغيير (append-only)¶
علّم مستودعاً خارج الموقع بأنه append-only حتى لا تستطيع برامج الفدية، أو مضيف مخترَق، حذف نسخك الاحتياطية أو إعادة كتابتها. يفرض ذلك الطرفُ البعيد (خادم restic/rest-server يعمل في وضع --append-only). ولا يفعل BombVault سوى التحقق منه، ولا يُظهر الأخضر بناءً على مجرد ادعاء إعداد.
يرشدك معالج الإعداد الموجَّه لخارج الموقع من اختيار الخلفية (rest-server / rclone / S3) عبر مقتطف نشر rest-server جاهز للّصق، واختبار اتصال، ومفتاح عدم القابلية للتغيير (الذي يشغّل اختبار العبث فوراً)، واستراتيجية احتفاظ، فيكون خارج الموقع append-only قابلاً للوصول دون تحرير الإعدادات يدوياً.
المستودعات غير القابلة للتغيير لا تُقلَّم أبداً من هذا الجهاز
نسخة خارج الموقع غير قابلة للتغيير لا تُقلِّم اللقطات القديمة عمداً أبداً. اضبط لها إنذار ميزانية نمو حتى تُنبَّه قبل أن ينفلت حجم المستودع.
اختبار العبث¶
يثبت BombVault دورياً ضمانة append-only بمحاولة حذف فعلية على المستودع خارج الموقع، موجَّهة إلى كائن غير موجود:
- الرفض يعني محميّاً.
- القبول يعني غير محميّ.
- النتيجة غير الحاسمة (الخادم غير قابل للوصول، خطأ مصادقة) لا تقلب الحكم المخزَّن أبداً.
انقلاب حقيقي من محميّ إلى غير محميّ يُطلق تنبيهاً واحداً.
تمارين التعافي من الكوارث¶
يقدّم BombVault مستويين من إثبات أن نسخك الاحتياطية قابلة للاستعادة فعلاً، لا مجرد موجودة.
- تمارين التحقق من الاستعادة (محلي). يشغّل BombVault دورياً
restic check --read-data-subset(محدودة، وليست استعادة كاملة تملأ القرص أبداً) ويُظهر شارة آخر تحقق من قابلية الاستعادة لكل نطاق. تعيش الوتيرة في الإعدادات، Schedules؛ والشارة في الإعدادات، Integrity. - تمارين التعافي من الكوارث (خارج الموقع). يستعيد BombVault هدفاً حقيقياً من المستودع خارج الموقع إلى بيئة اختبار قابلة للتخلص، ويتحقق منه ملفاً بملف وبايتاً ببايت، ثم ينظّف. يثبت هذا قدرتك على التعافي من خارج الموقع، لا مجرد أن المستودع يستجيب.
تجمع بطاقة تقييم الحماية من برامج الفدية في لوحة التحكم هذا في وضعية خضراء / كهرمانية / حمراء لكل نطاق، مع قائمة تحقق مؤرَّخة العمر (خارج الموقع مُعَدّ، append-only مُتحقَّق منه، النسخ حديث، تمرين الاستعادة نجح، التشفير مفعَّل، استراتيجية التقليم مضبوطة). يرتبط كل صف أحمر مباشرة بالإصلاح، ولا تتحول البطاقة إلى الأخضر إلا على حقائق مُتحقَّق منها.
لوحة تحكم المُستقبِل (الجانب المُستقبِل)¶
كل ما سبق هو الجانب المُرسِل. على الجهاز الذي يستقبل نسخاً غير قابلة للتغيير خارج الموقع من BombVault آخر، تمنحك لوحة تحكم المُستقبِل مراقبة مستقلة للقراءة فقط لتلك المستودعات على الجهاز المُستقبِل، فلا يمر فشل صامت في الطرف البعيد دون ملاحظة.
فعّل مفتاح Receiver في الإعدادات للكشف عن تبويب Receiver. إنه معطَّل افتراضياً؛ فعّله فقط على جهاز يستقبل فعلاً نسخاً غير قابلة للتغيير خارج الموقع. ثم سجّل مستودعاً مستقبَلاً (للقراءة فقط، مفتوحاً بمفتاح النسخة المُرسِلة) لتحصل على:
- جرد لقطات مجمَّع بحسب المصدر، فترى بالضبط أي حاويات وVMs ومجموعات ملفات وصلت.
- آخر استقبال لكل مصدر، فتعرف مدى حداثة كل واحد.
restic checkمستقل يُشغَّل على الجهاز المُستقبِل، فتُتحقَّق السلامة حيث تقع البيانات فعلاً، لا على المُرسِل فقط.- مفتاح رجل ميت: تنبيه عندما يتوقف مصدر عن الإرسال ضمن نافذة تحددها.
- تنبيهات السلامة: تنبيه عندما يفشل فحص على الجانب المُستقبِل.
المُستقبِل للقراءة فقط بصرامة. لا يكتب أبداً إلى المستودع المستقبَل، فلا يمكنه أبداً كسر ضمانة append-only التي يعتمد عليها المُرسِل.
التعافي الموجَّه¶
يرشد تبويب Recovery مخصَّص تثبيتاً جديداً أو مُعاد بناؤه عبر حالة الكارثة، في مكان واحد:
- يستعيد إعدادات BombVault الخاصة أولاً، فتأتي مسارات النسخ الاحتياطي والأهداف خارج الموقع وبيانات الاعتماد التي تحتاجها بقية السير معبّأة مسبقاً (تُطبَّق عبر إعادة تشغيل ذاتية على مقبس Docker، فلا تُكتَب البيانات فوق قاعدة بيانات الإعدادات الحية تحت مقبض مفتوح).
- يتحقق من أن BombVault يستطيع قراءة نسخك الاحتياطية (فخّ مفتاح التشفير مقدَّماً).
- يتيح لك التوجيه إلى مستودعك الموجود (محلي أو خارج الموقع).
- يكتشف الحاويات والـ VMs ومجموعات الملفات المخزَّنة فيه.
- يستعيدها كلها (متوقفة، فتشغّلها عمداً)، وحقيبة الاستعادة الخاصة بك على بُعد نقرة.
هجرة مخطَّطة مقابل كارثة
يستعيد التعافي الموجَّه إعدادات BombVault الخاصة من نسخة احتياطية. لانتقال مخطَّط إلى جهاز جديد، يمكنك بدلاً من ذلك نقل إعداداتك مباشرة ببطاقة تصدير الإعدادات واستيرادها (ملف JSON محمول). راجع الإعدادات.
الاستعادة من مستودع BombVault آخر¶
تفتح بطاقة منفصلة في تبويب Recovery مستودعَ نسخة BombVault مختلفة (مشاركة مركَّبة ضمن /mnt، أو رابط بعيد) باستخدام APP_KEY الخاص بتلك النسخة، في جلسة لمرة واحدة للقراءة فقط. تصفّح الحاويات والـ VMs ومجموعات الملفات المخزَّنة هناك، اختر لقطة واستعِدها، فيصبح الكائن المُستعاد حاوية أو VM أو مجموعة ملفات محلية عادية. لا يُكتَب شيء أبداً إلى المستودع الآخر، وتبقى إعدادات نسخك الاحتياطية دون مساس (تعيش الجلسة في الذاكرة وتنتهي صلاحيتها بنفسها). لم يعد نقل حاوية من الخادم A إلى الخادم B يعني إعادة توجيه إعدادات مستودعك وعكسها بعد ذلك. أما اتحاد الخادم إلى الخادم الحي فخارج النطاق صراحةً؛ هذا سحب لمرة واحدة عن قصد.
حقيبة استعادة مفتاح التشفير¶
هذا هو الجزء الذي يجعل التعافي من الكوارث ممكناً حتى عندما لا يوجد BombVault يعمل.
تنزّل نقرة واحدة المفتاح الرئيسي، وكلمة مرور restic المشتقة، ومواقع المستودعات وأوامرها بالضبط، فيمكنك الاستعادة مباشرة بأداة restic على سطر الأوامر على أي جهاز. يظل تذكير في لوحة التحكم يلحّ حتى تخزّنها.
خزّن حقيبة الاستعادة خارج الخادم
تحتوي الحقيبة على السر الذي يفك تشفير نسخك الاحتياطية. احفظها في مكان آمن ومنفصل عن الخادم (مدير كلمات مرور، نسخة مطبوعة في خزنة). إذا فقدت كلاً من BombVault وAPP_KEY دون حقيبة استعادة، فلا يمكن استرداد نسخك الاحتياطية المشفّرة.
لأن تعريفات الاستعادة تعيش داخل كل مستودع (<repo>/def، <repo>/vm-def)، يكون مجلد مستودع منسوخ مكتفياً ذاتياً بالكامل، فالحقيبة مع المستودع هما كل ما تحتاجه استعادة من الصفر.