اختبار التعافي من الكوارث دون تأثير
نفّذ اختبار تجاوز فشل إلى شبكة معزولة للتحقق من خطة الاسترداد من البداية إلى النهاية، وقِس RTO الفعلي، ووثّق الفجوات لمعالجتها
اختبار التعافي من الكوارث دون تأثير درس مجاني في Azure Fundamentals على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Azure Fundamentals، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Azure Fundamentals 4 دروس في المجموع.
لماذا لا غنى عن اختبار التعافي من الكوارث
تظل خطة التعافي من الكوارث التي لم تُختبر قط مجرد فرضية. وتُظهر الخبرات الواقعية أن خطط التعافي من الكوارث تكشف كثيراً عن ثغرات — مثل انحراف التكوين، أو فقدان الأتمتة، أو تقادم أدلة التشغيل، أو استغراق بدء التشغيل وقتاً أطول من المتوقع — لا تظهر إلا في ظروف الاختبار. يُعد الاختبار المنتظم للتعافي من الكوارث الطريقة الوحيدة للتأكد من أن خطتك ستعمل عندما تكون في أمسّ الحاجة إليها.
ميزة تجاوز الفشل الاختباري
تُعد ميزة Test Failover المضمّنة في Azure Site Recovery ميزة تتيح لك محاكاة تجاوز الفشل إلى المنطقة الثانوية من دون مقاطعة بيئة الإنتاج. وأثناء تجاوز الفشل الاختباري، ينشئ ASR نسخاً من الأجهزة الافتراضية المنسوخة في شبكة ظاهرية معزولة في المنطقة الثانوية. وتستمر الأجهزة الافتراضية الخاصة بالإنتاج في العمل بشكل طبيعي في المنطقة الأساسية، لذلك لا يوجد خطر على المستخدمين الفعليين.
# Trigger a test failover for a recovery plan:
az site-recovery recovery-plan test-failover \
--resource-group myRG \
--vault-name myRecoveryVault \
--name myRecoveryPlan \
--failover-direction PrimaryToRecovery \
--network-id '/subscriptions/.../virtualNetworks/testFailoverVNet'عزل بيئة الاختبار
يجب ألا تتصل VNet المعزولة للاختبار بأنظمة الإنتاج. ويمنع ذلك أجهزة الاختبار الافتراضية من الكتابة عن طريق الخطأ في قاعدة بيانات الإنتاج، أو إرسال رسائل بريد إلكتروني إلى عملاء حقيقيين، أو تشغيل معاملات دفع. أنشئ test failover VNet مخصصة لا تحتوي على تناظر مع VNets الخاصة بالإنتاج ولا على وصول إلى الإنترنت، ثم استخدمها حصرياً لتدريبات التعافي من الكوارث.
# Create an isolated test VNet for DR drills:
az network vnet create \
--resource-group drRG \
--name testFailoverVNet \
--address-prefix 10.99.0.0/16 \
--subnet-name testSubnet \
--subnet-prefix 10.99.1.0/24
# NOTE: Do NOT peer this VNet to any production VNetما يجب التحقق منه أثناء اختبار التعافي من الكوارث
يجب أن يتحقق اختبار التعافي من الكوارث من مجموعة محددة من المعايير:
- وقت بدء التشغيل — هل تبدأ جميع الأجهزة الافتراضية ضمن الإطار الزمني المتوقع؟
- بدء تشغيل التطبيق — هل تتم تهيئة التطبيق بشكل صحيح عند اتصاله بقاعدة البيانات المستردة؟
- تكامل البيانات — هل البيانات الموجودة عند نقطة الاسترداد متسقة وكاملة؟
- RTO الفعلي — قِس إجمالي الوقت المنقضي من تشغيل تجاوز الفشل حتى بدء التطبيق في معالجة الطلبات
- تنفيذ دليل التشغيل — هل اكتملت جميع نصوص الأتمتة البرمجية بنجاح؟
قياس RTO الفعلي
أثناء الاختبار، شغّل مؤقتاً لحظة تشغيل تجاوز الفشل الاختباري. وأوقف المؤقت عند التأكد من أن التطبيق يعمل بشكل سليم (تعيد عملية فحص صحة موازن التحميل الاستجابة 200 OK). هذا هو RTO الفعلي. قارنه بـ RTO المستهدف. إذا تجاوز الفعلي الهدف، فحدّد الاختناقات — مثل بطء بدء تشغيل الجهاز الافتراضي، أو طول مدة تهيئة قاعدة البيانات، أو تأخر انتشار DNS — ثم عالجها.
# During DR test, record timestamps:
# T0: Test failover triggered
# T1: All VMs in group 1 (database) running
# T2: All VMs in group 2 (app tier) running
# T3: All VMs in group 3 (web tier) running
# T4: Health probe returns 200 OK on all instances
# Actual RTO = T4 - T0
# Compare to target RTO, document any gapsالتحقق من البيانات عند نقطة الاسترداد
بعد اكتمال تجاوز الفشل الاختباري، اتصل بقاعدة البيانات المستردة وتحقق من البيانات. تأكد من وجود المعاملات التي تم الالتزام بها قبل حد التكرار، ومن معالجة المعاملات التي تم الالتزام بها جزئياً بشكل صحيح (إما التراجع عنها أو إكمالها). وبالنسبة إلى قواعد البيانات التي تدعم الاستعادة إلى نقطة زمنية (PITR)، اختبر الاستعادة إلى طابع زمني محدد وتحقق من حالة البيانات المتوقعة.
# Example data verification after test failover:
# 1. Connect to recovered database
# 2. Run: SELECT COUNT(*) FROM orders WHERE created_at > DATEADD(hour, -1, GETUTCDATE())
# 3. Compare count to production database count for the same window
# 4. Check for any orphaned records or constraint violationsالتنظيف بعد تجاوز الفشل الاختباري
عند اكتمال الاختبار، يجب تنظيف موارد تجاوز الفشل الاختباري — أي الأجهزة الافتراضية الاختبارية، وأقراصها، وواجهات الشبكة في المنطقة الثانوية. يوفر Azure Site Recovery إجراء 'Cleanup test failover' في المدخل، وهو يزيل جميع موارد الاختبار تلقائياً. يؤدي نسيان التنظيف إلى إهدار المال وازدحام المنطقة الثانوية بموارد قديمة.
# Trigger cleanup after test failover:
az site-recovery recovery-plan test-failover-cleanup \
--resource-group myRG \
--vault-name myRecoveryVault \
--name myRecoveryPlan \
--notes 'Test completed. RTO = 22 minutes. All checks passed.'توثيق نتائج اختبار التعافي من الكوارث
بعد كل اختبار للتعافي من الكوارث، اكتب تقرير اختبار يتضمن: تاريخ الاختبار ونطاقه، وRTO وRPO الفعليين المحققين، وقائمة تحقق بعناصر التحقق مع حالة النجاح أو الفشل، وأي ثغرات أو حالات فشل تمت ملاحظتها، والإجراءات التصحيحية المخطط لها. ويُعد هذا التقرير مهماً لعمليات تدقيق الامتثال (ISO 27001 وSOC 2 وHIPAA)، ولتتبع تطور نضج التعافي من الكوارث بمرور الوقت.
وتيرة اختبار التعافي من الكوارث
تتطلب أفضل ممارسات الصناعة وأطر الامتثال عادةً إجراء اختبارات للتعافي من الكوارث سنوياً على الأقل، لكن العديد من المؤسسات تختبر كل ثلاثة أشهر أو حتى شهرياً لأحمال العمل من المستوى 1. ويكشف الاختبار الأكثر تكراراً انحراف التكوين في وقت أبكر، ويبني ثقة الفريق وخبرته العملية. أتمت أكبر قدر ممكن من إعداد الاختبار والتحقق منه لتقليل الجهد اللازم لإجراء الاختبارات المتكررة.
Azure Chaos Studio لاختبار المرونة
إن Azure Chaos Studio خدمة مُدارة لهندسة الفوضى تتيح لك إدخال حالات فشل مضبوطة في موارد Azure لاختبار مرونة التطبيقات. يمكنك إيقاف تشغيل الأجهزة الافتراضية، أو إيقاف مناطق، أو خنق وحدة المعالجة المركزية، أو إدخال زمن انتقال للشبكة لمراقبة سلوك تطبيقك. وعلى خلاف تدريب التعافي من الكوارث التقليدي، تختبر هندسة الفوضى ما إذا كان تطبيقك يتدهور بسلاسة في ظروف الفشل الجزئي.
# Chaos Studio experiment: shut down a VM zone
# 1. Create a chaos experiment in the portal
# 2. Select fault: 'VM Shutdown'
# 3. Target: VMs in Zone 1
# 4. Duration: 10 minutes
# 5. Observe: Does Traffic Manager reroute to Zone 2?
# 6. Check: Application health during and after the faultدورة التحسين المستمر للتعافي من الكوارث
تكون قيمة اختبار التعافي من الكوارث أكبر عندما يكون جزءاً من دورة تحسين مستمر: خطّط ← نفّذ ← قِس ← عالج ← كرّر. بعد كل اختبار، عالج الثغرات التي اكتشفتها، وحدّث أدلة التشغيل والوثائق، ثم اختبر مرة أخرى. وبمرور الوقت، ينبغي أن تضيق الفجوة بين أهداف RTO/RPO المعلنة والقيم الفعلية المحققة، إلى أن تجتاز كل اختبار باستمرار ضمن حدود السماح.
تحقق سريع
اختبر مدى فهمك لمفاهيم Microsoft Azure Fundamentals (AZ-900) الواردة في هذا الدرس.
مراجعة الدرس
تعلمت في هذا الدرس أن تجاوز الفشل الاختباري يتيح محاكاة حدث تعافٍ من الكوارث دون مقاطعة بيئة الإنتاج، وذلك بإنشاء نسخ من الأجهزة الافتراضية في VNet معزولة؛ وأنه يجب قياس RTO الفعلي والتحقق من تكامل البيانات أثناء الاختبار؛ كما ينبغي تنظيف موارد الاختبار وتوثيق النتائج بعد كل تدريب. بعد ذلك، سنستكشف التعافي من الكوارث لخدمات PaaS، مثل Azure SQL Database.
الأسئلة الشائعة
هل درس «اختبار التعافي من الكوارث دون تأثير» مجاني؟
نعم — نص درس «اختبار التعافي من الكوارث دون تأثير» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Azure Fundamentals، انتقل إلى CoddyKit PRO. تتضمن دورة Azure Fundamentals 4 دروس في المجموع.
ماذا ستتعلم في «اختبار التعافي من الكوارث دون تأثير»؟
نفّذ اختبار تجاوز فشل إلى شبكة معزولة للتحقق من خطة الاسترداد من البداية إلى النهاية، وقِس RTO الفعلي، ووثّق الفجوات لمعالجتها تتمرن على Azure Fundamentals مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Azure Fundamentals؟
لا تُشترط خبرة سابقة. Azure Fundamentals على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «اختبار التعافي من الكوارث دون تأثير»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Azure Fundamentals هذا؟
نعم. كل درس في Azure Fundamentals يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تحديد RTO وRPO وطبقات الاسترداد
- خطط الاسترداد وتجاوز الفشل التلقائي
- اختبار التعافي من الكوارث دون تأثير
- التعافي من الكوارث لخدمات PaaS