القرص الممتلئ يكسر أشياء تبدو غير مترابطة: الجلسات تكفّ عن الحفظ، والرفع يفشل، وقاعدة البيانات ترفض الكتابة، ونصفُ ذلك يعود بـ 503. فافحص القرص أوّلًا كلّما انكسرت عدّة أشياء لا رابط بينها دفعةً واحدة.
df -h
اعرف ما يستهلكه
انزل من الجذر مستوًى بعد مستوًى. فهذا يطبع أكبر عشرة أشياء في دليل، وتتبّعُ أكبرها نزولًا يجد السبب في ثلاث خطواتٍ أو أربع.
du -h --max-depth=1 / 2>/dev/null | sort -h | tail -10
الأسباب الأربعة المعتادة
- سجلّاتٌ لا تُدوَّر أبدًا. ينمو /var/log بلا حدّ إن لم يُضبَط logrotate لخدمةٍ أُضيفت لاحقًا.
- نسخٌ احتياطية قديمة على القرص نفسه. نسخةٌ على القرص الذي تحميه ليست نسخةً احتياطية، وهي في الغالب أكبر دليل على الجهاز.
- ملفّات الجلسات. ملايينُ الملفّات الصغيرة في /var/lib/php/sessions — تأخذ مساحةً، والأسوأ أنّها تأخذ عُقَدًا.
- سجلُّ أخطاءٍ منفلت. تحذيرٌ واحد يتكرّر قد يكتب غيغابايتات في يوم.
فرّغه بأمان
لا تحذف سجلًّا تكتب فيه عمليّة. فالمساحة لا تعود حتى تُغلق العمليّةُ الملفَّ، فيبقى القرص ممتلئًا وقد ضاع منك السجلّ. اقطعه بدل ذلك.
: > /var/log/nginx/error.log
نفاد العُقَد لا المساحة
إن أظهر df -h مساحةً فارغة والكتابةُ ما زالت تفشل فقد نفدت منك العُقَد — ملفّاتٌ أكثر من اللازم مهما صغرت.
df -i
أقم مراقبةً تُنذر عند 80% لا عند 100%. فقرصٌ يمتلئ الثالثةَ فجرًا يُسقط الموقع حتى يستيقظ أحد، وإنذارُ 80% مهمّةُ صباحٍ لا أكثر.
