حل مشكلة حجم السجل الكبير في systemd journald
systemd journald هو خدمة تسجيل متطورة في أنظمة لينكس، تعمل على تجميع وتخزين السجلات الخاصة بالنظام والتطبيقات. ومع ذلك، قد يواجه بعض المستخدمين مشاكل تتعلق بحجم السجلات المتزايد رغم وجود إعدادات مثل SystemMaxUse وSystemKeepFree، مما يؤدي إلى استهلاك مساحة القرص بشكل غير مقبول.
تشخيص المشكلة
لقد تم ذكر مشكلة متعلقة بجهاز مساحته /var/log مفصول بمساحة 100 ميجابايت فقط. عندما حاول المستخدم تقييد حجم السجلات باستخدام إعدادات مثل SystemMaxUse وSystemKeepFree في ملف التكوين /etc/systemd/journald.conf، لم تنجح هذه الإعدادات في تحقيق الهدف المنشود. إذ أظهر الأمر journalctl --disk-usage
أن مساحة السجلات المتوفرة تتجاوز 117.1 ميجابايت، مما يفوق ما تم تحديده للإعدادات.
الحقيقة هي أن إعداد مثل SystemMaxUse=50M
يعني أن الحد الأقصى لاستخدام النظام سيكون 50 ميجابايت، لكن إذا كانت هناك سجلات نشطة وأرشفة، فقد تعود هذه السجلات إلى الظهور مجددًا، مما يؤدى إلى تجاوز الحد المحدد. بالتالي، هناك حاجة لفهم كيفية تكوين إعدادات journald بشكل أفضل لتلبية احتياجات النظام.
أسباب المشكلة
تتعدد الأسباب التي تجعل systemd journald – 24.04 لا يلتزم بالإعدادات. أحد العوامل الأكثر شيوعًا هو أن الوظائف الخاصة بالمجلات المتراكمة قد لا يتم تفعيلها بشكل تلقائي. كما أن تفعيل "جمع رسائل التدقيق" قد يؤدي إلى إشكالات في بعض الحالات، مثل تلك التي تم الإبلاغ عنها عندما تم تعطيل جمع رسائل التدقيق.
يمكن أن يعود السبب الرئيسي إلى أن المجلة تتعرض للتجاوز بفعل آلية التخزين أو بسبب تعطل ملفات النظام، مما يجعله غير قادر على إنجاز محاولات إزالة السجلات القديمة.
الحلول الممكنة
هناك عدة خيارات متاحة لمعالجة هذه المشكلة. أحد الحلول الفورية هو استخدام الأمر journalctl --vacuum-size=50M
لتقليص حجم السجلات إلى الحجم المطلوب. بالإضافة إلى ذلك، تعتبر جدولة وظيفة cron يومية لتحقيق التنظيف الدوري للمجلات حلاً فعالًا. يمكن تعيين هل ستقوم تفاصيل DT لتكون قادرة على تنظيف السجلات القديمة بشكل دوري، مما سيساعد في إدارة المساحة بشكل أفضل.
من الضروري أيضًا مراجعة مسار السجلات وتحديد ما إذا كان هناك حاجة لنقل السجلات الهامة إلى موقع آخر، أو استخدام أدوات إدارة السجلات مثل logrotate لتقليل الأحمال على systemd journald.
تكوين systemd journald بشكل سليم
لتكوين systemd journald – 24.04 بشكل صحيح، يجب على المستخدم مراجعة إعدادات الملف /etc/systemd/journald.conf
. يمكن إدخال القيم الخاصة بـ SystemMaxUse أو SystemKeepFree، ولكن يجب أن تكون هذه القيم متناسبة مع سعة /var/log والجهاز بشكل عام. بالإضافة إلى ذلك، يمكن استخدام خاصية RuntimeMaxUse
لتنظيم الاستخدام وفقًا لاحتياجات النظام الحالية.
تتطلب هذه العملية القليل من التجريب للوصول إلى القيم المثلى، ولكنها خطوة ضرورية لضمان استقرار النظام وأداءه الفعال.
ختام
تعتبر مشكلة systemd journald – 24.04: Journal too large despite SystemMaxUse and SystemKeepFree من القضايا الشائعة التي تواجه مستخدمي لينكس. فهم كيفية عمل journald والإعدادات المتاحة يمكن أن يساعد في تحقيق أداء أفضل للنظام وتجربة مستخدم سلسة. عبر معالجة السجلات بحكمة وضبط إعدادات التخزين بشكل مناسب، يمكن للمستخدمين المحافظة على أداء نظامهم وتقليل الضغوط على المساحة المتاحة.