Discourse-Upgrade schlägt wegen unzureichenden Speicherplatzes auf 25G-Droplet fehl

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

Soll ich weiter nach unten gehen?

2,8 GB an Protokollen gelöscht, was mich nur auf 4,9 GB brachte. Habe keine „Test“-Instanz, um ./launcher rebuild app --skip-prereqs auszuprobieren.

Irgendwelche anderen Vorschläge?

Ist es einfach nicht mehr möglich, eine Discourse-Instanz auf einem 25-GB-Droplet zu betreiben?

Siehe das Ende von Prune unused Docker objects | Docker Docs

Ich glaube, Sie möchten alles bereinigen und Volumes bereinigen

docker system prune --volumes
WARNUNG! Dies wird Folgendes entfernen:
  - alle gestoppten Container
  - alle Netzwerke, die von keinem Container verwendet werden
  - alle Volumes, die von keinem Container verwendet werden
  - alle hängenden Images
  - den gesamten hängenden Build-Cache

Sind Sie sicher, dass Sie fortfahren möchten? [j/N] j
Gesamter belegter Speicherplatz: 0B
root@DO-Discourse:/# 

Haben Sie weitere Vorschläge?

Haben Sie Verwendung für Snap?

Nicht wirklich, das ist ziemlich aussagekräftig, dass der Speicherplatz von Docker für Ihre Container verbraucht wird. Nach einer Bereinigung sind meine Zahlen sehr ähnlich wie Ihre, was vielleicht (aber nicht unbedingt) darauf hindeutet, dass es nur darum geht, wie viel es verbraucht.

Ich hatte zwar Probleme mit einem 25 GB Linode, aber das war mit 500 MB+ Backups. Das Löschen von zwei oder drei Backups gab mir genug Platz zum Wiederaufbauen. Ich habe mich entschieden, auf die nächste Stufe mit 50 GB zu wechseln, da es nur noch einschränkender werden würde und ich jeden Monat einen Wiederaufbau per Cronjob durchführen wollte.

Das war jedoch vor dem Wechsel zu Ember CLI, könnte das die Dinge erheblich vergrößert haben?

Diese 9 GB große Überlagerung scheint das Problem zu sein. Aber ich habe eine mit ähnlicher Größe in einer anderen Instanz, die ich gerade überprüft habe. Mit 25 GB war es schon immer schwierig. Ich empfehle Ihnen, in den sauren Apfel zu beißen und mehr SSD zu bekommen. Als Nächstes könnten Sie versuchen, ob es auf Betriebssystemebene Dinge gibt, die Sie entfernen können (Protokolle, unnötige Programme, Indizes von find, vielleicht?).

Eine andere Idee wäre, einfach eine neue 25-GB-VM zu starten und dorthin zu wechseln, in der Hoffnung, dass das, was die alte gefüllt hat, dieses Mal kein Problem darstellt.

Keine dieser Antworten scheint besonders befriedigend zu sein. Ich habe in den letzten ein oder zwei Wochen hart mit einem 25-GB-Droplet auf ein oder zwei Instanzen gekämpft, die ich verwalte, aber ich glaube, Sie haben alles getan, was ich auch getan habe.

3 „Gefällt mir“

Ich bin mir nicht sicher. Brauche ich es für eine reine Discourse-Installation? Und wenn nicht, wie lösche ich es?

Ich glaube nicht :thinking:
Nachdem ein vollständiges Backup heruntergeladen wurde, können Sie snap list ausführen, um zu überprüfen, welche Snaps installiert sind, und wenn keine vorhanden sind, 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# 

Was sind diese Overlays? Kann ich sie löschen?

Hallo Andy, entschuldige die Verzögerung.
Zu diesem Zeitpunkt sei bitte daran erinnert, dass es ohne Einblick in dein Host-System leicht ist, dich in die Irre zu führen, also sichere/erstelle Snapshots/usw. (oder erstelle sogar ein Backup, starte eine neue Instanz und teste den Wiederherstellungsprozess, es war eine gute Übung für mich)
Angenommen, du hast keine Verwendung für lxd (lxc list sollte installierte Container anzeigen) snap remove lxd (und dann core18 und 20)

1 „Gefällt mir“

Können Sie die Ausgabe von docker images und docker ps -a teilen?

Vielen Dank für Ihre Hilfe. Ja, ich weiß so wenig über Linux, dass ich den Ratschlag, ein Backup zu erstellen, voll und ganz schätze. Ich habe einen automatischen Snapshot und mache manuell einen, wann immer ich herumspiele wie jetzt.

Ich habe keine Ahnung, was lxd ist. Ich brauche nichts auf diesem Droplet, was Discourse/Docker nicht braucht, da es sich ausschließlich um ein Discourse-Droplet handelt.

1 „Gefällt mir“
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->80/tcp, 0.0.0.0:443->443/tcp   app
root@DO-Discourse:/var/discourse#

In Anbetracht von

und

Ich denke, Sie haben einige hängende Layer in Ihrem overlay2-Ordner.

Siehe diese StackOverflow-Antwort als Leitfaden:

3 „Gefällt mir“

Danke. Das ist ziemlich über meinen Kopf, wäre es sicher, einfach einen Snapshot zu machen und sie dann zu löschen und zu sehen, was passiert?

1 „Gefällt mir“

Ich denke, es ist sicher, all diese Bilder zu löschen. Wenn Sie sie benötigen, werden sie ersetzt, wenn Sie neu erstellen.

Einen Snapshot zu machen, ist keine schlechte Idee.

Was ich tun würde, ist, einfach eine neue Instanz zu starten; das ist am sichersten und wahrscheinlich schneller als ein Snapshot, aber wenn Sie nicht wissen, wie das geht, oder es nicht lehrreich ist, ist Ihre Idee in Ordnung.

2 „Gefällt mir“

Eines der Bilder wurde gelöscht und das hat den Trick gemacht!

Vielen Dank an alle für Ihre Hilfe.

2 „Gefällt mir“

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