Это сообщение висело в черновиках на meta.discourse.org, пока я разбирался с проблемой на своём сервере Discourse. Мне удалось обойти описанную ниже проблему, но меня беспокоит то, что я не смог выполнить полноценное восстановление после катастрофы (восстановление без возможности доступа к старому, неработающему серверу). (Коренная причина заключалась в неудачном обновлении Postgres с версии 10 до 12, но мне удалось отложить обновление в файле app.yml Discourse достаточно долго, чтобы отключить параметр сайта enable_s3_uploads перед созданием резервной копии. Теперь я создал эту резервную копию, загрузил её на новый сервер, восстановил, и сайт Discourse снова работает. Исходное сообщение:
Я восстанавливаю установку Discourse из резервной копии, хранящейся в S3. Старая установка была очень старой — первая установка была выполнена в июне 2016 года. Я начал восстановление с чистой установки из-за неудачного обновления Postgres с версии 10 до 12. Вместо того чтобы исправлять это… поскольку этот сервер работал на больше не поддерживаемой версии Ubuntu… я подумал, что просто возьму последнюю резервную копию и загрузу её на новый сервер. Однако восстановление не удалось. В логах точка, в которой я столкнулся с проблемой, выглядит так:
[2020-11-23 22:27:32] Перезагрузка переводов...
[2020-11-23 22:27:32] Переназначение загрузок...
[2020-11-23 22:27:32] Восстановление загрузок, это может занять время...
[2020-11-23 22:28:38] ИСКЛЮЧЕНИЕ: 465 из 751 загрузок не были мигрированы в S3. Миграция в S3 не удалась для базы данных '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] Попытка отката...
Это звучит похоже на Restore process cancelled at migrating uploads to S3 step - #5 by Jim.Morrison, но там не было никаких указаний о том, как исправить проблему.
Сообщение «перед публикацией» в правой панели этого окна также предлагало Failed to restore DB, но там тоже не было ничего полезного.