サーバーの新規インスタンスへの復元時に画像最適化を一時停止

サーバーにディスク容量が少ないため、まず以下のことを行いたいと考えています。

初期アップロード後に画像最適化を一時停止し、復元する方法を教えてください。

これにより、復元が正常に完了したかを確認し、バックアップファイルを削除できます。

私のバックアップファイルは約200GBで、「サムネイルをバックアップに含める」の設定はチェックされていません。これを無効にするとバックアップは小さくなりますが、復元後にすべての投稿を再ベイクする必要があります。

そのため、インスタンスがバックアップファイルを保持し、画像の最適化を開始すると、ディスク容量が不足します。

より多くのスペースが必要な場合は、より多くのスペースが必要です。

しかし、データベースのみを復元して画像をrsyncしたい場合もあります。その場合、アップロードのすべてのコピーを2つ持つ必要がなくなり(サムネイルを再度作成する必要もなくなります)。

お手伝いいただきありがとうございます。

試してみましたが、リストアがうまくいかなかった理由がよくわかりませんでした。

私の主な問題は、古いインスタンスがPostgreSQLバージョン12でスタックしており、アップグレードする方法が見つからず、新しいクリーンなインスタンスに移行しようとしたことです。

新しいインストールにデータベースのみをリストアすることは可能でしょうか?

試したところ、インスタンスはエラーコード500を返し始めたため、すべてをやり直さなければなりませんでした。

私は、rsync を使用して Discourse サイトを別の VPS に移動する を実行しますが、PostgreSQL ファイルはコピーしません。

その後、データベースのみのバックアップを作成し、それを復元します。バックアップも rsync で転送し、コマンドラインから復元します。

これは非常に古いバージョンですか?復元は正常に完了したように見えましたか?

「いいね!」 1

ご協力ありがとうございます。

はい、しかし、Web GUIと想定される手順を使用した直接的な復元には、バックアップファイルの空き容量の4倍以上が必要です。

手順は以下の通りです。

  1. バックアップファイルをアップロードします(または /var/discourse/shared/standalone/backups/default にrsyncします)。
  2. 復元が初期化されると、バックアップファイルは /var/discourse/shared/standalone/tmp/restores/ にコピーされます。
  3. 復元中、/var/discourse/shared/standalone/tmp/restores/ フォルダ内のバックアップファイルが展開されます。
  4. tmpフォルダからアップロードがネイティブの場所にrsyncされ、SQLダンプがpgデータベースに挿入されます。

復元に成功した方法。

復元プロセス中に、Discourseがファイルを復元フォルダから一時フォルダにコピーした後、SSH経由でアップロードした元のバックアップファイルを削除しました。

DiscourseがSQL挿入とstat rsyncを完了し、一時フォルダから /var/discourse/shared/standalone/uploads/ にファイルを展開した後、SSH経由で一時フォルダ内の bakupxxx.tar.gz ファイルを、復元プロセスを中断することなく手動で削除しました。

インスタンスがオンラインになり、rsyncが完了したら、

rm -rf /var/discourse/shared/standalone/tmp/restores/default/*

を実行しました。

大きな復元プロセスをバックアップする場合、私の場合は復元が失敗し、Web経由でインスタンスがエラーコード500を返すようになりました(私の場合、2回発生しました)。アプリに入って復元プロセスを確認できます。

cd /var/discourse
./launcher enter app

ps aux | grep restore


また、データベースの復元に時間がかかりすぎたため、

cd /var/discourse
./launcher enter app
watch -n 10 “sudo -u postgres psql discourse -c "SELECT now(), state, query FROM pg_stat_activity WHERE state != ‘idle’;””

データベースの復元がまだ生きていることを確認するために、データベース復元の進行状況を監視するのに役立ちました。

それは素晴らしい解決策ですね!もし他の誰かがこれを見つけた場合、データベースのみの復元で済んだのではないかと思いますが、問題が解決してよかったです!

「いいね!」 1