Falha na atualização do Discourse devido a espaço em disco insuficiente no droplet de 25G

Tenho um droplet de 25g, que o Discourse afirma ser grande o suficiente, mas não consigo fazer o upgrade para a versão mais recente, pois fiquei sem espaço de armazenamento. Meu fórum é muito pequeno, com muito pouco tráfego.

Executei ./launcher cleanup e até excluí backups antigos, mas ainda sem sucesso.

O que posso fazer?

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# 

Você pode tentar executar ./launcher cleanup, mas se isso não ajudar, você terá que adicionar mais disco ao seu servidor.

1 curtida

Você poderia (mas não deveria)
./launcher rebuild app --skip-prereqs

Como eu disse antes, já fiz isso, na verdade, algumas vezes.
Eu tinha lido que o Discourse precisa de 20-30 GB idealmente. Eu tenho 25 GB, então é estranho que precise de mais. Os requisitos mudaram?

Não tenho certeza do que você quer dizer.

Quero dizer a curto prazo em uma instância de teste, eu tentei (acho que correu bem com 4,6 GB livres), não faria em uma de produção.

sudo apt autoremove --purge talvez?

1 curtida

Veja também se você tem muitos backups.

1 curtida

Os requisitos de armazenamento dependem da quantidade de mídia que está sendo carregada para a sua instância do Discourse.

1 curtida

É surpreendente o quão rápido meu site de sandbox DO cresce enquanto eu brinco.
Se você está tendo problemas agora, talvez consiga excluir o suficiente para fazer o Discourse atualizar, mas da próxima vez o banco de dados será um pouco maior e você poderá ter mais mídia.
Se você tiver muita mídia, mover para o armazenamento S3 liberará espaço; caso contrário, redimensionar um droplet pode ser sua única opção.

No DO, o droplet AMD deve ser muito melhor… não pelos meus benchmarks (li isso na internet :face_with_raised_eyebrow:) - aqui

1 curtida

Entendido. Onde é exibida a quantidade de armazenamento utilizada?

Entendido. Meu banco de dados tem 60 MB e eu excluí todos os backups.

Como eu disse antes, excluí todos os backups. (Meu banco de dados tem apenas 60 MB, então isso não fez diferença real)

1 curtida

root@DO-Discourse:/var/discourse# apt autoremove --purge
Lendo listas de pacotes… Pronto
Construindo árvore de dependências
Lendo informação de estado… Pronto
0 pacotes atualizados, 0 pacotes instalados, 0 a remover e 94 não atualizados.
root@DO-Discourse:/var/discourse#

Algo que você pode tentar é limpar o cache do apt.

apt clean

Você também pode tentar executar

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

para descobrir onde o espaço está sendo usado. Se, por exemplo, a maioria estiver em /usr, você pode repetir com

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

e assim por diante. Com sorte, isso levará a alguma(s) coisa(s) grande(s) que podem ser limpas, mas obviamente não exclua nada sem entender o que é - ou seja, não exclua nada a menos que tenha certeza de que é seguro fazê-lo.

1 curtida

Para uma verificação rápida, há uma quantidade de Uploads no seu painel /admin:

1 curtida

Meu comando anterior forneceu essas informações?

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