Armadilloフォーラム

Podmanのコンテナイメージの平均容量とダウンサイジングする方法につきまして。

yuki.shigefuji

2025年1月10日 14時53分

お世話になっております。
標題につきまして、現在使用しているarmadilloのコンテナサイズが4台中3台は2.6gb前後なのですが、1台のみ6.26gbと他と比べて非常に多くなっています。
稼働しているプログラム、構成などは変わらないのですがこちらの考えられる要因。ダウンサイジングする方法がありましたらその手段。
それらをお聞きしたく存じます。

以上、ご確認よろしくお願い致します。

コメント

at_dominique.m…

2025年1月10日 15時55分

yuki.shigefujiさん

お世話になっています、
マルティネです。

> 標題につきまして、現在使用しているarmadilloのコンテナサイズが4台中3台は2.6gb前後なのですが、1台のみ6.26gbと他と比べて非常に多くなっています。
> 稼働しているプログラム、構成などは変わらないのですがこちらの考えられる要因。ダウンサイジングする方法がありましたらその手段。

Armadillo の app 領域の容量はいくつかの部分で消費されていますので、一つずつ確認していただければと思います。

① まず、Armadillo Base OS では A/B アップデートという仕組みで更新を行っていて、前のバージョンに rollback できるために古いデータを保存しています。「snapshot」という仕組みで、その古いデータは現在のデータとそれほど変わってなければ容量はほとんど消費しませんが、変更が増えれば増えるほど消費しますので、まずはそちらを確認してください。
(2023年6月のABOS 3.17.4-at.7 以降の)「abos-ctrl rollback-clone」というコマンドをご利用いただければ、ご利用されてない面を削除し現在のデータと合わせますので、その容量は一時的に取り戻せます。(新しい書き込みがあれば、差分でまた消費されてしまいます。未使用の面の削除はできません)
また、アップデートの際にその領域は自動的に削除されますので、こちらのコマンドで容量を取り戻した場合は基本的に対応不要です。容量が少なく見えても、アップデートは問題なく成功します。

armadillo:~# abos-ctrl rollback-clone
Starting clone to /dev/mmcblk2p1
Cloning rootfs
Updating appfs snapshots
Reusing up-to-date bootloader
Rollback clone successful
# 削除は裏で実行されてますのでそれを待ちます。
armadillo:~# btrfs subvolume sync /var/app/volumes/
Waiting for 2 subvolumes
Subvolume id 484 is gone (1/2)
Subvolume id 485 is gone (2/2)
# (df がすぐに更新されない場合がありますので、多分不要ですが、おまじない…)
armadillo:~# sync
armadillo:~# df -h /var/app/volumes/
Filesystem                Size      Used Available Use% Mounted on
/dev/mmcblk2p5            6.3G      1.0G      4.8G  18% /var/app/volumes

② それで他の Armadillo と同様なレベルに戻ってなければ、利用中の面で容量が消費されています。
以下のコマンドで比べて見てください。

armadillo:~# du -hs /var/tmp /var/app/volumes /var/app/rollback/volumes /var/lib/containers/storage /var/lib/containers/storage_readonly/
0	/var/tmp
820.3M	/var/app/volumes
35.3M	/var/app/rollback/volumes
0	/var/lib/containers/storage
692.5M	/var/lib/containers/storage_readonly/
# /var/lib/containers の部分は podman image が消費していますので、
# こちらのコマンドで詳細を確認できます。
armadillo:~# podman image list
REPOSITORY                TAG         IMAGE ID      CREATED       SIZE
docker.io/library/alpine  latest      511a44083d3a  4 months ago  9.12 MB
localhost/gui-app         1.4.3       d2cbbf609ce7  5 months ago  665 MB

内容によっては細かい処理が必要かもしれませんので、疑問があればご相談をさせてください。

よろしくお願いします。