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

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

Vale a pena ir mais longe?

Excluí 2,8G de logs, o que me deu apenas 4,9G. Não tenho uma instância de “teste” para tentar ./launcher rebuild app --skip-prereqs

Alguma outra sugestão?

Não é mais possível executar uma instância do Discourse em um droplet de 25G?

Veja o final de Prune unused Docker objects | Docker Docs

Acho que você quer podar tudo e podar volumes

docker system prune --volumes
AVISO! Isso removerá:
  - todos os contêineres parados
  - todas as redes não usadas por pelo menos um contêiner
  - todos os volumes não usados por pelo menos um contêiner
  - todas as imagens pendentes
  - todo o cache de compilação pendente

Tem certeza de que deseja continuar? [s/N] s
Espaço total recuperado: 0B
root@DO-Discourse:/# 

Alguma outra sugestão?

você tem algum uso para o snap?

Não muito, é bastante revelador que o espaço esteja sendo consumido pelo docker para seus contêineres. Após uma limpeza, meus números são muito semelhantes aos seus, o que talvez (mas não necessariamente) seja indicativo de quanto ele usa.

Eu tive problemas com um Linode de 25GB, no entanto, isso foi com backups de 500MB+, excluir dois ou três backups me deu espaço suficiente para reconstruir. Optei por mudar para o próximo nível com 50GB porque isso só se tornaria mais restritivo e eu queria reconstruir em um cron job mensal.

Isso foi antes da mudança para o Ember CLI, isso poderia ter tornado as coisas significativamente maiores?

Essa sobreposição de 9 GB parece ser o problema. Mas tenho uma de tamanho semelhante em outra instância que acabei de verificar. Sempre foi desafiador com 25 GB. Recomendo que você se conforme e compre mais SSD. A próxima coisa que você poderia tentar seria ver se há coisas no nível do sistema operacional que você pode remover (logs, programas desnecessários, índices do find, talvez?).

Outra ideia seria simplesmente iniciar uma nova VM de 25 GB e migrar para lá, esperando que o que quer que tenha preenchido a antiga não seja um problema desta vez.

Nenhuma dessas respostas parece especialmente satisfatória. Lutei muito com um droplet de 25 GB em uma ou duas instâncias que ajudo a gerenciar nas últimas semanas, mas acho que você fez tudo o que eu fiz.

3 curtidas

Não tenho certeza. Preciso dele para uma instalação apenas do discourse? E se não, como o excluo?

Eu não acho :thinking:
depois de um download completo de backup, você pode executar snap list para verificar quais snaps estão instalados e, se nenhum, 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# 

O que são essas sobreposições? Posso excluí-las?

Olá Andy, desculpe pelo atraso.
Neste ponto, por favor, tenha em mente que sem visibilidade do seu sistema host, é fácil te guiar para um precipício, então faça backup/snapshot/etc… (ou até mesmo faça um backup, inicie uma nova instância e teste o processo de restauração, tem sido um bom exercício para mim)
Assumindo que você não tem uso para o lxd (lxc list deve mostrar os contêineres instalados) snap remove lxd (e depois core18 e 20)

1 curtida

Você pode compartilhar a saída de docker images e docker ps -a?

Obrigado pela ajuda. Sim, sei tão pouco sobre Linux que aprecio totalmente o conselho de fazer backup. Tenho um snapshot automático e faço um manual sempre que estou mexendo como agora.

Não tenho ideia do que é lxd. Não preciso de nada neste droplet que o discourse/docker não precise, pois é exclusivamente um droplet discourse.

1 curtida
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#

Considerando

e

Eu acho que você tem algumas camadas pendentes na sua pasta overlay2.

Veja esta resposta do StackOverflow para orientação:

3 curtidas

Obrigado.
Isso está um pouco acima do meu entendimento, seria seguro apenas tirar um snapshot e depois excluí-los e ver o que acontece?

1 curtida

Acho que é seguro excluir todas essas imagens. Se precisar delas, elas serão substituídas quando você reconstruir.

Tirar um snapshot não é uma má ideia.

O que eu faria seria apenas iniciar uma nova instância; isso é mais seguro e provavelmente mais rápido do que um snapshot, mas se saber como fazer isso não for divertido ou instrutivo, sua ideia está boa.

2 curtidas

Excluí uma das imagens e isso resolveu o problema!

Obrigado a todos pela ajuda.

2 curtidas

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