復元失敗:「一部のアップロードが新しいスキームに移行できませんでした」

数日間、あるサーバーから別のサーバーへのリストアを試みています。元のサーバーは2016年に起動されたため、いくつかのレガシーな問題を抱えています。この問題に取り組んだきっかけは古い証明書が期限切れになったことで、その後、バックアップ/リストアサイクル中にさまざまな問題に巻き込まれてしまいました。

元のサーバーも新しいサーバーも、安定ブランチのv2.5に固定されています。また、いくつかの投稿でプラグインに問題がある可能性が示唆されていたため、潜在的な問題を特定するために、一部のプラグインを削除しました。

以前はデータベースに問題があり、この投稿のいくつかのプロンプトに従って、問題の原因を特定し解消しました。

しかし、現在はバックアップ中にS3で問題が発生しています。リストアを失敗させている例外は以下の通りです:

[2020-07-07 17:01:29] アップロードのリストア中。時間がかかる場合があります...
[2020-07-07 17:01:29] 例外:一部のアップロードを新しい方式に移行できませんでした。手動で修正する必要があります。
[2020-07-07 17:01:29] /var/www/discourse/lib/file_store/to_s3_migration.rb:155:in `migrate_to_s3'

その後、ロールバックサイクルに入り、最終的に「リストアに失敗しました」というメッセージが表示されます。

以下の投稿を確認しました:

しかし、まだ解決策が見つかりません。

私の画像のほとんどはすでにS3上にあります。問題は、ディスク上に残っている数枚の画像にあると考えています。いくつかのフォルダ(01、02、03など)を閲覧すると、ところどころに奇妙な画像が見つかります。v2.6.1で修正されたという注記を見たため、新しいサーバーをそのバージョンに更新して修正を試みましたが、それでも解決しませんでした。

そこで、以下の2つの具体的な質問があります:

  1. 「手動で修正する必要があります」というエラーメッセージに対して、具体的に何をすべきですか?私が知らない手順があるのでしょうか?
  2. ここで問題の所在を誤っている可能性はありませんか?つまり、EXCEPTIONの通知が実際にリストアの失敗を引き起こしているのでしょうか?

さて、まだこの問題でつまずいています。nginx サーバーの後ろに配置して証明書を取得する方法で、古いサーバーを再び起動・稼働させることができました(同じドメイン上で別のサイトも動作しています)。

でも、移行はしたいです。何か問題が起きた場合に、サーバーで復元できないかもしれないと心配しています。

提供できる他の情報があれば、お知らせください!

バックアップを作成する前に、S3 アップロードを無効にしましたか?
S3 のみを無効化して再バックアップを行わない場合、問題はありません。その後、リストアを行い、S3 を再度有効にしてください。

はい、それでした!すごい!私が予想していたよりもずっと簡単な解決策でしたね。