كيفية منع سجلات Jellyfin من ملء قرص النظام

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

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

يصعب ملاحظة ذلك خصوصًا على قرص نظام صغير لخادم منزلي، إذ يمكن لمسارين مستقلين للسجلات أن ينموا في الوقت نفسه: يكتب Jellyfin سجلات التطبيق، بينما قد يحتفظ Docker أو journald أو مشرف آخر بمخرجات stdout وstderr بشكل منفصل. ابدأ بتحديد المسار الذي يستهلك المساحة فعليًا، ثم ضع حدًا للاحتفاظ في تلك الطبقة، وتحقق من نجاح التنظيف أثناء الاستخدام العادي، واحتفظ بتنبيه للمساحة الحرة حتى لا تملأ جلسة تصحيح أخطاء مستقبلية القرص بصمت.

اعثر على مخزن السجلات الذي ينمو فعليًا

قِس قبل حذف أي شيء. قارن حجم مجلد السجلات المكوَّن في Jellyfin بمخزن سجلات وقت تشغيل الحاويات أو مدير الخدمات، ولاحظ أيهما يتغير أثناء إعادة تنفيذ فحص عادي للمكتبة أو جلسة تشغيل. إذا كان مسار واحد فقط ينمو، فأصلح ذلك المسار بدلًا من تطبيق تغييرات متعددة على التدوير في وقت واحد.

يحذر دليل استكشاف أخطاء Jellyfin وإصلاحها من أن تسجيل التصحيح قد يولّد كمية هائلة من المخرجات، وأنه مخصص لفترات قصيرة لاستكشاف الأخطاء؛ لذلك يتمثل أول فحص وقائي في التحقق مما إذا كان ملف logging.json مخصصًا قد ترك فئات verbose مفعّلة. راجع إرشادات تسجيل التصحيح قبل تغيير قيم الاحتفاظ.

إذا ظل مجلد سجلات Jellyfin نفسه مستقرًا بينما يستمر قرص نظام المضيف في التقلص، فافحص سجلات وقت التشغيل بعد ذلك. تعني هذه النتيجة أن حذف ملفات سجلات Jellyfin لن يعالج سوى العَرَض الظاهر، بينما تستمر طبقة التسجيل الثانية في النمو.

ضع حدًا للاحتفاظ على مستوى وقت التشغيل

بالنسبة إلى الحاويات، اختر برنامج تشغيل للسجلات وسياسة تدوير ذات حد أقصى محدد بدلًا من الاعتماد على النمو غير المحدود. طبّق الإعداد على الحاويات التي تُنشأ حديثًا، وسجّل الحد الأقصى المختار حتى لا تؤدي إعادة بناء ملف compose مستقبلًا إلى إزالة الحماية.

توثّق Docker أن تسجيل json-file الافتراضي قد يستهلك مساحة كبيرة على القرص عند عدم إعداد التدوير، بينما يقوم برنامج التشغيل local بالتدوير افتراضيًا. استخدم سلوك تدوير سجلات الحاويات لتحديد ما إذا كنت ستضع حدًا لـ max-size/max-file أو ستستخدم برنامج التشغيل المحلي.

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

اجعل تنظيف Jellyfin مفيدًا، لكن لا تعتبره الحماية الوحيدة

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

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

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

-15% OFF

استخدم تسجيل التصحيح كوضع تشخيص مؤقت

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

لا تُبقِ تسجيل التصحيح مفعّلًا لأيام لمجرد أن مساحة القرص متاحة حاليًا. فقد تنتج أمسية منخفضة النشاط وفحص مكتبة كميات مختلفة جدًا، لذا قد يصبح إعداد يبدو غير ضار أثناء اختبار ما مكلفًا أثناء الأعمال المجدولة.

بعد العودة إلى التسجيل العادي، أعد التشغيل مرة واحدة إذا كان الإعداد يتطلب ذلك، ثم أعد تنفيذ تشغيل عادي ومهمة مجدولة واحدة. ينبغي أن يعود معدل نمو السجل إلى مستواه الأساسي؛ وإذا لم يحدث ذلك، فأعد فتح الإعداد وتحقق من أن الملف المتوقع هو الملف الذي حمّله Jellyfin فعلًا.

أضف شرط توقف عند انخفاض المساحة الحرة قبل أن يصبح القرص حرجًا

ضع تنبيهًا بسيطًا على نظام الملفات الذي يحتوي على بيانات Jellyfin أو سجلات وقت التشغيل أو نظام التشغيل. ينبغي أن يترك الحد عينه مساحة كافية لفحص السبب وإيقاف الخدمات بأمان، بدلًا من الانتظار حتى تبدأ عمليات الكتابة بالفشل على المضيف بأكمله.

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

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

الدعم والنصائح

المزيد للقراءة

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.