محتويات الدورة

Proxmox VE / متوسط: البيانات والهوية والسياسة / الدرس 7

عقود موارد الحاويات وتركيباتها

قيّم جذور ملفات الحاويات ونقاط تركيبها وحدود الموارد كقرارات ملكية واسترجاع صريحة.

وقت القراءة التقريبي: 5 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

  • تمييز الأحجام المدارة عن bind والأجهزة.
  • تتبع الملكية المخططة إلى وصول التطبيق.
  • فصل سقوف الموارد عن طلب الحمل المقاس.

احصر كل مسار بيانات

يمكن أن تستخدم الحاوية جذر ملفات مدارا ونقاط تركيب إضافية تختلف في دلالتها. فالحجم الذي يديره نظام التخزين ليس مثل bind mount من المضيف أو تركيب جهاز. تؤثر هذه الفروق في النقل وشمول النسخ الاحتياطي والصلاحيات والاعتماد على مسارات المضيف. سجل لكل تركيب مسار التطبيق وهوية المصدر ونموذج الملكية ومالك الاسترجاع. لا يكشف اسم مجلد مألوف داخل الحاوية مكان بايتاته الفعلي. قبل إعلان اكتمال النسخ، قارن الأحجام المدارة المشمولة بكل مسار بيانات يحتاجه التطبيق، ولا تفترض أن كل ملف ظاهر داخل الحاوية يدخل الأرشيف.

اربط هوية التطبيق بالملفات

تعمل عملية التطبيق بهوية مستخدم ومجموعة يجب أن توافق ملكية نظام الملفات بعد التخطيط. قد ينتج فشل الصلاحية من مسار مصدر خاطئ أو اختلاف في تخطيط المعرّفات أو نقص وصول إلى مجلد أب. إن منح الجميع صلاحية الكتابة يخفي العقد ويوسع التعرض. يستخدم السجل الأول مسارات افتراضية ويسأل عن الهوية التي ينبغي أن تملك البيانات. قد تؤثر تغييرات الملكية الفعلية في وصول المضيف والحاوية معا؛ لذلك شخص التخطيط قبل أي تعديل. لا يقرأ المسار مسارات المضيف أو قواعد حساباته ولا يغيرها.

text جرد ملكية التركيب
container path: /srv/catalog-data
source kind: externally managed bind mount
application identity: synthetic UID 1000
review: mapped host owner, parent permissions, backup owner, target-host path

هذه مسارات توضيحية نصية وليست مواقع فعلية يفحصها المسار.

اشرح ضوابط الموارد

تحد ضوابط CPU والذاكرة الاستهلاك أو ترتب أولوياته بآليات نواة المضيف. لا يعني الحد المضبوط حجز كل ما يقابله من سعة مادية، وقد يؤدي حد منخفض إلى تعثر التطبيق أو إنهائه. تحتاج محاسبة الذاكرة وswap والتخزين المؤقت إلى تفسير دقيق، لا إلى مقارنة برقم واحد في لوحة. يحسب البرنامج الثاني هامش ميزانية افتراضية لثلاث حاويات، ولا يعيد تنفيذ محاسبة cgroups. استخدمه لتوضيح الوحدات والحساب، ثم احصل على دليل مجموعات العمل والضغط الفعليين في بيئة مصرح بها قبل اختيار الحدود.

python سجل ميزانية حاويات افتراضي
budget_mib = 8192
planned_mib = [1024, 2048, 1536]
print(sum(planned_mib))
print(budget_mib - sum(planned_mib))
الناتج المتوقع
4608
3584

4608 و3584 نتيجتان حسابيتان لا رصد ذاكرة مضيف أو توصية قبول.

راجع توسيع الميزات

قد تزيد ميزات التداخل وكشف الأجهزة وصلاحيات التركيب الإضافية مرونة الحاوية، وتزيد في الوقت نفسه اعتمادها على قدرات المضيف. عامل كل ميزة كمتطلب يخضع للمراجعة، لا مجموعة مفاتيح تفعل عندما يفشل التطبيق. ربما تناسب بعض الأحمال آلة افتراضية أكثر لأنها تتوقع نواتها الخاصة أو وصولا واسعا إلى الأجهزة. وثق سبب استمرار اختيار الحاوية بعد النظر في الميزة الإضافية. وقيّم قابلية الإعداد للنقل إلى عقدة أخرى؛ فقد يبطل تركيب مرتبط بمسار مضيف واحد خطة نقل معقولة في بقية جوانبها.

اربط التركيبات بالاسترجاع

يجب أن تعيد خطة الاسترجاع بناء تعريف الحاوية وكل مصدر بيانات مطلوب. قد تنتج استعادة الجذر دون تركيب خارجي حاوية تبدو سليمة، لكنها تفتقد بيانات العمل. أكد مصدر التركيب المقصود قبل السماح للتطبيق المستعاد بتهيئة مجلد فارغ، لأن ذلك قد يخفي النقص. حدد حدود الموارد المناسبة للاسترجاع كما تحددها للتشغيل العادي. لا ينشئ المسار حاوية أو يبدأها أو يركبها أو يستعيدها. يثبت الجرد والحساب نموذجا قابلا للمراجعة فقط، بينما يبقى سلوك المنصة وصحة البيانات غير منفذين.

الأخطاء الشائعة وإصلاحها

غياب بيانات bind mount من الاستعادة

لماذا يحدث؟
افتُرض أن النسخ المدار يشمل كل ملف ظاهر داخل الحاوية.
كيف تصلحه؟
احصر المصدر الخارجي وإجراء استرجاعه المستقل.
كيف تتجنب تكراره؟
اربط كل مسار بيانات للتطبيق بالجهة المسؤولة عن نسخه.

إخفاء أخطاء تخطيط المعرّفات بمنح الجميع صلاحية الكتابة

لماذا يحدث؟
وُسع الوصول قبل تحديد هويتي التطبيق والمضيف.
كيف تصلحه؟
راجع التخطيط ومسار المصدر والوصول المطلوب بدقة.
كيف تتجنب تكراره؟
احتفظ بدليل الملكية إلى جانب تعريفات التركيبات.

اعتبار حد ذاكرة الحاوية ذاكرة مضيف مخصصة لها

لماذا يحدث؟
اختلط ضبط الموارد بضمان السعة المادية.
كيف تصلحه؟
قيّم مجموعات العمل وضغط المضيف والأحمال المنافسة بصورة منفصلة.
كيف تتجنب تكراره؟
افصل السقوف المضبوطة عن الاستخدام المقاس.

اختبر فهمك

1. بدأت حاوية مستعادة بمجلد /srv/catalog-data فارغ. ماذا يجب إثباته قبل تهيئة بيانات جديدة؟

اعرض الحل المشروح

حدد أولا هل يفترض أن يكون المسار حجما مدارا مستعادا، أم bind mount خارجيا، أم مصدر بيانات آخر. أكد هويته وحالة استرجاعه مع مالك البيانات. قد يدل مجلد فارغ على غياب التركيب لا على تطبيق جديد مشروع. إن بدء التهيئة قبل هذا التحقق قد يخفي الخطأ أو ينشئ حالة متباعدة عن البيانات المطلوبة. لا تجعل نجاح بدء الحاوية بديلا عن معرفة مصدر حالة التطبيق.

2. لماذا لا يضمن جذر ملفات قابل للنقل قابلية نقل الحاوية كاملة؟

اعرض الحل المشروح

قد تبقى التركيبات الخارجية والأجهزة وتخطيطات المعرّفات وروابط الشبكة وميزات النواة مرتبطة بالمضيف المصدر. احصر هذه الاعتماديات وافحص تكافؤها على الهدف. يثبت نجاح نسخ حجم الجذر جزءا واحدا من عقد تنفيذ الحاوية، ولا يثبت توفر بياناتها كلها أو صحة سلوك التطبيق. يجب أن تشمل مراجعة النقل الموارد التي تقع خارج الجذر أيضا.

أهم ما تعلمته

  • يحدد مصدر التركيب وملكيته النقل وشمول النسخ.
  • تحتاج سقوف الموارد دليل الحمل وضغط المضيف.

المراجع الرسمية