DigitalOcean Block Storageへのアップロードとバックアップの移動

それでは、すべてのアップロードとバックアップをDigitalOcean Block Storageに移動したいと考えているのですね?

ただし、これを行う前に、代わりにhttps://meta.discourse.org/t/using-object-storage-for-uploads-s3-clones/148916を検討する価値があります。設定はそれほど複雑ではなく、いくつかの他の利点も提供します。

DigitalOcean上にDiscourseインスタンスを設定する

公式ガイドofficial guideを使用して、DigitalOcean上にDiscourseインスタンスを設定します。

ドロッパーにボリュームを追加する

ドロッパーにブロックストレージボリュームを追加します。ボリュームの名前をメモしてください。私の場合は、ボリューム名はvolume-nyc1-05でした。

ボリュームがフォーマットされ、/mnt/volume_nyc1_05にマウントされていることを確認してください。

/var/discourse/sharedをボリュームに移動する

最適なパフォーマンスのために、postgres_dataはメインドライブに残し、残りのデータを新しくアタッチされたボリュームに移動します。

ルートとしてログインし、サーバーから次のコマンドを実行します。

mv /var/discourse/shared/standalone/postgres_data /var/postgres_data_discourse
mv /var/discourse/shared /mnt/volume_nyc1_05

volume_nyc1_05をボリュームの名前に置き換えてください。

変更を反映するためにapp.ymlを編集する

お好みのエディタで/var/discourse/containers/app.ymlファイルを開き、次のブロックを探します。

## The Docker container is stateless; all data is stored in /shared
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

上記のブロックを次のように置き換えます。

## The Docker container is stateless; all data is stored in /shared
volumes:
  - volume:
      host: /mnt/volume_nyc1_05/shared/standalone
      guest: /shared
  - volume:
      host: /mnt/volume_nyc1_05/shared/standalone/log/var-log
      guest: /var/log
  - volume:
      host: /var/postgres_data_discourse
      guest: /shared/postgres_data

volume_nyc1_05をボリュームの名前に置き換えてください。

app.ymlファイルを保存し、コンテナを再構築します。

/var/discourse/launcher rebuild app

:tada: 完成です!

これで、すべてのアップロードとバックアップがDigitalOcean Block Storageに移動されました。


クレジット

このガイドは、@samの提案hereに触発されています。

「いいね!」 37

Hetzner の同様のストレージを使用するこのアプローチを試していますが、全体的なパフォーマンスに影響がないか疑問に思っています。

SSD の速度の 1/3 を提供すると読みましたが、Discourse インスタンスでのファイルのアップロードと表示における日常的な使用で顕著な違いがあるかどうかについて話しています。この 1/3 が実際に影響を与えるのか、それともファイルのアップロードには問題ないのか確信が持てません。

*もちろん、最終的な結果は CPU、RAM、および使用しているファイルシステムとブロック サイズによって異なります。*

経験を共有してくれる人はいますか? :slight_smile:

\u003e ガイドをありがとうございます!

これを実行する前にドロップレットをオフにする必要がありますか?通常はそうすると仮定しますが、アップロードをシャッフルするだけなのでしょうか?

いいえ。スペースを作成し、マウント手順に従ってください。

ご指導ありがとうございます。すべての手順を完了し、フォーラムを再び稼働させた後、画像が読み込めないという問題が常に発生しています。パスが間違っているためです。

これを診断し、自動修正する方法はありますか?

結局、その問題は解決しましたか?

「いいね!」 1

いいえ :frowning: まだ修正できていません。

「いいね!」 1