من أين يأتي نمو قرص خادم VPN وكيف تحدّ منه
نمو السجلات وعقدة فهرس أُعيدت تسميتها وسجل بلا حدّ: كلها تظهر كقرص واحد ممتلئ. قِس المعدل، وحدّد الكاتب بحدّ، وتحقق من الحدّ بعد إعادة التشغيل.
يتوقف النفق عن قبول الاتصالات، وتُعاد الخدمة التشغيل مرتين، ثم لا يظهر شيء في سجلها. ذلك الصمت هو الدليل، لأن السجل هو ما ملأ القرص، وليس لدى البرنامج الخفي مكان يكتب فيه الخطأ الذي تنتظره. أي خدمة تعمل طويلاً يمكن أن تصل إلى تلك الحالة، وحذف دليل اسمه logs نادراً ما يصلحها. الإصلاح الدائم هو أن تعرف أي مخزن نما، ومن يملك سياسة الاحتفاظ به، وهل أطلق الكاتب المساحة فعلاً.
اعثر على المخزن الذي نما، وعلى المعدل الذي نما به
ابدأ برقمين يسهل نسيانهما: الكتل الحرة وعُقد الفهرس الحرة. يمكن لنظام ملفات أن يعلن مساحة وفيرة ويرفض الكتابة لأنه لم تبقَ لديه عُقد فهرس، وهذا يحدث عندما تنشئ خدمة ملفاً واحداً لكل جلسة. اطلب القراءتين على الحجم نفسه، لأن الجوابين قد يتناقضان في الظهيرة نفسها. افعل ذلك والخادم في حالة سليمة، حتى تصف الأرقام التشغيل الطبيعي لا انقطاعاً.
df -h /var
df -i /varثم انسب النمو إلى مالك. رقم الاستخدام الخاص بالسجل يغطي السجل وحده، ولن يرى أبداً برنامجاً خفياً يكتب إلى مسار من ملف إعداده.
journalctl --disk-usageالنمو عبر الزمن يقول أكثر من أي قراءة منفردة. مستوى تنقيح متروك مفعّلاً، أو حلقة إعادة محاولة تسجل كل محاولة، أو ملف التقاط لم يوقفه أحد: كل منها قد يبدو عادياً في لحظة ومقلقاً بعد ساعة. خذ قراءة واحدة، وانتظر خلال فترة مزدحمة، وخذ أخرى، واقسم على الفاصل. المعدل الذي تستطيع ذكره يحوّل السعة إلى قرار بدل حريق.
ما تفعله إعادة التدوير بملف مفتوح
ملف السجل هو اسم يشير إلى عقدة فهرس، ولا تعود المساحة إلا عند إغلاق آخر مقبض مفتوح. أعِد تسمية الملف فيظل الكاتب يملأ العقدة نفسها؛ احذفه فيظل الكاتب يملأ عقدة بلا اسم إطلاقاً. تلك الحالة هي سبب أن عبارة «حذفت الملف وبقي القرص ممتلئاً» تصف واصفات الملفات لا نظام ملفات معطلاً. إعادة تشغيل الكاتب، أو اختيار نمط تدوير يعيد فتح الملف، هو ما يعيد الكتل فعلاً.
lsof +L1 | headالسياسة ملك للمكوّن الذي يكتب الملف. يفرض السجل حدوده التخزينية من ملف إعداده، بينما تعتمد خدمة قائمة على الملفات عادة على logrotate إما بقاعدة إنشاء مع إشارة إعادة فتح أو بنمط الاقتطاع في المكان عندما لا يستطيع الكاتب إعادة الفتح. أكّد القرار دون تغيير أي شيء أولاً:
logrotate -d /etc/logrotate.confأين يقع الحدّ، وكم يجب أن يكون
ضع الحدّ حيث يُضبط الكاتب، لا عند نقطة التركيب. الحصة على الحجم كله تحمي الخادم لكنها لا تقول أي خدمة ستفشل أولاً، وسكربت تنظيف شامل يميل إلى حذف الأدلة التي يحتاجها الحادث التالي. حدّ للسجل، وعدد تدويرات مع حجم أقصى، واحتفاظ على مستوى التطبيق: كل منها يقيّد منتجاً واحداً. معاً تقيّد المجموع؛ وحدها كل منها تخمين.
قدّر ذلك الحدّ من الاحتفاظ الذي تستطيع الدفاع عنه، لا من المساحة الحرة المتاحة. إذا كان المراجعة تحتاج أسبوعاً من محاولات الاتصال، فعلى السجل أن يحتفظ بأسبوع بالمعدل الأكثر ازدحاماً المتوقع، وذلك المعدل هو الرقم الذي قيس سابقاً.
تسجيل التنقيح نمط مؤقت بوقت بدء مسجل، لا خطة تخزين. أبقِ سؤال الخصوصية داخل القرار نفسه، لأن سجلات الاتصال تحمل عناوين ومعرّفات. الاحتفاظ الأطول أيضاً خيار لمعالجة البيانات، وينبغي أن يتخذه من يعرف القيدين معاً.
تحقق من الحدّ بعد إعادة التشغيل
تغيير في الاحتفاظ يستمر حتى إعادة التشغيل التالية ليس تغييراً. أعِد تشغيل الكاتب، وأكّد أن الحدّ الجديد يسري، وتحقق من أن التدوير ما زال يعمل بعده. بالنسبة للسجل، إعادة تشغيل واحدة وقراءة استخدام واحدة تجيبان عن السؤالين:
systemctl restart systemd-journald
journalctl --disk-usageبالنسبة لخدمة قائمة على الملفات، شغّل مهمة التدوير يدوياً مرة واحدة وأكّد أن الملف استُبدل وأن الواصف أُعيد فتحه. الكاتب الذي يحتفظ بالمقبض القديم ينجح في فحص سطحي ويفشل في المرة التالية التي يمتلئ فيها الحجم. راقب المساحة الحرة أثناء الاختبار، لأن ملفاً تقلّص بينما لم تعد المساحة يعني أن العقدة القديمة ما زالت محتجزة.
قارن القراءة التالية بهذه
عُد بعد أسبوع وقارن معدل النمو بالمعدل المسجل. معدل مطابق يعني أن الحدّ يصمد والحمل مستقر؛ ومعدل مضاعف يعني أن شيئاً تغيّر، والسؤال المفيد هو ما هو. اقرأ محتوى السجل بحثاً عن إخفاقات متكررة أولاً، لأن حلقة إعادة المحاولة عرض وسبب للحجم معاً. ثم افحص أي شيء فُعّل حديثاً، بما في ذلك مستويات تنقيح شُغّلت أثناء حادث ولم تُطفأ أبداً.
أبقِ النسخ الاحتياطية خارج الحجم نفسه، أو اقبل أن قرصاً ممتلئاً واحداً يأخذ النسخة الاحتياطية معه. النسخة المكتوبة على الخادم الذي تحميه ليست خطة استرجاع، واحتفاظها يحتاج جواباً خاصاً بها.
اكتب ما يُحتفظ به، وأين، ولكم من الوقت، ومن يزيله. تلك الجملة هي المُسلَّم، وهي الجزء الوحيد من هذا العمل الذي يبقى بعد إعادة التشغيل التالية.