Ceci est resté en brouillon sur meta.discourse.org pendant que je traitais le problème sur mon serveur Discourse. J’ai réussi à contourner le problème décrit ci-dessous, mais le fait de ne pas pouvoir effectuer une restauration de type « catastrophe » (une restauration sans la possibilité d’accéder à l’ancien serveur défectueux) est préoccupant. (La cause racine était une mise à jour échouée de Postgres 10 vers 12, mais j’ai pu reporter la mise à jour dans le fichier app.yml de Discourse suffisamment longtemps pour désactiver le paramètre du site enable_s3_uploads avant de créer la sauvegarde. J’ai désormais effectué cette sauvegarde, l’ai téléchargée sur le nouveau serveur, l’ai restaurée et le site Discourse fonctionne à nouveau. Message original :
Je reconstruis une installation Discourse à partir d’une sauvegarde stockée sur S3. L’ancienne installation était très ancienne — installée pour la première fois en juin 2016. J’ai lancé la restauration à partir d’une installation neuve en raison d’une mise à jour échouée de Postgres 10 vers 12. Plutôt que de corriger cela… étant donné que cette machine exécutait une version d’Ubuntu qui n’est plus prise en charge… j’ai pensé prendre simplement la dernière sauvegarde et la charger sur le nouveau serveur. La restauration échoue cependant. Dans les journaux, le point où je rencontre un problème est le suivant :
[2020-11-23 22:27:32] Rechargement des traductions...
[2020-11-23 22:27:32] Remappage des téléchargements...
[2020-11-23 22:27:32] Restauration des téléchargements, cela peut prendre un certain temps...
[2020-11-23 22:28:38] EXCEPTION : 465 des 751 téléchargements n'ont pas été migrés vers S3. La migration S3 a échoué pour la base de données 'default'.
[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] Tentative de retour en arrière...
Cela ressemble à Restore process cancelled at migrating uploads to S3 step - #5 by Jim.Morrison, mais cela n’offrait aucune indication sur la façon de résoudre le problème.
Le message « avant de publier » dans le panneau de droite de cette fenêtre de rédaction suggérait également Failed to restore DB, mais cela ne contenait non plus rien d’utile.