Armadilloフォーラム

podman images コマンド実施時のoverlayエラーについて

minomi-s

2023年2月6日 18時35分

お世話になっております。

新しいArmadillo Iot-G4 のセットアップを進めているのですが、podmanコマンドを実行したところoverlayに関するエラーメッセージが出るのですが、何か原因・対処等について、ご存じの内容ありましたらご回答よろしくお願い致します。

armadillo:~$ podman images
Error: 'overlay' is not supported over overlayfs, a mount_program is
required: backing file system is unsupported for this graph driver
armadillo:~$ podman ps
Error: 'overlay' is not supported over overlayfs, a mount_program is
required: backing file system is unsupported for this graph driver
コメント

at_dominique.m…

2023年2月7日 8時03分

minomi-sさん

お世話になっています、
アットマークテクノのマルティネです。

> 新しいArmadillo Iot-G4 のセットアップを進めているのですが、podmanコマンドを実行したところoverlayに関するエラーメッセージが出るのですが、何か原因・対処等について、ご存じの内容ありましたらご回答よろしくお願い致します。

このエラーは、 abos-ctrl podman-storage (か podman_switch_storage) でストレージを disk にしながら /var/lib/containers/storage がマウントされてない時に発生すると思いますが、ひとまず現状を確認させていただきます。

以下のコマンドを実行して、その出力を提供していただけますでしょうか?

armadillo:~# cat /etc/atmark-release
armadillo:~# findmnt
armadillo:~# grep graphroot /etc/containers/storage.conf
armadillo:~# cat /etc/fstab

原因が気になりますが、恐らく abos-ctrl podman-storage --tmpfs で一度コンフィグをリセットしていたら通常に動くと思います。
新しい Armadillo IoT G4 とおっしゃいましたが、このエラーが発生する前に何か操作を行いましたか?

よろしくお願いします。

yon

2023年6月19日 12時01分

私も以下の手順を実施していたところ、9.2.4.3. アプリケーションの実行で同様の問題が発生しています。

9.2. CUI アプリケーションを開発する
https://manual.atmark-techno.com/armadillo-x2/armadillo-x2_product_manu…

Error: 'overlay' is not supported over overlayfs, a mount_program is required: backing file system is unsupported for this graph driver

--diskにしていたため、--tmpfsに変更して、もう一度--diskに戻して試したり、--tmpfsのまま試してみたりしましたが、状況に変化はありません。
なにか解決策はありますでしょうか。

出力内容は以下の通りです。

~ # cat /etc/atmark-release 
3.17.3-at.6
~ # findmnt
TARGET                      SOURCE                   FSTYPE     OPTIONS
/                           none                     overlay    rw,relatime,lowerdir=/,upperdir=/live/overlay_upper,workdir=/live/overlay_w
├─/dev                      devtmpfs                 devtmpfs   rw,nosuid,noexec,relatime,size=10240k,nr_inodes=147682,mode=755
│ ├─/dev/mqueue             mqueue                   mqueue     rw,nosuid,nodev,noexec,relatime
│ ├─/dev/pts                devpts                   devpts     rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000
│ └─/dev/shm                shm                      tmpfs      rw,nosuid,nodev,noexec,relatime
├─/proc                     proc                     proc       rw,nosuid,nodev,noexec,relatime
├─/run                      tmpfs                    tmpfs      rw,nosuid,nodev,size=393976k,nr_inodes=819200,mode=755
│ └─/run/netns              tmpfs[/netns]            tmpfs      rw,nosuid,nodev,size=393976k,nr_inodes=819200,mode=755
├─/sys                      sysfs                    sysfs      rw,nosuid,nodev,noexec,relatime
│ ├─/sys/kernel/security    securityfs               securityfs rw,nosuid,nodev,noexec,relatime
│ ├─/sys/kernel/config      configfs                 configfs   rw,nosuid,nodev,noexec,relatime
│ └─/sys/fs/cgroup          none                     cgroup2    rw,nosuid,nodev,noexec,relatime,nsdelegate
├─/tmp                      tmpfs                    tmpfs      rw,nosuid,nodev,relatime
├─/var/log                  /dev/mmcblk2p3           ext4       rw,noatime
├─/var/at-log               /dev/mmcblk2gp1          vfat       rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mi
├─/var/app/rollback/volumes /dev/mmcblk2p5[/boot_1/volumes]
│                                                    btrfs      rw,noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=271,su
├─/var/app/volumes          /dev/mmcblk2p5[/volumes] btrfs      rw,noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=258,su
├─/var/tmp                  /dev/mmcblk2p5[/tmp]     btrfs      rw,noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=256,su
├─/opt/firmware             /dev/mmcblk2p4           squashfs   ro,relatime
├─/live                     none                     tmpfs      rw,relatime
│ └─/live/rootfs            /dev/mmcblk2p2           ext4       ro,noatime
├─/var/lib/containers/storage
│                           /dev/mmcblk2p5[/containers_storage]
│                                                    btrfs      rw,noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=274,su
└─/var/lib/containers/storage_readonly
                            /dev/mmcblk2p5[/boot_1/containers_storage]
                                                     btrfs      rw,noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=263,su
~ # grep graphroot /etc/containers/storage.conf
graphroot = "/var/lib/containers/storage"
~ # cat /etc/fstab
/dev/root	/				ext4	ro,noatime			0 0
tmpfs		/tmp				tmpfs	nosuid,nodev			0 0
/dev/mmcblk2p3	/var/log			ext4	defaults,noatime		0 0
/dev/mmcblk2p5	/var/lib/containers/storage_readonly	btrfs	compress=zstd,discard=async,noatime,subvol=boot_1/containers_storage	0 0
/dev/mmcblk2p5	/var/app/rollback/volumes		btrfs	compress=zstd,discard=async,noatime,subvol=boot_1/volumes	0 0
/dev/mmcblk2p5	/var/app/volumes		btrfs	compress=zstd,discard=async,noatime,subvol=volumes		0 0
/dev/mmcblk2p5	/var/tmp			btrfs	compress=zstd,discard=async,noatime,subvol=tmp			0 0
/dev/mmcblk2gp1	/var/at-log			vfat	defaults			0 0
/dev/mmcblk2p4	/opt/firmware			squashfs defaults			0 0
/dev/mmcblk2p5	/var/lib/containers/storage			btrfs	compress=zstd,discard=async,noatime,subvol=containers_storage			0 0

> minomi-sさん
>
> お世話になっています、
> アットマークテクノのマルティネです。
>
> > 新しいArmadillo Iot-G4 のセットアップを進めているのですが、podmanコマンドを実行したところoverlayに関するエラーメッセージが出るのですが、何か原因・対処等について、ご存じの内容ありましたらご回答よろしくお願い致します。
>
> このエラーは、 abos-ctrl podman-storage (か podman_switch_storage) でストレージを disk にしながら /var/lib/containers/storage がマウントされてない時に発生すると思いますが、ひとまず現状を確認させていただきます。
>
> 以下のコマンドを実行して、その出力を提供していただけますでしょうか?
>
>

> armadillo:~# cat /etc/atmark-release
> armadillo:~# findmnt
> armadillo:~# grep graphroot /etc/containers/storage.conf
> armadillo:~# cat /etc/fstab
> 

>
> 原因が気になりますが、恐らく abos-ctrl podman-storage --tmpfs で一度コンフィグをリセットしていたら通常に動くと思います。
> 新しい Armadillo IoT G4 とおっしゃいましたが、このエラーが発生する前に何か操作を行いましたか?
>
>
> よろしくお願いします。

at_dominique.m…

2023年6月19日 12時34分

yonさん

マルティネです。

> 9.2. CUI アプリケーションを開発する
> https://manual.atmark-techno.com/armadillo-x2/armadillo-x2_product_manu…
>
> Error: 'overlay' is not supported over overlayfs, a mount_program is required: backing file system is unsupported for this graph driver
>
> --diskにしていたため、--tmpfsに変更して、もう一度--diskに戻して試したり、--tmpfsのまま試してみたりしましたが、状況に変化はありません。
> なにか解決策はありますでしょうか。
>
> 出力内容は以下の通りです。

出力ありがとうございます。
そこに問題が見当たりません(少なくても、podman が /var/lib/containers/storage を使用する設定が行われて、無事にマウントされてます)ので、お手数ですが情報をもう少し伺ってよろしいでしょうか。

1/ ワークアラウンド作業

以下のコマンドの出力を提供していただければ大変助かります。

armadillo:~# ls /run/containers/storage/overlay

/run/containers/storage/overlay にファイルが存在すれば、削除してみてください(  rm -f /run/containers/storage/overlay/*); /run は再起動の際に削除されますので特に悪影響がございません。
それで解決された場合は abos-ctrl podman-storage の際にこのディレクトリをリセットしたらワークアラウンドができますので、その対応を追加したいと思います。

2/ 元の原因

記録は残ってないかもしれませんが、どういう流れでエラーになったのかは覚えていたらそれも助かります。
vscode で CUI アプリケーションの開発を行っているとのことですので、SWU をインストールしてから動かなくなりましたか?

swupdate のログは以下のコマンドで取得できますので、提供していただければ何か分かるかもしれません。

armadillo:~# grep -i swupdate /var/log/messages

また現在実行中のバージョンを教えていただければ幸です:

armadillo:~# cat /etc/atmark-release
armadillo:~# apk list abos-base podman

よろしくお願いします。

gt777

2023年6月19日 16時20分

横からすみません。
私の環境では、podmanコマンドをatmarkユーザから実行するとoverlayのエラーが発生し、rootユーザから実行すると正常に実行できるようです。
権限の問題かと思っていたのですが、マニュアルだと一般ユーザ(プロンプトが$)でもpodmanコマンド投入可能な記載になっているんですね。。

at_dominique.m…

2023年6月19日 17時32分

gt777さん、

> 私の環境では、podmanコマンドをatmarkユーザから実行するとoverlayのエラーが発生し、rootユーザから実行すると正常に実行できるようです。

なるほど、そうですね。
atmark ユーザーで実行する場合は /home/atmark/.config/containers/storage.conf に以下の内容を記載しないと使えません。

armadillo:~$ cat .config/containers/storage.conf 
[storage]
driver = "vfs"

> 権限の問題かと思っていたのですが、マニュアルだと一般ユーザ(プロンプトが$)でもpodmanコマンド投入可能な記載になっているんですね。。

すみません、これはドキュメンテーションの問題です、正式にはまだサポートしてません。
「いつかは」と思っていますが、ユーザーでコンテナを実行すると新たな不具合の可能性もあって、podman-storage (読み取り専用も、アップデートも、読み書き可能な領域も)を対応していませんので、まだサポートしていません。

ある程度調べて、下準備は少しずつしていますので上記のユーザーコンフィグで不具合が発生した場合は「ベストエフォート」で対応したいと思いますが、いつもより少し時間かかります。

ひとまずドキュメンテーションの問題は確かでしたので、いくつかの $ プロンプトを見つけて修正しました。いつもご連絡いただいてありがとうございます。