Espaço em disco insuficiente para atualizar a instância do Discourse

Olá,

Tenho uma pequena instância do Discourse em um servidor com 25 GB de espaço. No momento, só tem 3,4 GB livres, e não tenho certeza do motivo. Isso está me impedindo de executar atualizações.

Não há outros serviços rodando nesta instância além do Discourse, nem houve em algum momento.

Até agora, para liberar espaço, fiz o seguinte:

  • excluí todos os logs que consegui encontrar, tanto do Discourse quanto de /var/log/journal
  • excluí todas as minhas backups do Discourse, exceto uma
  • removi todas as imagens antigas do Docker
  • executei apt-get autoclean e apt-get autoremove
  • verifiquei que não havia kernels antigos

Pensei em mover os dados do PostgreSQL para um disco externo, mas eles ocupam menos de 1 GB no momento, então acho que isso não ajudaria o suficiente.

O /dev/vda1 está usando 20 GB de espaço.

Há mais alguma coisa que eu possa fazer? 25 GB já não é uma quantidade razoável de espaço em disco para rodar o Discourse?

Depende principalmente dos seus uploads, mas também dos backups e do PostgreSQL, caso seu site seja muito grande (o que parece não ser o problema). Qual é o tamanho dos seus uploads? O painel de administração deve indicar isso na parte inferior.

É menor que 50 MB, esta não é uma instância grande ou antiga. Como mencionei, considerei movê-la para fora da unidade principal, mas não acho que esse seja o problema principal aqui.

Se seus uploads são de ~25 MB e seu PostgreSQL é de ~1 GB, suspeito que o Discourse esteja fazendo backups que você não precisa. Eu verificaria suas configurações de retenção de backup (Admin > Configurações > Backups) e observaria seus backups atuais (Admin > Backups) e excluiria qualquer um que você não precise.

Excluí o único backup que restava depois de copiá-lo do disco. Ainda tenho apenas 3,5 GB livres.

Sim, desculpe, acabei de atualizar minha publicação com as instruções atualizadas.

Este servidor não possui um diretório /shared/.

Aqui está o que obtive com du -sh /var/discourse/*, apenas 658M no total:

4.0K    /var/discourse/LICENSE
12K     /var/discourse/README.md
4.0K    /var/discourse/bin
4.0K    /var/discourse/cids
8.0K    /var/discourse/containers
12K     /var/discourse/discourse-doctor
8.0K    /var/discourse/discourse-setup
368K    /var/discourse/image
8.0K    /var/discourse/install-discourse
28K     /var/discourse/launcher
32K     /var/discourse/samples
8.0K    /var/discourse/scripts
657M    /var/discourse/shared
180K    /var/discourse/templates

Os maiores usos de espaço no sistema de arquivos são /var/lib/containerd/io.containerd.content.v1.content com 2,4 GB e /var/lib/containerd/io.containerd.snapshotter.v1.overlayfs com impressionantes 12 GB

Desculpe, esqueci de mencionar que você precisa estar dentro do container. O arquivo que você mencionou é do Docker. Você pode verificar o que está sendo usado com docker system df e fazer uma limpeza global com docker system prune, se necessário, apenas certifique-se de que o Discourse esteja em execução quando fizer isso.

Ah, isso faria sentido.

No container, a única coisa maior que 1 GB é /var/www/discourse/vendor/bundle/ruby/, com 2,1 GB.

Vou acrescentar que, se eu limpar a imagem que o update baixa, tenho espaço suficiente, mas quando tento atualizar e ela baixa novamente, perco esse espaço. Então, a nova imagem ocupa quase 5 GB.

Você consegue mostrar a saída desse comando do Docker? Esse diretório contém todas as gems do Ruby, e esse tamanho não me parece alarmante.

De fato, por favor, mostre todas as suas saídas. Não recomendo olhar por dentro do container - o seu problema está no nível do sistema, e é aí que você deve começar a procurar. E não olhe onde você acha que pode haver um problema, mas olhe o quadro geral.

Primeiro, reinicie. Você quer um sistema de arquivos limpo e um sistema novo.

Em seguida, veja este tópico anterior para conselhos detalhados:

[quote=“Ed_S, post:3, topic:404122”]
Por favor, poste detalhes do que aconteceu
[/quote]}