Ripristino da backup del filesystem: non riesco a ricostruire né avviare

Il RAID del server si è guastato un paio di giorni fa e stiamo cercando di riportare in vita la nostra istanza di Discourse da un backup del filesystem. Finora senza successo.

Ricevo questo messaggio di errore da ./launcher rebuild app:

FAILED
--------------------
Pups::ExecError: /root/upgrade_postgres è terminato con lo stato #<Process::Status: pid 46 exit 1>
Posizione dell'errore: /pups/lib/pups/exec_command.rb:112:in `spawn'
esecuzione fallita con i parametri "/root/upgrade_postgres"

Il suo output afferma che dovrei poter semplicemente eseguire ./launcher start app, ma fallisce 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
Impossibile trovare l'immagine 'local_discourse/app:latest' localmente
docker: Errore di risposta dal demone: accesso al pull negato per local_discourse/app, il repository non esiste o potrebbe richiedere 'docker login': negato: accesso alla risorsa richiesto negato.
Vedi 'docker run --help'.

L’output completo di entrambi i comandi è disponibile qui.

Per completezza, il mio docker ps è vuoto.

Non sono sicuro di come procedere e apprezzo qualsiasi aiuto.

Perché non utilizzare le nostre funzionalità ufficiali di backup e ripristinare un file di backup su un nuovo server?

Questo è il nostro metodo di recupero supportato ed è documentato in Crea, scarica e ripristina un backup del database di Discourse

Questo metodo presuppone che tu abbia un backup preparato da un’istanza di Discourse in esecuzione. Io non ne ho più uno :cry:

I backup sono abilitati per impostazione predefinita e salvati nel file system dell’host. Se disponi di un backup del file system, troverai i file di backup nella cartella backup…

La funzione di backup non sembra essere stata abilitata: vedo solo un paio di archivi tar con date di modifica piuttosto vecchie…

Credo che il backup settimanale sia attivo di default in un’installazione standard di Discourse.

Potrei finire per usarne uno, ma ho comunque bisogno di un’istanza in esecuzione e continuo a ricevere quegli errori quando provo a eseguirla.

È molto più semplice spostare il file di backup su un altro server e seguire Restore a backup from the command line

Cosa intendi per “un altro server”: io ho un solo server.

Ok, facciamo un passo indietro.

Quando esegui una ricompilazione, ricevi un errore. Puoi incollare più di sole 4 righe di errore in modo che possiamo capire esattamente cosa sta fallendo?

Forse l’hai perso perché ho aggiunto il link all’output completo solo in un aggiornamento al post principale:

Output completo di entrambi i comandi disponibile qui.

Oh, figo!

Quindi

Il cluster di origine non è stato spento correttamente.

Dovrai seguire questo

per avviare il database senza prima eseguire l’aggiornamento, e poi procedere con l’aggiornamento in un secondo momento.

Ha funzionato, grazie mille!