La mise à niveau de Discourse échoue en raison d'un espace disque insuffisant sur le droplet 25G

J’ai une instance droplet de 25 Go, ce qui, selon Discourse, devrait être suffisant, mais je ne peux pas effectuer la mise à niveau vers la dernière version car je manque d’espace de stockage. Mon forum est très petit avec très peu de trafic.

J’ai exécuté ./launcher cleanup et même supprimé les anciennes sauvegardes, mais toujours sans succès.

Que puis-je faire ?

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
Filesystem      Size  Used Avail Use% Mounted on
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# 

Vous pourriez essayer d’exécuter ./launcher cleanup mais si cela ne résout pas le problème, vous devrez ajouter plus de disque à votre serveur.

1 « J'aime »

Vous pourriez (mais vous ne devriez pas)
./launcher rebuild app --skip-prereqs

Comme je l’ai dit plus tôt, j’ai déjà fait ça, plusieurs fois d’ailleurs.
J’avais lu que Discourse avait idéalement besoin de 20 à 30 Go. J’en ai 25 Go, donc c’est étrange qu’il en faille plus. Les exigences ont-elles changé ?

Je ne suis pas sûr de comprendre ce que vous voulez dire.

Je veux dire à court terme sur une instance de test, j’ai essayé (je pense que ça s’est bien passé avec 4,6 Go libres), je ne le ferais pas sur une instance de production.

sudo apt autoremove --purge peut-être ?

1 « J'aime »

Vérifiez également si vous avez beaucoup de sauvegardes.

1 « J'aime »

Les besoins en stockage dépendent de la quantité de médias téléchargés sur votre instance discourse.

1 « J'aime »

Il est surprenant de voir à quelle vitesse mon site sandbox DO grandit pendant que je joue.\nSi vous avez des problèmes maintenant, vous pourrez peut-être supprimer suffisamment pour que Discourse se mette à jour, mais la prochaine fois, la base de données sera un peu plus grande et vous aurez peut-être plus de médias.\nSi vous avez beaucoup de médias, le déplacement vers le stockage S3 libérera de l’espace, sinon un redimensionnement de droplet pourrait être votre seule option.\n\nSur DO, le droplet AMD est censé être bien meilleur… pas selon mes benchmarks (je l’ai lu sur Internet :face_with_raised_eyebrow:) - ici

1 « J'aime »

Copié. Où est affichée la quantité de stockage utilisée ?

Compris. Ma base de données fait 60 Mo et j’ai supprimé toutes les sauvegardes.

Comme je l’ai dit plus tôt, j’ai supprimé toutes les sauvegardes. (Ma base de données ne fait que 60 Mo, donc cela n’a pas vraiment fait de différence)

1 « J'aime »

root@DO-Discourse:/var/discourse# apt autoremove --purge
Lecture des listes de paquets… Fait
Construction de l’arbre des dépendances
Lecture des informations d’état… Fait
0 mis à jour, 0 nouvellement installés, 0 à retirer et 94 non mis à jour.
root@DO-Discourse:/var/discourse#

Vous pouvez essayer de vider le cache apt.

apt clean

Vous pourriez également essayer d’exécuter

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

pour découvrir où l’espace est utilisé. Si, par exemple, la majorité se trouve sous /usr, vous pouvez répéter avec

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

et ainsi de suite. Avec un peu de chance, cela mènera à une ou plusieurs grosses choses qui peuvent être supprimées, mais évidemment ne supprimez rien sans comprendre de quoi il s’agit - c’est-à-dire ne supprimez rien à moins d’être certain que cela ne présente aucun risque.

1 « J'aime »

Pour une vérification rapide, il y a un montant de téléchargements sur votre tableau de bord /admin :

1 « J'aime »

Ma commande précédente a-t-elle fourni ces informations ?

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:/#