Docker / أدلة البناء وعمليات الإنتاج / الدرس 18
عمليات الإنتاج والبيانات الدائمة والتعافي
ابن عقد تشغيل للملكية والتعافي والترقيات والأدلة بدلاً من الاعتماد على دوام الحاوية.
في هذه الصفحة
أهداف الدرس
- حدد ملكية البيانات واتساق النسخ وهدفي نقطة وزمن التعافي.
- راجع الإصدار والسعة والمراقبة والاستعادة دون نشر.
يحتاج كل مورد دائم إلى مالك
تحدد الخطة ملاك التطبيق والمحرك والمضيف والتخزين والنسخ وسلطة الحادثة. تسهل الحاوية استبدال العملية ولا تعين المسؤوليات. احصر الصور والإعداد والشهادات والأسرار والوحدات والقواعد والسجل، وميّز الأصل وما يولد وما يستعاد معاً. لا يثبت بقاء الوحدة إمكان استعادة حالة العمل الصحيحة.
افصل دورة العملية والبيانات
يوسع النموذج API بوحدة بيانات. لا يكتب المثال الحالي سجلات في /data فلا ندعي بيانات أو دواماً إنتاجياً. يحتاج التنفيذ ذو الحالة إلى تنسيق وملكية واتساق وتعاف. توضح الوحدة الخارجية الملكية وتشترط وجودها المعتمد؛ ولا ينبغي أن تختلق Compose سياستها.
name: parcel-lab
services:
api:
image: parcel-api:release-a
user: "10001:10001"
volumes:
- parcel-state:/data
stop_grace_period: 20s
volumes:
parcel-state:
external: true
name: parcel-state-reviewed
يشير المفتاح إلى وحدة معتمدة مسبقاً باسم parcel-state-reviewed. هو نموذج كامل لا أمر إنشاء أو إزالة. ينبغي أن يؤدي الغياب لفحص التهيئة والهوية لا صنع بديل فارغ يخفي الحادثة.
يجب أن تجيب النسخة عن سؤال تعاف صريح
يحدد RPO الفقد المقبول و RTO زمن التعافي. لا يثبتهما الجدول وحده. التقط حالة متسقة بالطريقة المدعومة؛ فقد يفشل نسخ ملفات قاعدة تتغير. احفظ نسخاً خارج المضيف ومفاتيحها والإصدار، وخطط لاستعادة الأسرار والشهادات دون وضعها بصور عامة أو ملفات غير محمية.
تحقق من التخزين الذي تستخدمه الخدمة فعلاً
قارن التركيبات الفعلية بالجرد قبل النسخ أو الحادثة. قد يجعل سياق أو مشروع أو مصدر خاطئ البيانات تبدو مفقودة. اقرأ اللازم ولا تنشر مسارات المضيف. فحص الوحدة دليل بيانات وصفية لا المحتوى أو الاتساق أو الاستعادة، ولا تعدل مجلدات Docker الداخلية كاختصار.
docker container inspect parcel-api --format '{{json .Mounts}}'
docker volume inspect parcel-state-reviewed --format '{{json .Name}} {{json .Labels}}'
تحتاج القراءات محركاً مصرحاً وكائنات فعلية، والاسم توضيحي. احجب سياق البنية الحساس. لا تقرأ ملفات البيانات أو تنسخها ولا تحذف وحدة، ولا يثبت الاسم وحده الاستعادة.
تدرب على التعافي والترقية قبل الحادثة
استعد إلى هدف معزول وافحص الملكية والتوافق والسجلات والثوابت والسلوك، وقس المدة كاملة مع جلب المخرجات والمفاتيح. امنع المجدولات والتكاملات المستعادة من تكرار أفعال خارجية. تحتاج ترقية المحرك توافقاً وسعة وصيانة وحدود تراجع. ميّز الاستبدال وإرجاع الصورة واستعادة البيانات ومالك كل إجراء وفحصه.
الأخطاء الشائعة وإصلاحها
اعتُبرت وحدة بديلة فارغة بيانات مستعادة.
- لماذا يحدث؟
- تُجاوز غياب التخزين بإنشاء مورد فارغ.
- كيف تصلحه؟
- أثبت السياق والهوية الأصلية ثم خطة التعافي.
- كيف تتجنب تكراره؟
- أظهر غياب المورد الأصلي واحفظ أدلة الجرد.
يوجد أرشيف ولا يستعيده التطبيق.
- لماذا يحدث؟
- لم يختبر الاتساق أو الملكية أو المفاتيح أو التوافق.
- كيف تصلحه؟
- نفذ استعادة معزولة مصرحاً وأصلح المتطلب الناقص.
- كيف تتجنب تكراره؟
- جدول فحص الاستعادة لا وجود الملف فقط.
غُير المحرك أثناء حادثة دون خطة تراجع.
- لماذا يحدث؟
- لم تفصل حدود التشغيل ومخاطر التوافق عن التشخيص.
- كيف تصلحه؟
- احفظ الأدلة واتبع الإجراء المصرح.
- كيف تتجنب تكراره؟
- تدرب على الترقيات ووثق الأعمال والقيود.
اختبر فهمك
1. هل ينشئ إعلان الوحدة الخارجية نسخة احتياطية؟
اعرض الحل المشروح
لا؛ يشير لتخزين تديره جهة خارج النموذج. يحتاج اتساقاً ونسخاً واحتفاظاً وصلاحيات ومفاتيح واستعادة مختبرة. توضح الملكية المسؤولية ولا تضمن الدوام أو التكرار أو تعافي العمل.
2. ما الدليل الذي يدعم RTO قدره ثلاثون دقيقة؟
اعرض الحل المشروح
يجب أن يقيس التدريب جلب المخرجات والمفاتيح واستعادة التخزين وفحص الملكية والتوافق والبدء والعمل، مع افتراضات وأشخاص واقعيين. لا يقيس فك أرشيف سريع الطريق الكامل لخدمة صالحة.
أهم ما تعلمته
- الدوام والتكرار والنسخ والتعافي المتحقق خصائص منفصلة.
- شغل بإجراءات مملوكة ومتدرب عليها وهويات موارد دقيقة.