Elasticsearch / المتقدم: استرجاع صامد وقابل للتعافي / الدرس 16
اللقطات والمستودعات وبرهان الاستعادة
احمِ حالة البحث التاريخية بلقطات مدعومة، وتحقق من التعافي بما يتجاوز نجاح حالة المهمة.
في هذه الصفحة
أهداف الدرس
- اشرح نطاق اللقطة وسلامة المستودع وتوافق الإصدارات.
- حدد تمرين استعادة معزولاً يتضمن فحوص التطبيق.
لا يحفظ التكرار كل حالة ماضية
تحسن الأجزاء المتماثلة الإتاحة، لكنها تعكس أيضاً الحذف العرضي والتحديث الخاطئ. تحفظ اللقطات المدعومة حالة فهرس قابلة للتعافي في مستودع خارج العنقود. ولا تعد نسخة من مجلدات بيانات Elasticsearch بديلاً مدعوماً لآلية اللقطات، حتى لو بدت الملفات مكتملة. حدد هدفي نقطة التعافي وزمن التعافي لمجموعة المقتنيات وأحداث الزيارة كلّاً على حدة. قد يمكن إعادة بناء فهرس مشتق من مصدر معتمد، بينما يحتاج تاريخ أحداث فريد إلى سياسة احتفاظ محمية خاصة به. سجل المسار الأساسي لكل فئة بيانات وكيف ستثبت اكتماله.
اختر نطاق البيانات وحالة العنقود صراحة
يختار جسم اللقطة التوضيحي نمط فهارس اصطناعياً ويستبعد الحالة العامة. هذا نطاق جزئي عمداً؛ وقد تحتاج القوالب وخطوط المعالجة والسياسات وحالة ميزات الأمن إلى قرارات إدراج مستقلة أو استعادة تكوين منفصلة. في 8.x تمثل feature states المسار المدعوم لنسخ فهارس النظام وتدفقاته واستعادتها. لا تُعرض لقطة بيانات فقط بوصفها تعافياً كاملاً للنشر. وتشمل لقطة الفهرس أسماءه البديلة وفق السلوك الموثق؛ لذا يجب أن تراجع خطة الاستعادة هل تُعاد هذه الأسماء إلى البيئة المستهدفة. لا يُنشأ هنا مستودع أو لقطة.
{"indices":"museum-artifacts-*","include_global_state":false,"metadata":{"purpose":"synthetic catalog recovery review"}}
هذا جسم طلب لقطة توضيحي لمستودع معتمد مسبقاً. لا يحمي تكوين العنقود المستبعد، ولا يثبت وجود لقطة فعلية.
للقطة فترة زمنية وقطع تخزين مشتركة
تنسخ اللقطات مقاطع تخزين ثابتة، ويمكنها إزالة التكرار بين البيانات المشتركة. قد تعتمد كل لقطة منطقية على ملفات مستودع تشير إليها لقطات أخرى أيضاً؛ فلا تعدل كائنات المستودع يدوياً ولا تحذف ملفات مقاطع تبدو قديمة. استخدم عمليات المستودع المدعومة وفق سياسة احتفاظ معتمدة. لا تمثل اللقطة لحظة عالمية واحدة دقيقة لكل الأجزاء؛ بل تقع صورة بيانات كل جزء بين بداية اللقطة ونهايتها. إذا احتاجت مطابقة الأعمال إلى نقطة مصدر منسقة أقوى، فحدد بروتوكولها مستقلاً. ولا تلغي بيانات النسخ الوصفية الناجحة الحاجة إلى فحص قابلية قراءة التخزين وتوافق الاستعادة.
لا تفترض الاستعادة مسار خفض إصدار
يتأثر التوافق بإصدار اللقطة وإصدار العنقود المستهدف وإصدار إنشاء الفهرس جميعاً. لا يمكن عموماً استعادة لقطة إلى إصدار Elasticsearch أقدم، وقد تحتاج صيغ الفهارس القديمة إلى استراتيجية وسيطة موثقة. ولا يمكن التراجع عن عنقود رُقي في موضعه بمجرد تشغيل ملفات تنفيذ أقدم على مجلد البيانات الذي تغير. احتفظ بلقطة مختبرة قبل التغيير ووجهة تعافٍ مستقلة متوافقة. وتختلف مسؤوليات النسخ والاستعادة بين Cloud Hosted وServerless؛ فراجع إجراء الخدمة المحددة بدلاً من اعتبار مثال مستودع نشر ذاتي إدارة قابلة للنقل.
أثبت قدرة التطبيق على استخدام المستعاد
تصف قائمة التحقق المحلية فئات الأدلة اللازمة لتمرين تعافٍ، لا تعافياً مكتملاً. يجب أن يتحقق اختبار معزول من هويات الفهارس المختارة وتعييناتها وأسمائها البديلة ومفاتيح مستندات ممثلة وأعدادها ونتائج بحث محكّمة. أكد توفر بيانات اعتماد التشغيل وتكوين خطوط المعالجة أو القوالب المطلوبة عبر مسارات تعافٍ معتمدة. قِس مدة التعافي، ووضح الاعتماديات الخارجية غير المشمولة. لا تستعد فوق فهرس إنتاج قائم كتجربة تعليمية عابرة. لا تصل الدورة إلى تخزين، ولا تتحقق من مستودع، ولا تنشئ أو تستعيد لقطة؛ وكل الطلبات غير قابلة للتشغيل، والفحوص المتوقعة متطلبات تحريرية.
{"scope":"synthetic isolated recovery checklist","verify":["index identities","mappings and aliases","representative document keys","source count reconciliation","runtime search permissions","judged query results"],"timing":"measure during an authorized rehearsal"}
هذا بيان تخطيط محلي، وليس مدخلاً لواجهة Elasticsearch ولا دليلاً على تنفيذ تعافٍ.
الأخطاء الشائعة وإصلاحها
snapshot_missing_exception
- لماذا يحدث؟
- لا توجد اللقطة المسماة ضمن سياق المستودع المختار.
- كيف تصلحه؟
- تحقق من المستودع المعتمد وهوية اللقطة وأدلة الاحتفاظ.
- كيف تتجنب تكراره؟
- احفظ جرداً قابلاً للاستعادة يبين النطاق وإصدار الإنشاء.
تُحذف ملفات المستودع خارج Elasticsearch
- لماذا يحدث؟
- عوملت مقاطع اللقطات المشتركة كأنها ملفات مستقلة يمكن التخلص منها.
- كيف تصلحه؟
- أوقف التعديل غير المدعوم، واتبع إجراء المالك لتعافي المستودع.
- كيف تتجنب تكراره؟
- استخدم سياسة الاحتفاظ باللقطات المدعومة، لا تنظيف الكائنات يدوياً.
لا تستطيع لقطة البيانات إعادة تكوين التطبيق
- لماذا يحدث؟
- استبعد النطاق المختار حالة مطلوبة وتكويناً خارجياً.
- كيف تصلحه؟
- اجرد الاعتماديات الغائبة واحمها صراحة.
- كيف تتجنب تكراره؟
- اختبر تعافي الخدمة كاملة بصورة مستقلة عن نجاح مهمة اللقطة.
اختبر فهمك
1. لماذا لا يؤمن حذف كائن مقطع يبدو قديماً من المستودع؟
اعرض الحل المشروح
قد تشير لقطات منطقية متعددة إلى مقاطع ثابتة مشتركة. وقد يفسد الحذف اليدوي القدرة على التعافي من لقطات أخرى غير التي قصد المشغّل إزالتها. استخدم حذف اللقطات والاحتفاظ المدعومين، وتحقق من جرد الحالات القابلة للتعافي الناتج عبر الإجراء المعتمد.
2. هل تثبت لقطة ناجحة مع include_global_state:false القدرة على استعادة النشر كاملاً؟
اعرض الحل المشروح
لا. تحمي نطاق البيانات المختار، وقد تستبعد قوالب أو خطوط معالجة أو سياسات أو حالات ميزات مطلوبة. كما أن لتكوين العقد والتكوين الخارجي متطلبات تعافٍ خاصة. تمرن على استعادة متوافقة ومعزولة، وتحقق من عمل التطبيق بحساب تشغيله، لا من حالة اللقطة فقط.
أهم ما تعلمته
- يجب أن يطابق نطاق اللقطة سيناريو تعافٍ محدداً.
- سلامة المستودع والاستعادة المعزولة جزء من أدلة النسخ الاحتياطي.