Recuperar de copia de seguridad del sistema de archivos: no se puede reconstruir ni iniciar

El RAID del servidor falleció hace un par de días y estamos intentando recuperar nuestra instancia de Discourse a partir de una copia de seguridad del sistema de archivos. Hasta ahora no hemos tenido éxito.

Recibo este mensaje de error al ejecutar ./launcher rebuild app:

FAILED
--------------------
Pups::ExecError: /root/upgrade_postgres falló con el estado de retorno #<Process::Status: pid 46 exit 1>
Ubicación del fallo: /pups/lib/pups/exec_command.rb:112:in `spawn'
La ejecución falló con los parámetros "/root/upgrade_postgres"

Su salida indica que debería poder simplemente ejecutar ./launcher start app, pero falla con:

+ /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
No se pudo encontrar la imagen 'local_discourse/app:latest' localmente
docker: Error de respuesta del daemon: acceso de descarga denegado para local_discourse/app, el repositorio no existe o puede requerir 'docker login': denegado: se solicitó acceso al recurso y fue denegado.
Consulte 'docker run --help'.

La salida completa de ambos comandos está disponible aquí.

Solo por si acaso, mi docker ps está vacío.

No estoy seguro de cómo proceder y agradecería cualquier ayuda.

¿Por qué no utilizas nuestras funciones oficiales de copia de seguridad y restauras un archivo de copia de seguridad en un nuevo servidor?

Ese es nuestro método de recuperación soportado y está documentado en Crear, descargar y restaurar una copia de seguridad de tu base de datos de Discourse

Este método asume que tienes una copia de seguridad preparada por una instancia de Discourse en ejecución. Yo no tengo una (ya no) :cry:

Las copias de seguridad están habilitadas de forma predeterminada y se guardan en el sistema de archivos del host. Si tienes una copia de seguridad del sistema de archivos, los archivos de copia de seguridad se encuentran en la carpeta backups…

Parece que la función de copia de seguridad no se ha activado: solo veo un par de archivos comprimidos de copia de seguridad con fechas de modificación bastante antiguas…

Creo que la copia de seguridad semanal está activada de forma predeterminada en una instalación normal de Discourse.

Puede que termine usando uno de ellos, pero aún necesito una instancia en ejecución y sigo obteniendo esos errores al intentar ejecutarla.

Es mucho más fácil mover el archivo de respaldo a otro servidor y seguir Restore a backup from the command line

¿Qué quieres decir con “otro servidor”? Solo tengo un único servidor.

Vale, hagamos un paso atrás.

Cuando ejecutas una reconstrucción, te sale un error. ¿Podrías pegar más de solo 4 líneas del error para que sepamos exactamente qué está fallando?

Quizás no lo notaste porque solo agregué el enlace a la salida completa en una actualización del post principal:

Salida completa de ambos comandos disponible aquí.

¡Qué genial!

Así que

El clúster de origen no se apagó correctamente.

Necesitarás seguir esto

para iniciar la base de datos sin la actualización primero, y luego realizar la actualización después.

¡Funcionó, muchas gracias!