مساحة القرص ممتلئة جدًا لتحديث نسخة Discourse

مرحباً،

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

لا توجد أي خدمات أخرى تعمل على هذه النسخة غير Discourse، ولم تكن هناك أي خدمات أخرى من قبل.

حتى الآن، لتحرير المساحة، قمت بما يلي:

  • حذف كل السجلات التي يمكنني العثور عليها سواء من Discourse أو من /var/log/journal
  • حذف جميع نسخ احتياطية Discourse ما عدا واحدة
  • حذف جميع صور Docker القديمة
  • تشغيل apt-get autoclean و apt-get autoremove
  • التأكد من عدم وجود نوى قديمة

فكرت في نقل بيانات postgres إلى محرك خارجي، لكنها أقل من جيجابايت واحدة حالياً، لذا لا أعتقد أن ذلك سيساعد بما يكفي.

/dev/vda1 يستخدم 20 جيجابايت من المساحة.

هل هناك أي شيء آخر يمكنني فعله؟ هل 25 جيجابايت لم تعد كمية معقولة من مساحة القرص لتشغيل Discourse؟

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

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

إذا كانت عمليات الرفع الخاصة بك بحجم ~25 ميجابايت وقاعدة بيانات PostgreSQL بحجم ~1 جيجابايت، فمن المرجح أن يقوم Discourse بإنشاء نسخ احتياطية لا تحتاجها. أنصحك بفحص إعدادات الاحتفاظ بالنسخ الاحتياطية (الإدارة > الإعدادات > النسخ الاحتياطية) ومراجعة النسخ الاحتياطية الحالية (الإدارة > النسخ الاحتياطية) وحذف أي منها لا تحتاجه.

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

نعم، عذراً، لقد قمت للتو بتحديث مشاركتي بتعليمات محدّثة.

لا يحتوي هذا الخادم على دليل /shared/.

هذا ما حصلت عليه من du -sh /var/discourse/*، بإجمالي 658 ميجابايت فقط:

4.0K    /var/discourse/LICENSE
12K     /var/discourse/README.md
4.0K    /var/discourse/bin
4.0K    /var/discourse/cids
8.0K    /var/discourse/containers
12K     /var/discourse/discourse-doctor
8.0K    /var/discourse/discourse-setup
368K    /var/discourse/image
8.0K    /var/discourse/install-discourse
28K     /var/discourse/launcher
32K     /var/discourse/samples
8.0K    /var/discourse/scripts
657M    /var/discourse/shared
180K    /var/discourse/templates

أكبر استخدام للمساحة في نظام الملفات هو /var/lib/containerd/io.containerd.content.v1.content بحجم 2.4 جيجابايت و/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs بحجم هائل يبلغ 12 جيجابايت

عذراً، نسيت أن أذكر أنك بحاجة إلى أن تكون داخل الحاوية. الملف الذي ذكرته هو من Docker. يمكنك التحقق مما يستخدمه باستخدام docker system df وإجراء قطع شامل باستخدام docker system prune إذا لزم الأمر، فقط تأكد من أن Discourse قيد التشغيل عندما تفعل ذلك.

أه، هذا منطقي.

في الحاوية، الشيء الوحيد الذي يتجاوز حجم الجيجابايت واحد هو /var/www/discourse/vendor/bundle/ruby/ بحجم 2.1 جيجابايت.

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

هل يمكنك إظهار إخراج أمر Docker ذلك؟ هذا المجلد يحتوي على جميع جواهر Ruby (Ruby gems)، وهذا الحجم لا يبدو مخيفًا بالنسبة لي.

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

أولاً، أعد التشغيل. تريد نظام ملفات نظيفًا ونظامًا جديدًا.

بعد ذلك، راجع هذا الموضوع السابق للحصول على نصائح مفصلة:

[quote=“Ed_S, post:3, topic:404122”]
يرجى نشر تفاصيل ما حدث
[/quote]}

هل قمت بتشغيل

./launcher cleanup

أو قمت بتنظيف Docker بطريقة أخرى؟

من الصعب الاستمرار بمساحة 25 جيجابايت إلا في حالة المنتديات الصغيرة جداً.

منتداي هو منتدى صغير (في الواقع أنا فقط من يستخدمه بشكل أساسي) وأستخدم خادم VPS بسعة 40 جيجابايت فقط لأكون في الجانب الآمن ولأجنب القلق من أن تسبب التحديثات مشاكل

إنه الخادم الوحيد بين خوادم VPS الثلاثة التي لا أستخدم فيه 20 جيجابايت - الخادم الآخر هو خادم HTTP مع قاعدة بيانات MySQL وواجهة خلفية PHP والخادم الآخر هو خادم RTMP. الخادم الذي يشغل Discourse يشغل أيضاً خادم Docker-Mailserver لكنني قمت بإيقاف هضم البريد (digest mail) ولدى DMS بصمة صغيرة جداً

من المرجح أن يحل هذا مشكلتك.

لتوفير مساحة إضافية، أستخدم هذه الأوامر، وقد تساعد في عملية إعادة البناء

sudo apt -y autoremove && apt -y autoclean
sudo apt clean
sudo journalctl --vacuum-time=1s

1 و 2 ينظفان نظام أوبونتو
3 ينظف بعض السجلات، وعادةً ما يُحرر حوالي 3 جيجابايت

كان هذا في المنشور الأصلي، لكن من الأفضل بالطبع تشغيل أمر Discourse

شكرًا لردودكم! آسف لاختفائي، فقد طرأت أمور في الحياة ولم أكن أملك وقتًا أمس لإجراء المزيد من عمليات استكشاف الأخطاء وإصلاحها.

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

لأي شخص يبحث هنا عن مساعدة بشأن هذه المشكلة بالتحديد ولا يريد الترقية:

./launcher cleanup كان شيئًا جربته بالفعل، ولم يحرر مساحة كافية. كما أنني قمت مسبقًا بـ

sudo apt -y autoremove && apt -y autoclean
sudo apt clean
sudo journalctl --vacuum-time=1s

ومرة أخرى، لم يكن ذلك كافيًا. كانت هناك كمية كبيرة (لجهاز بسعة 25 جيجابايت) من السجلات في journalctl، لذا تأكدوا بالتأكيد مما إذا كان الأمر كذلك بالنسبة لكم، لكنه لم يكن كافيًا بالنسبة لي.