Mover Uploads e Backups para o DigitalOcean Block Storage

Então você quer mover todos os uploads e backups para o DigitalOcean Block Storage?

Antes de fazer isso, porém, você pode considerar usar Configure an S3 compatible object storage provider for uploads. Não é mais complicado de configurar e oferece algumas outras vantagens.

Configure uma instância do Discourse no DigitalOcean

Configure uma instância do Discourse no DigitalOcean usando nosso guia oficial.

Adicione um Volume ao seu droplet

Adicione um volume de armazenamento em bloco ao seu droplet. Anote o nome do volume. No meu caso, o nome do volume era volume-nyc1-05.

Certifique-se de que o volume esteja formatado e montado em /mnt/volume_nyc1_05.

Mova /var/discourse/shared para o volume

Para melhor desempenho, manteremos postgres_data em nosso disco principal e moveremos o restante dos dados para o volume recém-anexado.

Logado como root, execute estes comandos a partir do seu servidor:

mv /var/discourse/shared/standalone/postgres_data /var/postgres_data_discourse
mv /var/discourse/shared /mnt/volume_nyc1_05

Certifique-se de substituir volume_nyc1_05 pelo nome do seu volume.

Edite app.yml para refletir as alterações

Abra o arquivo /var/discourse/containers/app.yml no seu editor preferido e procure por este bloco:

## The Docker container is stateless; all data is stored in /shared
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

Substitua o bloco acima por:

## The Docker container is stateless; all data is stored in /shared
volumes:
  - volume:
      host: /mnt/volume_nyc1_05/shared/standalone
      guest: /shared
  - volume:
      host: /mnt/volume_nyc1_05/shared/standalone/log/var-log
      guest: /var/log
  - volume:
      host: /var/postgres_data_discourse
      guest: /shared/postgres_data

Certifique-se de substituir volume_nyc1_05 pelo nome do seu volume.

Salve o arquivo app.yml e reconstrua o contêiner.

/var/discourse/launcher rebuild app

:tada: Pronto!

É isso, todos os seus uploads e backups agora foram movidos para o DigitalOcean Block Storage.


Créditos

Este guia foi inspirado na sugestão do @sam aqui.

37 curtidas

Estou tentando seguir esta abordagem na Hetzner que tem armazenamento semelhante, mas me pergunto se isso poderia prejudicar nosso desempenho geral.

Li que oferecerá 1/3 da velocidade do SSD, mas estou falando de uma diferença notável no uso diário para uploads e exibição de arquivos em nossa instância do Discourse, pois não tenho certeza se esse 1/3 realmente impacta ou se está bom para fazer upload de arquivos.

Claro, o resultado final depende da nossa CPU, RAM e de qual sistema de arquivos e tamanho de bloco estamos usando.

Alguém quer compartilhar sua experiência? :slight_smile:

Obrigado pelo guia!

Você deve desligar o droplet antes de fazer isso? Normalmente eu assumiria que sim, mas como está apenas embaralhando uploads?

Não. Apenas crie o espaço e siga as instruções para montá-lo.

Obrigado pela orientação. Depois de concluir todas as etapas e ter o fórum funcionando novamente, testemunhamos constantemente imagens que falharam ao carregar. Como elas têm um caminho incorreto.

Existe alguma maneira de executar um diagnóstico sobre isso e fazer alguma correção automática?

Você consertou o problema no final?

1 curtida

Não :frowning: ainda não consegui consertar.

1 curtida