Discourseのアップグレードが25GのDropletのディスク容量不足で失敗しました

18G /var

du -h -s /var/* | sort -h -r
14G     /var/lib
2.8G    /var/log
933M    /var/discourse
du -h -s /var/lib/* | sort -h -r
13G     /var/lib/docker
744M    /var/lib/snapd
root@DO-Discourse:/var/discourse# du -h -s /var/lib/docker/* | sort -h -r
13G     /var/lib/docker/overlay2
16M     /var/lib/docker/image
root@DO-Discourse:/var/discourse# du -h -s /var/lib/docker/overlay2/* | sort -h -r
8.7G    /var/lib/docker/overlay2/d319d95263d87c2a75a4bc9a9f03a25ea7f6eb1f7bac687e7ae7d45522939dc0
2.8G    /var/lib/docker/overlay2/79be56509f1588c272683332ef50abd54f0aeb06d0e2d13f8eea1bace3b3db46
873M    /var/lib/docker/overlay2/5b148cbbcca894be512c7407568104cd7b2e3d48ab7b7d74c6c0f731806cdddc

これ以上深く調べるべき点はありますか?

ログを2.8G削除しましたが、まだ4.9Gしか空き容量がありません。./launcher rebuild app --skip-prereqsを試すための「テスト」インスタンスがありません。

他に何か提案はありますか?

25GのドロップレットでDiscourseインスタンスを実行することは、もはや不可能なのでしょうか?

Prune unused Docker objects | Docker Docs の末尾を参照してください。

すべてを削除し、ボリュームを削除したいと考えていると思います。

docker system prune --volumes
WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all volumes not used by at least one container
  - all dangling images
  - all dangling build cache

Are you sure you want to continue? [y/N] y
Total reclaimed space: 0B
root@DO-Discourse:/# 

他に何か提案はありますか?

snapに何か使い道はありますか?

それほどではありません。コンテナのためにスペースがDockerによって消費されているというのは、かなり示唆的です。クリーンアップ後、私の数値はあなたのものと非常に似ており、おそらく(必ずしもそうではありませんが)それが使用量である可能性を示しています。

25GBのLinodeで問題が発生しましたが、それは500MB以上のバックアップでのことでした。2つか3つのバックアップを削除したことで、再構築するのに十分なスペースができました。より制約が厳しくなることを考慮し、月次cronジョブで再構築したかったため、50GBの次のティアに移行することを選択しました。

それはEmber CLIへの切り替え前でしたが、それが大幅に大きくなったのでしょうか?

9GBのオーバーレイが問題のようです。しかし、別のインスタンスで同様のサイズのオーバーレイを確認しましたが、問題ありません。25GBでは常に困難でした。SSDを増設することをお勧めします。次に試せるのは、OSレベルで削除できるもの(ログ、不要なプログラム、findのインデックスなど)があるかどうかを確認することです。

別のアイデアとしては、新しい25GBのVMを起動してそこに移行することです。古いVMを一杯にしたものが、今回は問題にならないことを願っています。

これらの回答はどれも特に満足のいくものではないようです。私は過去1〜2週間で管理を手伝っている1つか2つのインスタンスで25GBのドロップレットと激しく戦いましたが、あなたがやったことは私がやったことすべてをやったのだと思います。

「いいね!」 3

よくわかりません。ディスコース専用のインストールに必要ですか?もし必要ないなら、どうやって削除すればいいですか?

そうは思いません :thinking:
フルバックアップのダウンロード後、snap list でインストールされているスナップを確認し、何もなければ sudo apt purge snapd を実行できます。

root@DO-Discourse:/var/discourse# snap list
Name    Version        Rev    Tracking       Publisher   Notes
core18  20220309       2344   latest/stable  canonical✓  base
core20  20220304       1376   latest/stable  canonical✓  base
lxd     4.0.9-8e2046b  22753  4.0/stable/…   canonical✓  -
snapd   2.54.4         15177  latest/stable  canonical✓  snapd
root@DO-Discourse:/var/discourse# 

オーバーレイとは何ですか?削除してもいいですか?

アンディさん、遅れて申し訳ありません。
現時点では、ホストシステムを把握せずに、崖に誘導するのは簡単です。そのため、バックアップ/スナップショットなど(またはバックアップを取り、新しいインスタンスを起動して復元プロセスをテストすることも、私にとって良い練習になりました)
lxd を使用しないと仮定します(lxc list にはインストールされているコンテナが表示されるはずです)snap remove lxd (その後 core18 と 20)

「いいね!」 1

docker imagesdocker ps -a の出力を共有していただけますか?

ご協力ありがとうございます。はい、Linuxについてはほとんど知らないので、バックアップのアドバイスを十分に理解しています。自動スナップショットがあり、今のようなことをしているときはいつでも手動でバックアップを取っています。

lxd が何であるかは全く分かりません。これは単なる Discourse のドロップレットなので、Discourse/Docker が必要とするもの以外に、このドロップレットに必要なものはありません。

「いいね!」 1
root@DO-Discourse:/var/discourse# docker images
REPOSITORY            TAG       IMAGE ID       CREATED        SIZE
local_discourse/app   latest    3dac608caa92   4 months ago   3.17GB
root@DO-Discourse:/var/discourse#
root@DO-Discourse:/var/discourse# docker ps -a
CONTAINER ID   IMAGE                 COMMAND        CREATED        STATUS        PORTS                                      NAMES
9abaf4517b7e   local_discourse/app   “/sbin/boot”   4 months ago   Up 4 months   0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   app
root@DO-Discourse:/var/discourse#

考慮して

および

overlay2フォルダにいくつかのぶら下がっているレイヤーがあると思います。

ガイダンスについては、このStackOverflowの回答を参照してください。

「いいね!」 3

ありがとうございます。
私の理解を超えています。スナップショットを作成してから削除して、何が起こるか見てみるのは安全でしょうか?

「いいね!」 1

それらの画像をすべて削除しても安全だと思います。必要であれば、再構築時に置き換えられます。

スナップショットを取るのも悪くありません。

私がやるなら、新しいインスタンスを起動します。それが最も安全で、おそらくスナップショットよりも速いでしょう。しかし、その方法を知ることが楽しくなかったり、学びにならなかったりする場合は、あなたのアイデアでも構いません。

「いいね!」 2

画像を1つ削除したところ、うまくいきました!

皆さん、ご協力ありがとうございました。

「いいね!」 2

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.