Overlayfsの期待される動作は何ですか?低レベルでファイルを失う

Overlayfsの期待される動作は何ですか?低レベルでファイルを失う

下位レイヤーを交換(オフライン、再起動)することができるマージされたオーバーレイ構造を構築しようとしています。どういうわけか期待どおりに動作しません。私の問題を説明するために、次の例を使用しました。

mkdir lower upper work merged
mount -t overlay overlay -o lowerdir=lower,upperdir=upper,workdir=work merged
mkdir merged/test
getfattr -n trusted.overlay.opaque upper/test
umount merged
mkdir -p lower/test
touch lower/test/blub.txt
mount -t overlay overlay -o lowerdir=lower,upperdir=upper,workdir=work merged
ls -la merged/test
umount merged
touch upper/test/bla.txt
mount -t overlay overlay -o lowerdir=lower,upperdir=upper,workdir=work merged
ls -la merged/test
umount merged
rm -rf lower upper work merged

結果は次のとおりです。

root@linux:/data# mkdir lower upper work merged
root@linux:/data# mount -t overlay overlay -o lowerdir=lower,upperdir=upper,workdir=work merged
root@linux:/data# mkdir merged/test
root@linux:/data# getfattr -n trusted.overlay.opaque upper/test
# file: upper/test
trusted.overlay.opaque="y"

root@linux:/data# umount merged
root@linux:/data# mkdir -p lower/test
root@linux:/data# touch lower/test/blub.txt
root@linux:/data# mount -t overlay overlay -o lowerdir=lower,upperdir=upper,workdir=work merged
root@linux:/data# ls -la merged/test
total 8
drwxr-xr-x 2 root root 4096 Feb  3 18:30 .
drwxr-xr-x 1 root root 4096 Feb  3 18:30 ..
root@linux:/data# umount merged
root@linux:/data# touch upper/test/bla.txt
root@linux:/data# mount -t overlay overlay -o lowerdir=lower,upperdir=upper,workdir=work merged
root@linux:/data# ls -la merged/test
total 8
drwxr-xr-x 2 root root 4096 Feb  3 18:32 .
drwxr-xr-x 1 root root 4096 Feb  3 18:30 ..
-rw-r--r-- 1 root root    0 Feb  3 18:32 bla.txt
root@linux:/data# umount merged
root@linux:/data# rm -rf lower upper work merged

したがって、既定では、空のマージされたオーバーレイファイルに新しいフォルダを作成します。予想通り、このディレクトリが上部に作成されます。しかし、「trusted.overlay.opaque」設定を使用するのはどうですか?

このプロパティを設定した後、サブファイルシステムへの変更は後で非表示になります。変更はオフラインで行われたため、機能する必要がありますか?

Debian(4.19カーネル)とArchlinux(5.10カーネル)でテストされました。

時間をいただきありがとうございます:)

ベストアンサー1

おすすめ記事