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

Ich habe einen 25-GB-Droplet, der laut Discourse groß genug sein sollte, aber ich kann das Upgrade auf die neueste Version nicht durchführen, da mein Speicherplatz aufgebraucht ist. Mein Forum ist sehr klein mit sehr wenig Traffic.

Ich habe ./launcher cleanup ausgeführt und sogar alte Backups gelöscht, aber immer noch kein Erfolg.

Was kann ich tun?

root@DO-Discourse:/var/discourse# ./launcher rebuild app
x86_64 arch detected.

WARNING: We are about to start downloading the Discourse base image
This process may take anywhere between a few minutes to an hour, depending on your network speed

Please be patient

2.0.20220224-2005: Pulling from discourse/base
5eb5b503b376: Pull complete 
35b2f73fc27b: Pull complete 
44526e3ec669: Pull complete 
Digest: sha256:8a8bb9525882220196c0faa8ce95c62a7fb607fc203d4247b3d5985f3ca9c3d8
Status: Downloaded newer image for discourse/base:2.0.20220224-2005
docker.io/discourse/base:2.0.20220224-2005
You have less than 5GB of free space on the disk where /var/lib/docker is located. You will need more space to continue
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        25G   22G  3.0G  88% /

Would you like to attempt to recover space by cleaning docker images and containers in the system? (y/N)y
If the cleanup was successful, you may try again now
root@DO-Discourse:/var/discourse# 
root@DO-Discourse:/var/discourse# df -h
Dateisystem    Größe Benutzt Verf. B κατάgr. Eingehängt auf
udev            448M        0  448M   0% /dev
tmpfs            99M    1,1M   98M   2% /run
/dev/vda1        25G     18G  6,2G  75% /
tmpfs           491M        0  491M   0% /dev/shm
tmpfs           5,0M        0  5,0M   0% /run/lock
tmpfs           491M        0  491M   0% /sys/fs/cgroup
/dev/vda15      105M    9,2M   96M   9% /boot/efi
overlay          25G     18G  6,2G  75% /var/lib/docker/overlay2/d319d95263d87c2a75a4bc9a9f03a25ea7f6eb1f7bac687e7ae7d45522939dc0/merged
/dev/loop10      56M     56M     0 100% /snap/core18/2284
/dev/loop7       44M     44M     0 100% /snap/snapd/14978
/dev/loop5       62M     62M     0 100% /snap/core20/1361
/dev/loop2       68M     68M     0 100% /snap/lxd/22526
/dev/loop1       62M     62M     0 100% /snap/core20/1376
/dev/loop3       44M     44M     0 100% /snap/snapd/15177
/dev/loop4       56M     56M     0 100% /snap/core18/2344
/dev/loop6       68M     68M     0 100% /snap/lxd/22753
tmpfs            99M        0   99M   0% /run/user/0
root@DO-Discourse:/var/discourse# 

Sie könnten versuchen, ./launcher cleanup auszuführen, aber wenn das nicht hilft, müssen Sie Ihrem Server mehr Speicherplatz hinzufügen.

1 „Gefällt mir“

Sie könnten (sollten es aber nicht)
./launcher rebuild app --skip-prereqs

Wie ich bereits sagte, habe ich das schon ein paar Mal gemacht.
Ich habe gelesen, dass Discourse idealerweise 20 - 30 GB benötigt. Ich habe 25 GB, daher ist es seltsam, dass es mehr benötigen sollte. Haben sich die Anforderungen geändert?

Ich bin mir nicht sicher, was Sie meinen.

Ich meine kurzfristig auf einer Testinstanz, ich habe es versucht (ich glaube, es lief ok mit 4,6 GB frei), auf einer Produktionsinstanz würde ich das nicht tun.

sudo apt autoremove --purge vielleicht?

1 „Gefällt mir“

Sehen Sie auch nach, ob Sie viele Sicherungen haben.

1 „Gefällt mir“

Die Speicheranforderungen hängen davon ab, wie viele Medien auf Ihre Discourse-Instanz hochgeladen werden.

1 „Gefällt mir“

Es ist überraschend, wie schnell meine DO-Sandbox-Site wächst, während ich herumspiele.
Wenn Sie jetzt Probleme haben, können Sie vielleicht gerade genug löschen, um Discourse ein Upgrade durchführen zu lassen, aber nächstes Mal wird die Datenbank etwas größer sein und Sie haben möglicherweise mehr Medien.
Wenn Sie viele Medien haben, wird die Verlagerung in den S3-Speicher Platz schaffen, wenn nicht, ist eine Vergrößerung des Droplets möglicherweise Ihre einzige Option.

Auf DO soll das AMD-Droplet viel besser sein … nicht meine Benchmarks (ich habe es im Internet gelesen :face_with_raised_eyebrow:) - hier

1 „Gefällt mir“

Verstanden. Wo wird die genutzte Speichermenge angezeigt?

Verstanden. Meine Datenbank ist 60 MB groß und ich habe alle Backups gelöscht.

Wie ich bereits sagte, habe ich alle Backups gelöscht. (Meine DB ist jedoch nur 60 MB groß, sodass das keinen wirklichen Unterschied machte)

1 „Gefällt mir“

root@DO-Discourse:/var/discourse# apt autoremove --purge
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen… Fertig
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 94 nicht aktualisiert.
root@DO-Discourse:/var/discourse#

Sie können versuchen, den apt-Cache zu leeren.

apt clean

Sie könnten auch versuchen, Folgendes auszuführen:

du -h -s /* | sort -h -r

um herauszufinden, wo der Speicherplatz verwendet wird. Wenn beispielsweise der Großteil unter /usr liegt, können Sie dies mit

du -h -s /usr/* | sort -h -r

wiederholen und so weiter. Mit etwas Glück führt dies zu einigen großen Dingen, die geleert werden können. Löschen Sie jedoch offensichtlich nichts, ohne zu verstehen, was es ist – d. h. löschen Sie nichts, es sei denn, Sie sind sicher, dass dies sicher ist.

1 „Gefällt mir“

Für eine schnelle Überprüfung gibt es eine Menge an Uploads auf deinem /admin-Dashboard:

1 „Gefällt mir“

Hat mein vorheriger Befehl diese Informationen geliefert?

root@DO-Discourse:/var/discourse# cd ..
root@DO-Discourse:/var# cd ..
root@DO-Discourse:/# du -h --max-depth=1 -x
13G     ./var
301M    ./boot
5.4M    ./etc
116K    ./tmp
4.0K    ./srv
4.0K    ./home
28K     ./snap
4.0K    ./media
3.3G    ./usr
4.0K    ./mnt
901M    ./root
24K     ./opt
16K     ./lost+found
19G     .
root@DO-Discourse:/#