فشل ترقية Discourse بسبب عدم كفاية مساحة القرص على قطرة 25 جيجا

18G /var

du -h -s /var/* | sort -h -r
14G     /var/lib
2.8G    /var/log
933M    /var/discourse
du -h -s /var/lib/* | sort -h -r
13G     /var/lib/docker
744M    /var/lib/snapd
root@DO-Discourse:/var/discourse# du -h -s /var/lib/docker/* | sort -h -r
13G     /var/lib/docker/overlay2
16M     /var/lib/docker/image
root@DO-Discourse:/var/discourse# du -h -s /var/lib/docker/overlay2/* | sort -h -r
8.7G    /var/lib/docker/overlay2/d319d95263d87c2a75a4bc9a9f03a25ea7f6eb1f7bac687e7ae7d45522939dc0
2.8G    /var/lib/docker/overlay2/79be56509f1588c272683332ef50abd54f0aeb06d0e2d13f8eea1bace3b3db46
873M    /var/lib/docker/overlay2/5b148cbbcca894be512c7407568104cd7b2e3d48ab7b7d74c6c0f731806cdddc

هل هناك فائدة من المتابعة؟

تم حذف 2.8 جيجابايت من السجلات، مما أدى فقط إلى وصولي إلى 4.9 جيجابايت. ليس لدي مثيل “اختبار” لتجربة ./launcher rebuild app --skip-prereqs

أي اقتراحات أخرى؟

هل من غير الممكن ببساطة تشغيل مثيل discourse على قطرة بحجم 25 جيجابايت بعد الآن؟

انظر إلى نهاية Prune unused Docker objects | Docker Docs
أعتقد أنك تريد إزالة كل شيء وإزالة وحدات التخزين

docker system prune --volumes
تحذير! سيؤدي هذا إلى إزالة:
  - جميع الحاويات المتوقفة
  - جميع الشبكات التي لا تستخدمها حاوية واحدة على الأقل
  - جميع وحدات التخزين التي لا تستخدمها حاوية واحدة على الأقل
  - جميع الصور المعلقة
  - ذاكرة التخزين المؤقت للبناء المعلقة

هل أنت متأكد أنك تريد المتابعة؟ [y/N] y
إجمالي المساحة المستعادة: 0B
root@DO-Discourse:/# 

أي اقتراحات أخرى؟

هل لديك أي استخدام لـ snap؟

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

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

كان ذلك قبل التحول إلى Ember CLI، هل يمكن أن يكون ذلك قد جعل الأمور أكبر بشكل كبير؟

يبدو أن طبقة 9 جيجابايت هي المشكلة. لكن لدي طبقة بحجم مماثل في مثيل آخر قمت بفحصه للتو. لطالما كان الأمر صعبًا عند 25 جيجابايت. أوصي بأن تتحمل التكلفة وتحصل على المزيد من SSD. الشيء التالي الذي يمكنك تجربته هو معرفة ما إذا كانت هناك أشياء على مستوى نظام التشغيل يمكنك إزالتها (سجلات، برامج غير ضرورية، فهارس من find، ربما؟).

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

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

3 إعجابات

لست متأكدًا. هل أحتاجه لتثبيت discourse فقط؟ وإذا لم يكن كذلك، فكيف أحذفه؟

لا أعتقد ذلك :thinking:
بعد تنزيل نسخة احتياطية كاملة، يمكنك تشغيل snap list للتحقق من الـ snaps المثبتة، وإذا لم يكن هناك أي منها، قم بتشغيل sudo apt purge snapd

root@DO-Discourse:/var/discourse# snap list
Name    Version        Rev    Tracking       Publisher   Notes
core18  20220309       2344   latest/stable  canonical✓  base
core20  20220304       1376   latest/stable  canonical✓  base
lxd     4.0.9-8e2046b  22753  4.0/stable/…   canonical✓  -
snapd   2.54.4         15177  latest/stable  canonical✓  snapd
root@DO-Discourse:/var/discourse# 

ما هي هذه الطبقات الإضافية؟ هل يمكنني حذفها؟

مرحباً آندي، آسف على التأخير.
في هذه المرحلة، يرجى الأخذ في الاعتبار أنه بدون رؤية لنظام المضيف الخاص بك، من السهل توجيهك نحو الهاوية، لذا قم بعمل نسخة احتياطية/لقطة/إلخ… (أو حتى قم بعمل نسخة احتياطية، وقم بتشغيل مثيل جديد واختبر عملية الاستعادة، لقد كانت تمرينًا جيدًا بالنسبة لي)
بافتراض أنه ليس لديك استخدام لـ lxd (lxc list يجب أن يعرض الحاويات المثبتة) snap remove lxd (ثم core18 و 20)

إعجاب واحد (1)

هل يمكنك مشاركة مخرجات docker images و docker ps -a؟

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

ليس لدي أي فكرة عما هو lxd. لا أحتاج إلى أي شيء على هذه القطرة لا يحتاجه discourse/docker، حيث أنها قطرة discourse فقط.

إعجاب واحد (1)
root@DO-Discourse:/var/discourse# docker images
REPOSITORY            TAG       IMAGE ID       CREATED        SIZE
local_discourse/app   latest    3dac608caa92   4 months ago   3.17GB
root@DO-Discourse:/var/discourse#
root@DO-Discourse:/var/discourse# docker ps -a
CONTAINER ID   IMAGE                 COMMAND        CREATED        STATUS        PORTS                                      NAMES
9abaf4517b7e   local_discourse/app   \"/sbin/boot\"   4 months ago   Up 4 months   0.0.0.0:80-\u003e80/tcp, 0.0.0.0:443-\u003e443/tcp   app
root@DO-Discourse:/var/discourse#

بالنظر إلى

و

أعتقد أن لديك بعض الطبقات المعلقة في مجلد overlay2 الخاص بك.

راجع إجابة StackOverflow هذه للحصول على إرشادات:

3 إعجابات

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

إعجاب واحد (1)

أعتقد أنه من الآمن حذف كل تلك الصور. إذا احتجتها، فسيتم استبدالها عند إعادة البناء.

أخذ لقطة شاشة ليس فكرة سيئة.

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

إعجابَين (2)

تم حذف إحدى الصور، وقد نجح ذلك!
شكراً لكم جميعاً على مساعدتكم.

إعجابَين (2)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.