Sua instalação do Docker não está usando um driver de armazenamento compatível.

Ei pessoal, estou com um problema em uma atualização que me apresentou a seguinte mensagem:

Se você deseja continuar de qualquer maneira usando seu driver de armazenamento não suportado existente,
leia o código-fonte do launcher e descubra como contornar essa verificação.
root@sendy:/var/docker/discourse# git pull
Já está atualizado.
root@****:/var/docker/discourse# ./launcher rebuild app
Sua instalação do Docker não está usando um driver de armazenamento suportado. Se fôssemos t.
o overlay2 é o driver de armazenamento recomendado, embora zfs e aufs possam funcionar também.
Outros drivers de armazenamento são conhecidos por causar problemas.
Você pode verificar qual sistema de arquivos está usando executando "docker info" e olhando.

Se você deseja continuar de qualquer maneira usando seu driver de armazenamento não suportado existente,
leia o código-fonte do launcher e descubra como contornar essa verificação.
root@****:/var/docker/discourse# docker info
Containers: 5
Images: 74
Storage Driver: devicemapper
 Pool Name: docker-8:0-1970634-pool
 Pool Blocksize: 65.54 kB
 Data file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata file: /var/lib/docker/devicemapper/devicemapper/metadata
 Data Space Used: 34.15 GB
 Data Space Total: 107.4 GB
 Metadata Space Used: 41.37 MB
 Metadata Space Total: 2.147 GB
 Library Version: 1.02.82-git (2013-10-04)
Execution Driver: native-0.2
Kernel Version: 5.6.14-x86_64-linode135
Operating System: Debian GNU/Linux

Olá @pauln

Se o seu host estiver executando apenas o Docker para dar suporte ao Discourse e o kernel do Linux suportar o OverlayFS, recomendo que você reconfigure o Docker (com cuidado) para usar o driver de armazenamento overlay2.

Espero que isso ajude.

2 curtidas

Pode me dizer como fazer isso?

Estou rodando no Linode (Debian 7.5)

Pode me dizer como reconfigurar o Docker?

Segundo a documentação oficial do Docker:

Para instalar o Docker Engine, você precisa da versão de 64 bits de uma dessas versões do Debian ou Raspbian:

  • Debian Buster 10 (estável)
  • Debian Stretch 9 / Raspbian Stretch

Recomendo usar um VPS atualizado.

2 curtidas

@pauln

Ei, estou ligado e acordado.

O que você quer fazer?

Você quer migrar para uma versão mais recente do Debian ou prefere que eu verifique se consigo fazer sua versão 7.5 funcionar primeiro?

Se você quiser que eu verifique se consigo fazer sua versão 7.5 funcionar; preciso saber:

  • O Docker está executando algo mais?

O problema é que, ao alterar o driver de armazenamento do Docker no arquivo de configuração do Docker, todos os contêineres existentes ficarão inacessíveis; então precisaremos:

  • Garantir que você tenha um backup completo do Discourse (sempre)

  • Desligar o Docker.

  • Editar a configuração do Docker para alterar o driver de armazenamento.

  • Reiniciar o Docker

  • Recriar o Discourse

Se o kernel do seu Debian suportar o OverlayFS, isso será feito sem problemas. Caso contrário, falhará, mas não haverá danos; podemos voltar ao devicemapper.

Me avise como deseja prosseguir.

Obrigado.

1 curtida

Sim, gostaria de fazê-lo funcionar primeiro na versão 7.5. O Docker está executando apenas o Discourse.

Obrigado, vamos fazer isso :slight_smile:

1 curtida

OK… foi isso que pensei :slight_smile:

Na verdade, os passos estão descritos aqui:

Dê uma olhada rápida e me avise se você está de acordo com os passos descritos ou se tem alguma dúvida.

Obrigado.

1 curtida

Ok, vou tentar esses passos e volto para você. Já tentei algo similar e não funcionou. Vou te manter informada.

Se o seu kernel Linux não suportar o OverlayFS, a operação falhará.

Sem problemas.

Você pode reverter :wink:

Se não falhar, posso voltar a dormir :slight_smile:

Como posso testar se ele tem suporte ou não?

O Docker não será reiniciado.

Em outras palavras, a etapa 5 das instruções do Docker (acima) falhará:

5. Inicie o Docker.

$ sudo systemctl start docker

Isso falhará ou terá sucesso…

(você pode precisar de um comando diferente de systemctl, mas o conceito é o mesmo)

1 curtida

Ok, tentando. Vou postar uma atualização aqui.

Divirta-se.

Não vou tomar um café, esperando por um milagre e que seu antigo kernel Linux (por algum motivo estranho) realmente suporte o OverlayFS.

Minha rápida “pesquisa” no Google sobre isso, para ser honesto, não foi animadora, mas estou tentando ser otimista.

:slight_smile:

2 curtidas

Não funcionou. :frowning: Como eu moveria meu Fórum para um novo VPS sem perder todos os dados dos usuários?

Baixe seu app.yml e o backup mais recente.

Seu app.yml geralmente está em /var/discourse/containers.

Os backups estão em /var/discourse/shared/NOMEDOCONTAINER/backups.

Se seu site Discourse estiver inacessível, eles ainda podem ser baixados via SFTP ou usando SCP.

Olá @pauln

Sinto muito em saber disso. Eu suspeitava que seu kernel antigo não suportava o OverlayFS, mas raramente faz mal tentar e aprender coisas pelo caminho.

Você quer continuar com o Debian ou optar pelo Ubuntu na sua nova configuração?

Eu uso o Ubuntu “há sempre” e ele é oficialmente suportado pelo Discourse, então essa é a minha recomendação, mas, claro, a escolha é sua. O Debian também é legal :slight_smile:

2 curtidas

Olá @pauln

Há um grupo de pessoas que pode ajudá-lo a configurar um novo VPS, instalar o Discourse do zero e restaurar seu site; então, vou voltar a dormir.

Foi um prazer trabalhar com você. Para encerrar, aqui está minha recomendação:

  • Configure um novo VPS Ubuntu na Linode, já que você já é usuário da Linode (assim como eu, a propósito).
  • Instale o Discourse do zero (bem documentado).
  • Restaure o Discourse a partir do seu backup (bem documentado).

Há muitas pessoas talentosas para guiá-lo nessa jornada, então vou me despedir por enquanto.

Melhores desejos.

3 curtidas

Bom dia (no meu horário) @pauln

Verifiquei para você esta manhã e, se você não quiser migrar para um novo VPS neste momento, por qualquer motivo que tenha, pode tentar o mesmo método; mas, em vez de overlay2, tente aufs.

De acordo com o script de inicialização do Discourse:

  # 2. executando um driver de armazenamento aprovado?
  if ! $docker_path info 2> /dev/null | egrep -q 'Storage Driver: (aufs|zfs|overlay2)$'; then

Isso significa que, como algumas versões mais antigas do Debian suportam aufs e o Discourse parece suportar aufs (ao analisar o launcher), você pode tentar essa opção.

O ideal é mesmo atualizar para uma nova distribuição Linux e kernel, já que o Debian 7.5 está EOL (sem suporte) há mais de dois anos, e é sempre melhor sair de códigos EOL quando possível. Eu seguiria esse caminho, sem dúvida, e migraria para o driver de armazenamento overlay2 (altamente recomendado). No entanto, a escolha é sua e, se quiser experimentar o aufs por diversão, vá em frente. Aprender coisas novas é sempre divertido e recompensador.

Referência:

Espero ter ajudado.


Notas do ambiente de testes:

@pauln

Para te ajudar, acabei de pegar um VPS Ubuntu fresco da Linode, instalei o Docker e alterei o Storage Driver para aufs:

# docker info | grep aufs
 Storage Driver: aufs
  Root Dir: /var/lib/docker/aufs

Em seguida, segui as instruções padrão de instalação do Docker:

https://github.com/discourse/discourse/blob/master/docs/INSTALL-cloud.md

e o Discourse foi instalado sem problemas sobre o Docker com o driver de armazenamento aufs.

Então, talvez você possa tentar isso no seu VPS Debian 7.5, por diversão e aprendizado, se quiser.

Claro, a recomendação (oficial e não oficial) é que você migre para um novo VPS com suporte, como mencionado antes. Por favor, retorne com um post e nos atualize sobre sua decisão e seu progresso.

1 curtida

Eu apenas comentei o bloco de código em launcher. Às vezes, você tem que viver perigosamente :smiling_face_with_sunglasses:!