Dieser Beitrag lag als Entwurf auf meta.discourse.org, während ich das Problem auf meinem Discourse-Server untersuchte. Ich habe das unten beschriebene Problem zwar umgehen können, aber die Tatsache, dass ich keine echte Katastrophenwiederherstellung durchführen konnte (eine Wiederherstellung ohne die Möglichkeit, auf den alten, defekten Server zuzugreifen), ist besorgniserregend. (Die Ursache war ein fehlgeschlagenes Upgrade von Postgres 10 auf 12, aber ich konnte das Update in der Datei app.yml von Discourse lange genug hinauszögern, um die Site-Einstellung enable_s3_uploads zu deaktivieren, bevor ich das Backup erstellte. Ich habe nun dieses Backup erstellt, auf den neuen Server hochgeladen, wiederhergestellt und den Discourse-Site-Betrieb wieder aufgenommen. Ursprüngliche Nachricht:
Ich rekonstruiere eine Discourse-Installation aus einem auf S3 gespeicherten Backup. Die alte Installation war sehr alt – erstmals im Juni 2016 installiert. Ich habe die Wiederherstellung aufgrund eines fehlgeschlagenen Postgres-Upgrades von Version 10 auf 12 mit einer frischen Installation gestartet. Anstatt das Problem zu beheben – da dieser Server eine nicht mehr unterstützte Version von Ubuntu ausführt –, dachte ich, ich würde einfach das neueste Backup nehmen und auf den neuen Server laden. Die Wiederherstellung schlägt jedoch fehl. In den Logs ist der Punkt, an dem ich auf ein Problem stoße, folgender:
[2020-11-23 22:27:32] Übersetzungen werden neu geladen...
[2020-11-23 22:27:32] Uploads werden neu zugeordnet...
[2020-11-23 22:27:32] Uploads werden wiederhergestellt, dies kann eine Weile dauern...
[2020-11-23 22:28:38] AUSNAHME: 465 von 751 Uploads wurden nicht zu S3 migriert. Die S3-Migration für die Datenbank 'default' ist fehlgeschlagen.
[2020-11-23 22:28:38] /var/www/discourse/lib/file_store/to_s3_migration.rb:131:in `raise_or_log'
/var/www/discourse/lib/file_store/to_s3_migration.rb:78:in `migration_successful?'
/var/www/discourse/lib/file_store/to_s3_migration.rb:357:in `migrate_to_s3'
/var/www/discourse/lib/file_store/to_s3_migration.rb:65:in `migrate'
/var/www/discourse/lib/file_store/s3_store.rb:238:in `copy_from'
/var/www/discourse/lib/backup_restore/uploads_restorer.rb:48:in `restore_uploads'
/var/www/discourse/lib/backup_restore/uploads_restorer.rb:30:in `restore'
/var/www/discourse/lib/backup_restore/restorer.rb:64: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>'
[2020-11-23 22:28:38] Rückgängigmachen wird versucht...
Dies klingt ähnlich wie bei Restore process cancelled at migrating uploads to S3 step - #5 by Jim.Morrison, doch dort gab es keine Hinweise zur Behebung des Problems.
Die Meldung „Bevor Sie posten" im rechten Bereich dieses Schreibfensters schlug zudem Failed to restore DB vor, doch auch dort war nichts Hilfreiches zu finden.