سير عملسير عمل جاهز

سير عمل اختبار استعادة النسخ الاحتياطية والتعافي من الكوارث (DR Drill) بقياس RTO وRPO في بيئة معزولة

سير عمل تنفيذي (runbook) يتحقق استباقيًا من قدرتك الفعلية على التعافي من فقدان البيانات، مبني على مبدأ صارم: «النسخة التي لم تُستعَد قط ليست نسخة احتياطية». كثير من الفرق تملك نسخًا احتياطية تعمل جدولتها بنجاح لكنها لا تُستعاد أبدًا، فتُكتشف فسادها أو نقصها أو بطء استعادتها وقت الكارثة حين يكون الأوان قد فات. يعالج هذا السير ذلك بتمرين استعادة حقيقي: يستعيد بيانات الإنتاج من النسخة الاحتياطية إلى بيئة معزولة تمامًا، ويتحقق من سلامتها بأدلة فعلية، ويقيس زمن الاستعادة الفعلي (RTO) ونافذة فقدان البيانات الفعلية (RPO) ويقارنهما بالأهداف المتفق عليها، ثم يوثّق كل فجوة بإجراء إصلاحي. يختلف هذا السير جوهريًا عن غيره في السوق ولا يكرّره: فهو ليس «سير الاستجابة لحادثة إنتاج وكتابة تقرير ما بعد الحادثة» الذي يبدأ تفاعليًا بعد عطل قائم ويشخّص سببه الجذري، بينما هذا السير استباقي يتمرّن على الاستعادة قبل وقوع أي كارثة. وهو ليس «سير ترحيل قاعدة البيانات بدون توقف» الذي يغيّر بنية المخطط بنمط التوسيع ثم الانكماش، بينما هذا يستعيد بيانات قائمة كما هي دون تغيير بنيتها. وهو ليس «سير تدوير الأسرار» الذي يبدّل مفتاحًا حيًّا، ولا «مهارة إزالة سر مسرّب من تاريخ Git» التي تطهّر سجلّ الشيفرة — بل هدفه الوحيد إثبات أن النسخة الاحتياطية قابلة للاستعادة فعلًا ضمن أهداف زمنية محددة. يغطّي السير أنواع الاستعادة الشائعة: استعادة كاملة لقاعدة بيانات، استعادة جزئية لجدول أو مخطط، واستعادة عند نقطة زمنية (Point-in-Time). ويفرض قواعد تشغيل صارمة: التحقق أولًا من وجود نسخة فعلية مشفّرة تغطي النطاق وعمرها ضمن حدّ RPO (نسخة أقدم من RPO = فجوة حرجة)، والاستعادة إلى بيئة معزولة لا تمسّ الإنتاج تحت أي ظرف، وبدء عدّاد زمني لقياس RTO الحقيقي، وبوابة تحقق من سلامة البيانات (عدّ الصفوف، مطابقة checksums، التكامل المرجعي، واختبار دخان وظيفي يثبت أن التطبيق يقرأ البيانات المستعادة) قبل إعلان أي نجاح، وحساب RPO الفعلي من زمن أحدث بيان مُستعاد، ثم مقارنة المقيس بالهدف وتوثيق الفجوات. كما يتضمّن مسار طوارئ لاستعادة حقيقية عند فقدان بيانات فعلي (لا مجرد تمرين). مناسب لمهندسي DevOps وSRE والـ Backend ومسؤولي قواعد البيانات الذين يريدون تحويل «لدينا نسخ احتياطية» إلى ثقة مثبتة بأرقام، وقابل للتحويل إلى checklist أو runbook دوري داخل Claude Code وCursor وCodex، ويعمل مع PostgreSQL وMySQL وMongoDB وأنظمة الملفات والنسخ السحابية.

تقرير تمرين تعافٍ عربي منظّم وقابل للتطبيق: ملخص الخطر (لماذا لا يكفي نجاح جدولة النسخ)، جدول مراحل (المرحلة، الإجراء التقني الدقيق، نقطة التحقق، خطوة التراجع)، خطة التحقق من سلامة البيانات قبل إعلان النجاح، قياس RTO الفعلي (حتى الجاهزية) وRPO الفعلي (زمن أحدث بيان مُستعاد) ومقارنتهما بالهدفين مع تحديد الفجوات وإجراءاتها، ثم قرار الإتمام ومعياره ومسار الطوارئ عند فقدان بيانات فعلي — كله مبني على أدلة استعادة حقيقية في بيئة معزولة، دون مسّ الإنتاج ودون إعلان نجاح بلا تحقق ودون طباعة بيانات حساسة.

ClaudeChatGPTGeminiClaude CodeCursorCodexexecution systemdisaster recoverybackup verificationrunbook
معاينة ناتج: سير عمل اختبار استعادة النسخ الاحتياطية والتعافي من الكوارث (DR Drill) بقياس RTO وRPO في بيئة معزولة

الشكل المتوقع للناتج

مثال — تمرين دوري لقاعدة إنتاج PostgreSQL، نسخ يومية عبر pg_dump على S3 مشفّرة، هدف RTO ≤ 60 دقيقة وRPO ≤ 24 ساعة، بيئة استعادة معزولة، استعادة كاملة: ملخص الخطر: نجاح مهمة النسخ الليلية لا يثبت أن النسخة قابلة للاستعادة؛ قد تكون تالفة أو ناقصة أو بطيئة الاستعادة، ولا يُكتشف ذلك إلا وقت الكارثة. لذا نتمرّن على استعادة فعلية ونقيس RTO/RPO. | المرحلة | الإجراء التقني | نقطة التحقق | خطوة التراجع | |---|---|---|---| | النطاق والأهداف | كتابة RTO ≤ 60د وRPO ≤ 24س وتحديد القاعدة | الهدفان موثّقان | — | | جرد النسخ | تحديد أحدث نسخة سليمة تغطي القاعدة | نسخة عمرها 6 ساعات < RPO ✓ | إن أقدم من 24س: فجوة حرجة | | بيئة معزولة | createdb drill_restore على خادم اختبار | قاعدة معزولة لا تمسّ الإنتاج | حذف قاعدة التمرين | | الاستعادة + RTO | بدء العدّاد ثم pg_restore حتى الجاهزية | زمن الجاهزية مسجّل | إعادة المحاولة بنسخة أخرى | | تحقق السلامة | عدّ صفوف + checksums + تكامل مرجعي + اختبار دخان | كل الفحوص سليمة | إبقاء الحكم «فشل» | | RPO الفعلي | زمن أحدث بيان مُستعاد مقابل نقطة الكارثة | RPO محسوب فعليًا | — | | التوثيق والتنظيف | تسجيل النتائج، حذف بيانات التمرين، جدولة القادم | تقرير + موعد التمرين التالي | — | القياس والنتيجة: RTO الفعلي = 42 دقيقة (الهدف ≤ 60 → مطابق ✓). RPO الفعلي = 6 ساعات (الهدف ≤ 24 → مطابق ✓). فحوص السلامة: عدّ الصفوف مطابق، checksums مطابقة، التكامل المرجعي سليم، اختبار الدخان نجح (التطبيق قرأ الطلبات المستعادة). فجوة مكتشفة: النسخة تغطي القاعدة الرئيسية لكن جزء الأرشيف على خادم منفصل لم يُشمَل في مهمة النسخ منذ يومين → إجراء: توسيع مهمة النسخ لتغطية خادم الأرشيف وإضافة تنبيه فشل. معيار الإتمام: استُعيدت النسخة كاملة في بيئة معزولة، اجتازت كل فحوص السلامة، RTO وRPO ضمن الهدفين، ووُثّقت الفجوة الوحيدة بإجراء. الدَّين المتبقّي: تغطية خادم الأرشيف. (لو كان السبب فقدان بيانات فعليًا لَحُدِّدت نقطة استعادة بقرار صريح قبل التبديل للإنتاج مع إبلاغ نافذة التوقف.)

جاري تجهيز الوصول

نتحقق من حسابك الحالي قبل عرض نسخة الأمر الكاملة.