meta.discourse.org에서 이 문제를 해결하는 동안 이 글은 초안으로 남아 있었습니다. 아래에 설명된 문제를 우회할 수는 있었지만, 실제로는 재해 복구(구버전의 고장 난 서버에 접근할 수 없는 상태에서의 복구)를 수행할 수 없었다는 점은 우려스럽습니다. (근본 원인은 Postgres 10에서 12로의 업그레이드 실패였지만, 백업을 만들기 전에 enable_s3_uploads 사이트 설정을 비활성화할 수 있도록 Discourse의 app.yml 파일에서 업데이트를 연기하는 조치를 취했습니다. 이제 해당 백업을 완료하고, 새 서버에 업로드한 후 복원했으며, Discourse 사이트가 다시 실행되고 있습니다. 원본 메시지:
S3에 저장된 백업에서 Discourse 설치 환경을 재구성하고 있습니다. 이전 설치 환경은 매우 오래되어 2016년 6월에 처음 설치되었습니다. Postgres 10에서 12로의 업그레이드가 실패했기 때문에 새로운 설치 환경에서 복원을 시작했습니다. 그 문제를 수정하는 대신… 이 서버는 더 이상 지원되지 않는 Ubuntu 버전을 실행 중이었기 때문에… 최신 백업을 가져와 새 서버에 로드하기로 결정했습니다. 그러나 복원이 실패합니다. 로그에서 문제가 발생하는 지점은 다음과 같습니다:
[2020-11-23 22:27:32] Reloading translations...
[2020-11-23 22:27:32] Remapping uploads...
[2020-11-23 22:27:32] Restoring uploads, this may take a while...
[2020-11-23 22:28:38] EXCEPTION: 465 of 751 uploads are not migrated to S3. S3 migration failed for db '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] Trying to rollback...
이는 *https://meta.discourse.org/t/restore-process-cancelled-at-migrating-uploads-to-s3-step/123233/5*와 유사해 보이지만, 이 문제를 해결하는 방법에 대한 안내가 제공되지 않았습니다.
이 작성 창 오른쪽 패널의 게시 전 메시지에서는 *https://meta.discourse.org/t/failed-to-restore-db/131137*도 제안했지만, 여기에도 도움이 되는 내용이 없었습니다.