azhdrake
(Azhdrake)
2026 年 7 月 10 日午前 12:08
1
こんにちは
25GBのストレージを持つサーバーに、小規模なDiscourseインスタンスを運用しています。現在、空き容量は3.4GBしかなく、その理由が不明です。そのため、アップデートを実行することができません。
このインスタンスにはDiscourse以外のサービスは稼働しておらず、過去にもありませんでした。
これまでに、以下の作業を行い、容量を確保しようとしました:
Discourseおよび/var/log/journalから、見つかったすべてのログを削除しました
Discourseのバックアップは1つを残し、他をすべて削除しました
古いDockerイメージをすべて削除しました
apt-get autocleanおよびapt-get autoremoveを実行しました
古いカーネルが残っていないことを確認しました
PostgreSQLのデータを外部ドライブに移動することも検討しましたが、現在のデータサイズは1GB未満なので、それでは十分な容量が確保できるとは思いません。
/dev/vda1は20GBの容量を使用しています。
他にできることはありますか? Discourseを運用するには、25GBではもはや十分なディスク容量とは言えませんか?
主にアップロードファイルの量に依存しますが、バックアップやPostgreSQLも影響します(サイトが非常に大きい場合ですが、今回は問題ではないようです)。アップロードファイルの総容量はどのくらいですか?管理ダッシュボードの下部に表示されています。
azhdrake
(Azhdrake)
2026 年 7 月 10 日午前 12:13
3
50MB未満なので、これは決して大規模でも古いインスタンスではありません。前述の通り、メインドライブから移動させることも検討しましたが、これが主な問題ではないと思います。
アップロードファイルが約25MBで、PostgreSQLが約1GBの場合、Discourseが不要なバックアップを作成している可能性があります。バックアップの保持設定(管理者 > 設定 > バックアップ)を確認し、現在のバックアップ(管理者 > バックアップ)を確認して、不要なものを削除してください。
azhdrake
(Azhdrake)
2026 年 7 月 10 日午前 12:22
5
ディスクからコピーした後に残っていた最後のバックアップを削除しました。それでもまだ3.5GBしか残っていません。
はい、ごめんなさい。投稿を更新した手順で修正しました。
azhdrake
(Azhdrake)
2026 年 7 月 10 日午前 12:34
7
このサーバーには /shared/ ディレクトリがありません。
du -sh /var/discourse/* から取得した結果は以下の通りで、合計は 658M です:
4.0K /var/discourse/LICENSE
12K /var/discourse/README.md
4.0K /var/discourse/bin
4.0K /var/discourse/cids
8.0K /var/discourse/containers
12K /var/discourse/discourse-doctor
8.0K /var/discourse/discourse-setup
368K /var/discourse/image
8.0K /var/discourse/install-discourse
28K /var/discourse/launcher
32K /var/discourse/samples
8.0K /var/discourse/scripts
657M /var/discourse/shared
180K /var/discourse/templates
ファイルシステムで最もスペースを占めているのは、2.4 GB の /var/lib/containerd/io.containerd.content.v1.content と、驚くべき 12 GB の /var/lib/containerd/io.containerd.snapshotter.v1.overlayfs です
すみません、コンテナ内にいる必要があることをお伝えし忘れていました。あなたが言及したファイルは Docker のものです。docker system df コマンドで何が使用しているかを確認し、必要に応じて docker system prune コマンドでグローバルなクリーンアップを実行できます。ただし、その操作を行う際は Discourse が稼働していることを確認してください。
azhdrake
(Azhdrake)
2026 年 7 月 10 日午前 1:02
9
ああ、それは理にかなっていますね。
コンテナ内で1GBを超えるのは /var/www/discourse/vendor/bundle/ruby/ の2.1GBだけです。
イメージの更新をプルした後にプリニング(不要なイメージの削除)を行えば、十分な空き容量が確保できます。しかし、更新を試みると再度イメージがプルされ、その結果空き容量が失われてしまいます。つまり、新しいイメージはほぼ5GBの容量を占めていることになります。
その Docker コマンドの出力を表示できますか?そのディレクトリは Ruby の gem がすべて格納されている場所ですが、そのサイズは私には異常に思えません。
Ed_S
(Ed S)
2026 年 7 月 10 日午前 7:48
11
実際には、すべての出力を表示してください。コンテナ内部を覗き回ることはお勧めしません。問題はシステムレベルにあるので、そこから調べ始めるべきです。そして、問題がありそうな場所だけを見るのではなく、全体像を見てください。
まず、再起動してください。クリーンなファイルシステムと新しいシステムの状態を確保したいからです。
次に、この以前のスレッドを参照して詳細なアドバイスを確認してください:
Ed_S:
何が起きたかについての詳細を投稿してください
pfaffman
(Jay Pfaffman)
2026 年 7 月 10 日午後 3:12
12
以下を実行しましたか?
./launcher cleanup
または、Dockerを他の方法で整理しましたか?
25GBのストレージでは、最も小さなフォーラム以外では運用が難しいでしょう。
私のフォーラムは小規模(実質的には私一人です)なので、安心感と更新時のトラブルを避けるため、40GBのVPSを使用しています。
私の3つのVPSの中で、20GBを使用していないのはこの一台だけです。他の2台は、MySQLとPHPをバックエンドとするHTTPサーバーと、RTMPサーバーです。Discourseを実行しているこのVPSにはDocker Mail Serverもインストールしていますが、ダイジェストメールはオフにしており、DMSのフットプリントは非常に小さいです。
Steven
2026 年 7 月 11 日午前 9:29
15
少しスペースを確保するために、これらのコマンドを使用しています。リビルド作業に役立ちます。
sudo apt -y autoremove && apt -y autoclean
sudo apt clean
sudo journalctl --vacuum-time=1s
1と2はUbuntuをクリーンアップします。
3は一部のログをクリーンアップし、通常約3GBの容量を解放します。
merefield
(Robert)
2026 年 7 月 11 日午前 11:09
16
これは投稿者(OP)の記述でしたが、明らかに Discourse コマンドを実行した方が良いでしょう。
azhdrake:
azhdrake
(Azhdrake)
2026 年 7 月 11 日午後 5:16
17
ご回答ありがとうございます!突然姿を消してしまい申し訳ありません。用事が生じ、昨日はトラブルシューティングを続ける時間がありませんでした。
結論から言うと、この特定の問題に関するスレッドが非常に多いことに気づき、今回解決したとしても再び発生するだろうと考え、35GBのストレージを持つ少し大きなサーバーにインスタンスを移行しました。
この問題で助けを求めているが、アップグレードしたくないという方のために:
./launcher cleanup はすでに試しており、十分な容量を確保できませんでした。また、以下もすでに実行済みです。
sudo apt -y autoremove && apt -y autoclean
sudo apt clean
sudo journalctl --vacuum-time=1s
しかし、これも不十分でした。journalctl にログが大量に(25GBのマシンとしては)存在していたため、ご自身でも確認することをお勧めしますが、私の場合はこれだけでは不十分でした。