Ripristina su nuovo host

Ho configurato un nuovo host in modo da avere un ambiente di “staging”. Ho ricreato la stessa installazione di Discourse con quella che dovrebbe essere la stessa versione. Sto eseguendo la versione: 2.8.2.

Primo commento, a partire dalla versione 2.8.2 la dimensione del mio backup è scesa da 282 MB a circa 90 MB. Non sono sicuro del perché, ma mi adeguerò con alcune informazioni aggiunte di cui sto approfittando.

Ho scaricato l’ultimo archivio dal mio forum e l’ho caricato nello storage locale sul nuovo ambiente di staging.

Il ripristino fallisce a causa di:

[2022-02-27 19:41:18] ALTER TABLE
[2022-02-27 19:41:18] ALTER TABLE
[2022-02-27 19:41:18] Migrazione del database in corso...
[2022-02-27 19:43:00]
[2022-02-27 19:43:00] Riconnessione al database...
[2022-02-27 19:43:00] Ricaricamento delle impostazioni del sito...
[2022-02-27 19:43:00] Disabilitazione delle email in uscita per gli utenti non staff...
[2022-02-27 19:43:02] Disabilitazione della modalità di sola lettura...
[2022-02-27 19:43:02] Pulizia della cache delle categorie...
[2022-02-27 19:43:02] Ricaricamento delle traduzioni...
[2022-02-27 19:43:02] Rimodellamento degli upload...
[2022-02-27 19:43:02] Rimodellamento di 'https://forum.geekbeacon.org' a 'https://forum-staging.geekbeacon.org'
[2022-02-27 19:43:08] Ripristino degli upload, potrebbe richiedere del tempo...
[2022-02-27 19:43:36] ECCEZIONE: 8 post non sono stati rimappati al nuovo URL di upload S3. La migrazione S3 è fallita per il db 'default'.
[2022-02-27 19:43:36] /var/www/discourse/lib/file_store/to_s3_migration.rb:132:in `raise_or_log'
/var/www/discourse/lib/file_store/to_s3_migration.rb:87:in `migration_successful?'
/var/www/discourse/lib/file_store/to_s3_migration.rb:373:in `migrate_to_s3'
/var/www/discourse/lib/file_store/to_s3_migration.rb:66:in `migrate'
/var/www/discourse/lib/file_store/s3_store.rb:317:in `copy_from'
/var/www/discourse/lib/backup_restore/uploads_restorer.rb:62:in `restore_uploads'
/var/www/discourse/lib/backup_restore/uploads_restorer.rb:44:in `restore'
/var/www/discourse/lib/backup_restore/restorer.rb:61:in `run'
/var/www/discourse/script/spawn_backup_restore.rb:23:in `restore'
/var/www/discourse/script/spawn_backup_restore.rb:36:in `block in <main>'
/var/www/discourse/script/spawn_backup_restore.rb:4:in `fork'
/var/www/discourse/script/spawn_backup_restore.rb:4:in `<main>'
[2022-02-27 19:43:36] Tentativo di rollback...
[2022-02-27 19:43:36] Rollback in corso...
[2022-02-27 19:43:36] Pulizia in corso...
[2022-02-27 19:43:36] Eliminazione delle funzioni dallo schema discourse_functions...
[2022-02-27 19:43:36] Rimozione della directory tmp '/var/www/discourse/tmp/restores/default/2022-02-27-194051'...
[2022-02-27 19:43:36] Ripresa di sidekiq...
[2022-02-27 19:43:36] Marcatura del ripristino come completato...
[2022-02-27 19:43:36] Notifica a 'csgeek' della fine del ripristino...

1 Mi Piace

Questo è il tuo problema. Forse usa lo stesso bucket S3 e usa lo stesso bucket? Forse controlla che l’impostazione nascosta chiamata qualcosa come “scarica S3 nel backup” sia attivata. Dovrai cercare o guardare nel codice sorgente il nome dell’impostazione.

Oppure forse devi assicurarti che il resto dei tuoi caricamenti sul sito di produzione siano su S3.

1 Mi Piace

Non ho configurato S3, immagino che il vecchio server abbia dei dati vecchi che non sono stati mappati a una posizione S3 valida.

Sono tornato al vecchio server e ho 2 bucket configurati, 1 per i backup e 1 per i media. Ho seguito la guida e configurato AWS S3, inclusa la CDN.

Quando eseguo rake uploads:migrate_to_s3, che è fallito, ho seguito con un posts:rebake e questo sembra aver ridotto il numero di errori, ma fallisce ancora:

Si prega di notare che la migrazione a S3 non è attualmente reversibile!
[CTRL+c] per annullare, [ENTER] per continuare

Migrazione degli upload a S3 per 'default'...
Caricamento dei file su S3...
 - Elenco dei file locali
 => 208 file
 - Elenco dei file S3
. => 978 file
 - Sincronizzazione dei file su S3
................................................................................................................................................................................................................
Aggiornamento degli URL nel database...
Rimozione delle vecchie immagini ottimizzate...
Segnalazione di tutti i post contenenti lightbox per il rebake...
15 post sono stati segnalati per un rebake
rake aborted!
FileStore::ToS3MigrationError: 1 post non sono rimappati al nuovo URL di upload S3. La migrazione S3 è fallita per il db 'default'.
/var/www/discourse/lib/file_store/to_s3_migration.rb:132:in `raise_or_log'
/var/www/discourse/lib/file_store/to_s3_migration.rb:87:in `migration_successful?'
/var/www/discourse/lib/file_store/to_s3_migration.rb:373:in `migrate_to_s3'
/var/www/discourse/lib/file_store/to_s3_migration.rb:66:in `migrate'
/var/www/discourse/lib/tasks/uploads.rake:123:in `migrate_to_s3'
/var/www/discourse/lib/tasks/uploads.rake:102:in `block in migrate_to_s3_all_sites'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rails_multisite-4.0.0/lib/rails_multisite/connection_management.rb:80:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rails_multisite-4.0.0/lib/rails_multisite/connection_management.rb:90:in `each_connection'
/var/www/discourse/lib/tasks/uploads.rake:100:in `migrate_to_s3_all_sites'
/var/www/discourse/lib/tasks/uploads.rake:96:in `block in <main>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Tasks: TOP => uploads:migrate_to_s3
(Vedi la traccia completa eseguendo il task con --trace)

C’è un modo per eseguire migrate_to_s3 in modalità verbose per identificare il post che è il colpevole?