要約
私のローカルコンピュータがNFS共有を提供していて、共有のマウントとアクセスが期待どおりに機能している間にNFSをoverlayfsのサブディレクトリとして参照しようとすると、サブディレクトリに対するexec / read / write権限を必要とする操作が失敗します。とディスプレイサポートされていない操作
設定
これがローカルでインストールを設定する方法です。
sudo mkdir -p tmpfs_dir
sudo mount -t tmpfs -o size=4096m tmpfs tmpfs_dir
mkdir -p tmpfs_dir/{lower,upper,work}
sudo mount -t nfs -o ro,nolock,noacl,vers=3,proto=tcp 127.0.0.1:/nfsshare tmpfs_dir/lower
mkdir -p overlay_dir
sudo mount -t overlay -o lowerdir=tmpfs_dir/lower,upperdir=tmpfs_dir/upper,workdir=tmpfs_dir/work none overlay_dir
overlayfsのルートからlsを呼び出します。いいね
ls -lah overlay_dir
total 108K
drwxr-xr-x 1 myuser myuser 40 Feb 12 00:31 .
drwxr-xr-x 7 myuser myuser 4.0K Feb 11 17:19 ..
drwxr-xr-x 2 root root 4.0K Aug 20 16:07 bin
drwxr-xr-x 4 root root 4.0K Aug 16 14:36 boot
drwxr-xr-x 20 root root 4.0K Aug 20 15:57 dev
drwxr-xr-x 98 root root 4.0K Sep 10 18:13 etc
drwxr-xr-x 3 root root 4.0K Aug 7 2019 home
...
overlayfsのサブディレクトリからlsを呼び出します。休憩時間
ls -lah overlay_dir/bin
ls: cannot open directory 'overlay_dir/bin': Operation not supported
NFSのルートディレクトリからlsを呼び出します。いいね
ls -lah tmpfs_dir/lower
total 108K
drwxr-xr-x 1 myuser myuser 40 Feb 12 00:31 .
drwxr-xr-x 7 myuser myuser 4.0K Feb 11 17:19 ..
drwxr-xr-x 2 root root 4.0K Aug 20 16:07 bin
drwxr-xr-x 4 root root 4.0K Aug 16 14:36 boot
drwxr-xr-x 20 root root 4.0K Aug 20 15:57 dev
drwxr-xr-x 98 root root 4.0K Sep 10 18:13 etc
drwxr-xr-x 3 root root 4.0K Aug 7 2019 home
...
NFSのサブディレクトリからlsを呼び出します。いいね
ls -lah tmpfs_dir/lower/bin
total 16M
drwxr-xr-x 2 root root 4.0K Aug 20 16:07 .
drwxr-xr-x 26 root root 4.0K Feb 7 14:57 ..
-rwxr-xr-x 1 root root 1.1M Jun 6 2019 bash
-rwxr-xr-x 1 root root 700K Mar 12 2018 btrfs
lrwxrwxrwx 1 root root 5 Mar 12 2018 btrfsck -> btrfs
-rwxr-xr-x 1 root root 368K Mar 12 2018 btrfs-debug-tree
-rwxr-xr-x 1 root root 364K Mar 12 2018 btrfs-find-root
-rwxr-xr-x 1 root root 388K Mar 12 2018 btrfs-image
...
overlayfsのサブディレクトリから実行可能ファイルを呼び出す -休憩時間
overlay_dir/bin/bash
bash: overlay_dir/bin/bash: Operation not supported
overlayfsを使用してアクセスしたルートディレクトリの下のすべてのエントリが表示されるようです。サポートされていない操作間違い。しかし、私は再帰呼び出しですchown
修理する共有内のファイルを上書きしますが、(i)インストール後に権限を変更することは不要なハッキングのように見えますsudo chown
。所有者は異なります
sudo chown -R root bin
ls -lah bin/bash
-rwxr-xr-x 1 root root 1.1M Jun 6 2019 bin/bash
overlay_dir$ bin/bash -c "echo 'why does it work now?'"
why does it work now?
長すぎます。
マウント後に権限を変更する必要がないように、 overlayfs で NFS を正しくマウントするにはどうすればよいですか?
メガネ
- 分配する
Ubuntu 18.04
- コア
5.3.0-28-generic
- インストールされたバージョン
libmount 2.31.1
- v4およびv3サービスを提供するNFSサーバー
追加の考慮事項
- NFS v4およびOverlayfsを使用した読み取り専用nfsroot私が見つけることができる同様の質問に最も近いです。
- 現在の研究によると、以前のLinuxカーネルでNFSを提供すると最大4.15まで動作できるため、これが役立つかどうかを確認します。