この祝祭に水を差すようですが、投稿を読む限り、Discourse のバックアップ処理が問題の原因であるという確実な証拠はありません。
なぜ、この問題が毎日のバックアップ処理によって引き起こされていることを 100% 確認しないのでしょうか?ホストには、毎日実行される複数の crontab ファイルが設定されている可能性があります。
@pnoeric さんは、コンテナの外にある /var/discourse ファイルシステムで du コマンドを実行しましたか?
あなたのメモには、@pnoeric さんが以下のように記述しています。
root@x-app:/var/www/discourse# du -h -d 1
しかし、これではバックアップやアップロードを含む Discourse の共有ディレクトリを見逃してしまっています!さらに、ホスト上のすべての Docker ファイル(およびイメージ)も見逃しています(イメージが時間とともに削除されなければ、これらは膨大なサイズになる可能性があります)。
このチェックを行うべき場所は、コンテナの外(コンテナ内ではありません)です。
例えば(コンテナの外で):
cd /var/discourse
/var/discourse# du -sh *
4.0K bin
4.0K cids
56K containers
12K discourse-doctor
24K discourse-setup
164K image
24K launcher
4.0K LICENSE
12K README.md
24K samples
8.0K scripts
62G shared
148K templates
ご覧の通り、このホストでは shared ディレクトリが 62GB です。
また、ファイルシステムの /var からも(コンテナの外で):
cd /var
# du -sh *
511M cache
20K composetest
62G discourse
1.6G docker
8.0K legacy
52G lib
4.0K local
0 lock
4.0K locks
5.7G log
24K logs
64K mail
4.0K opt
4.0K registry
4.0K shared
1.9M spool
48K tmp
25G linux_app
2.2G www
祝祭に水を差すつもりはありませんが、Discourse に多くの「修正」を提案する前に、Discourse のバックアップ cron が実際の問題であることを 100% 確認することが非常に重要です。
現在の Discourse バックアップ処理では全く問題が発生しておらず、さらに、ホスト上のファイルシステムの管理は Discourse の本来のタスクではありません。
こちら:
du
Filesystem 1K-blocks Used Available Use% Mounted on
udev 32892500 0 32892500 0% /dev
tmpfs 6584232 2136 6582096 1% /run
/dev/md2 470927632 215969956 230966124 49% /
tmpfs 32921160 0 32921160 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 32921160 0 32921160 0% /sys/fs/cgroup
/dev/md0 482922 75082 382906 17% /boot
/dev/sda1 244988 4636 240353 2% /boot/efi
tmpfs 6584232 0 6584232 0% /run/user/1000
overlay 470927632 215969956 230966124 49% /var/lib/docker/overlay2/0f8be368b0154285423630ad50148ee2d5fdcb357c46125eafa7374ca34ef29a/merged
shm 524288 1620 522668 1% /var/lib/docker/containers/ca7b55fc5a0c123f7b2b1234ea210aa8286a34167cba9344b7929547bd323c9b/mounts/shm
overlay 470927632 215969956 230966124 49% /var/lib/docker/overlay2/7cd7e8b5b35b496eaed68753cc995e9303499a24721062055e2f06beb07e26c8/merged
shm 65536 0 65536 0% /var/lib/docker/containers/3cc0c90c3e3a5db6692e7b5d21727fbb1c13c8e07e48e4f6d954214fc03694a9/mounts/shm
overlay 470927632 215969956 230966124 49% /var/lib/docker/overlay2/31533fdf68033eed96dab4f9df89025ea3dab172ed48b6ce6431840a8df1c8ea/merged
shm 524288 0 524288 0% /var/lib/docker/containers/631fbabedda9a430dd8204ec66fb45c7514d948025124171b960ea424e28d5d4/mounts/shm
overlay 470927632 215969956 230966124 49% /var/lib/docker/overlay2/7a3ba2223ee93bc868b52b3707799d0fd7b4ca6dcc0df29f20c2c98a53903ff1/merged
shm 65536 0 65536 0% /var/lib/docker/containers/7a145366268c8ac5543a4555dc1bfc63c1e85a654e4c793e96fc2cc2e8514388/mounts/shm
overlay 470927632 215969956 230966124 49% /var/lib/docker/overlay2/add4bdd7bd88df7a0e05dff21896d3ef796f7cf2ff9759e0bb04b1953f16cd95/merged
shm 65536 0 65536 0% /var/lib/docker/containers/123743e122089b94660a6bdd2a9e55055ad91b6f75cce4ac760f36066bcf14d0/mounts/shm
overlay 470927632 215969956 230966124 49% /var/lib/docker/overlay2/b376ff32eaac0c58463e8b99b6db9ec0da3405c3f7a9f00b5430f10e07d372b0/merged
shm 524288 0 524288 0% /var/lib/docker/containers/63c52bc571b5f0d2544417da10efc37d3957e7a38f44bc8325145e795ee29559/mounts/shm
Docker ファイルを見てみましょう:
# cd /var/lib
# du -sh docker
30G docker
私たちの Docker イメージは定期的に削除・整理されています。
@bartv さんが正しく提案されたように、まずはここから始めるのが良いでしょう:
どのディレクトリが容量を圧迫しているかを特定することから始めるべきです。私の標準的なアプローチは、/var/discourse に移動し、du -h -d 1 を実行することです。最も大きいディレクトリに入り、その中で同様の操作を繰り返し、疑わしい箇所を見つけます。それがわかれば、何が起きているかのヒントが得られるかもしれません。
これは良い出発点ですが、ホストファイルシステムには Docker やコアファイルなど、ファイルシステムを埋め尽くす可能性のある他の場所も多数あります。
1 日に一度、使用率のスパイクを示すグラフだけでは、Discourse のバックアップ cron プロセスが根本原因であると断言するには不十分です。可能性はありますが、現時点での証拠に基づけば、そうとは限りません。