Recuperar de backup do sistema de arquivos: não consigo reconstruir nem iniciar

O RAID do servidor falhou há alguns dias e estamos tentando restaurar nossa instância do Discourse a partir de um backup do sistema de arquivos. Até agora, sem sucesso.

Recebi a seguinte mensagem de erro ao executar ./launcher rebuild app:

FAILED
--------------------
Pups::ExecError: /root/upgrade_postgres failed with return #<Process::Status: pid 46 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params "/root/upgrade_postgres"

A saída indica que eu deveria conseguir apenas executar ./launcher start app, mas isso falha com:

+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=3 -e UNICORN_SIDEKIQS=1 -e RUBY_GLOBAL_METHOD_CACHE_SIZE=131072 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e DISCOURSE_DEVELOPER_EMAILS=bravit111@gmail.com,ulysses4ever@gmail.com -e DISCOURSE_HOSTNAME=forum.mmcs.sfedu.ru -e DISCOURSE_SMTP_ADDRESS=class.mmcs.sfedu.ru -e DISCOURSE_ENABLE_CORS=true -e 'DISCOURSE_CORS_ORIGIN=*' -e DONT_PRECOMPILE_CSS=1 -h users-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 8088:80 -p 2222:22 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 02:b1:c6:37:24:01 local_discourse/app /sbin/boot
Unable to find image 'local_discourse/app:latest' locally
docker: Error response from daemon: pull access denied for local_discourse/app, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.

A saída completa de ambos os comandos está disponível aqui.

Apenas para confirmar, meu docker ps está vazio.

Não tenho certeza de como proceder e agradeceria qualquer ajuda.

Por que você não usa nossos recursos oficiais de backup e restaura um arquivo de backup em um novo servidor?

Esse é o nosso método de recuperação suportado e está documentado em Criar, baixar e restaurar um backup do banco de dados do Discourse

Este método pressupõe que você tenha um backup preparado por uma instância do Discourse em execução. Eu não tenho mais um :cry:

Os backups são ativados por padrão e salvos no sistema de arquivos do host. Se você tiver um backup do sistema de arquivos, os arquivos de backup estarão na pasta backups…

A funcionalidade de backup parece não ter sido ativada: estou vendo apenas alguns arquivos tar de backup com datas de modificação bastante antigas…

Acredito que o backup semanal esteja ativado por padrão em uma instalação normal do Discourse.

Posso acabar usando um deles, mas ainda preciso de uma instância em execução e continuo recebendo esses erros ao tentar executá-la.

É muito mais fácil mover o arquivo de backup para outro servidor e seguir Restore a backup from the command line

O que você quer dizer com ‘outro servidor’? Eu só tenho um único servidor.

Tudo bem, vamos recuar um pouco.

Quando você executa uma reconstrução, acaba recebendo um erro. Você pode colar mais do que apenas 4 linhas do erro, para que saibamos exatamente o que está falhando?

Você talvez não tenha notado, pois adicionei o link para a saída completa apenas em uma atualização no post principal:

Saída completa de ambos os comandos disponível aqui.

Que legal!

Então

O cluster de origem não foi desligado corretamente.

Você precisará seguir este

para iniciar o banco de dados sem a atualização primeiro e, em seguida, realizar a atualização depois.

Funcionou, muito obrigado!