/varをoverlayfsにマウントする

/varをoverlayfsにマウントする

私はRaspberry Piで読み取り専用ファイルシステムを実行しており、この機能を使用するために/ varをnginxや他のサービスのOverlayfsとしてマウントしようとするまですべてがうまくいきます。

VAROVRL="-o lowerdir=/var,upperdir=/mnt/persist/var-rw,workdir=/mnt/persist/var-work"
mount -t overlay ${VAROVRL} overlay /var

これが機能し、すべてのサービスが問題なく起動している間、コマンドはmountオーバーレイインストールのみを出力して再起動するたびに繰り返されることがわかりました。

3回再起動後:

mount
overlay on /var type overlay (rw,lowerdir=/var,upperdir=/mnt/persist/var-rw,workdir=/mnt/persist/var-work)
overlay on /var type overlay (rw,lowerdir=/var,upperdir=/mnt/persist/var-rw,workdir=/mnt/persist/var-work)
overlay on /var type overlay (rw,lowerdir=/var,upperdir=/mnt/persist/var-rw,workdir=/mnt/persist/var-work)

/etc/mount 出力

/dev/root / ext4 ro,relatime,data=ordered 0 0
devtmpfs /dev devtmpfs rw,relatime,size=469532k,nr_inodes=117383,mode=755 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,relatime 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /run tmpfs rw,nosuid,nodev,mode=755 0 0
tmpfs /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k 0 0
tmpfs /sys/fs/cgroup tmpfs ro,nosuid,nodev,noexec,mode=755 0 0
cgroup /sys/fs/cgroup/systemd cgroup rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd 0 0
cgroup /sys/fs/cgroup/cpu,cpuacct cgroup rw,nosuid,nodev,noexec,relatime,cpu,cpuacct 0 0
cgroup /sys/fs/cgroup/blkio cgroup rw,nosuid,nodev,noexec,relatime,blkio 0 0
cgroup /sys/fs/cgroup/memory cgroup rw,nosuid,nodev,noexec,relatime,memory 0 0
cgroup /sys/fs/cgroup/devices cgroup rw,nosuid,nodev,noexec,relatime,devices 0 0
cgroup /sys/fs/cgroup/freezer cgroup rw,nosuid,nodev,noexec,relatime,freezer 0 0
cgroup /sys/fs/cgroup/net_cls cgroup rw,nosuid,nodev,noexec,relatime,net_cls 0 0
systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=23,pgrp=1,timeout=300,minproto=5,maxproto=5,direct 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
mqueue /dev/mqueue mqueue rw,relatime 0 0
configfs /sys/kernel/config configfs rw,relatime 0 0
tmpfs /tmp tmpfs rw,relatime,size=102400k 0 0
/dev/mmcblk0p1 /boot vfat ro,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro 0 0
/dev/mmcblk0p5 /mnt/persist ext4 rw,relatime,data=ordered 0 0
/dev/mmcblk0p6 /mnt/cache ext4 rw,relatime,data=ordered 0 0
/dev/mmcblk0p7 /mnt/osboot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro 0 0
/dev/mmcblk0p8 /mnt/osimage ext4 rw,relatime,data=ordered 0 0
/dev/mmcblk0p9 /mnt/userdata ext4 rw,relatime,data=ordered 0 0
overlay /etc overlay rw,relatime,lowerdir=/etc,upperdir=/mnt/persist/etc-rw,workdir=/mnt/persist/etc-work 0 0
overlay /var overlay rw,relatime,lowerdir=/var,upperdir=/mnt/persist/var-rw,workdir=/mnt/persist/var-work 0 0
binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,relatime 0 0

/etc/mtabの出力

overlay /var overlay rw,lowerdir=/var,upperdir=/mnt/persist/var-rw,workdir=/mnt/persist/var-work 0 0
overlay /var overlay rw,lowerdir=/var,upperdir=/mnt/persist/var-rw,workdir=/mnt/persist/var-work 0 0
overlay /var overlay rw,lowerdir=/var,upperdir=/mnt/persist/var-rw,workdir=/mnt/persist/var-work 0 0

/etcOverlayfsとしてもマウントされますが、オーバーレイのみがマウントされている場合、この問題は発生しません。

私がここで何が間違っているのかを理解できる人はいますか?

ベストアンサー1

このファイルは、/etc/mtabおよびコマンドで作成されます。ファイルが使用可能で書き込み可能な場合にのみ更新できるため、正確な状態を維持するには少し作業が必要です。mountumount/etc/mtab

起動時に特定の時点で読み書きをマウントする一般的な場合、ディストリビューションはルートパーティションが読み書きでマウントされたときに起動中に書き換えられる/etcスクリプトを設定します。/etc/mtabすべてのエントリを削除せずにシステムがシャットダウンする場合(システムのクラッシュや停電など)、これが必要です。

あなたの場合、/etcoverlayfsでは起動スクリプトは間違った時間に実行されますが、/etcまだ読み取り専用であるか、ルートケースはサポートされていません。したがって、通常のファイルとして保存するには、/etc/mtabこのスクリプトまたは実行時間を調整する必要があります。

しかし、おそらくこれを行う必要はありません。一般的な設定は、への/etc/mtabシンボリックリンクを持つことです/proc/mounts。両方のファイルは、基本的に同じ情報と基本的に同じ構文を含み、それを読み取るアプリケーションの観点から互換性があります。現在のカーネル情報を反映しているので、/proc/mounts常に最新の状態であり、mountコマンドumountはそれに触れません。

/proc/mountsこれに比べて欠点は、/etc/mtabコマンドに渡された正確な引数ではなく、カーネルから再印刷された情報(特にマウントオプション)を表示することですmount。だから少し情報が失われます。ただし、この情報はほとんど役に立ちません。

おすすめ記事