OverlayFSを使用した2つのNFS共有のマージ

OverlayFSを使用した2つのNFS共有のマージ

foo.txtファイルとbar.txtファイルとNFS共有の2つのディレクトリ(aとb)があります。

これら2つのディレクトリをディレクトリマージにマージしたいです(書き込み可能ではありません)

これは、次のコマンドを使用して達成できます。

sudo mount -t overlay -olowerdir=a:b overlay merge

一見すると、すべてが大丈夫に見えます。

.
├── a
│   └── foo.txt
├── b
│   └── bar.txt
└── merge
    ├── bar.txt
    └── foo.txt

しかし、ファイルの内容を読み取ることはできません。 $ cat merge/foo.txt cat: merge/foo.txt: No such device or address

これはNFS共有でのみ発生し、通常のFSでは問題ありません。


文書によるとhttps://www.kernel.org/doc/Documentation/filesystems/overlayfs.txt:

オーバーレイファイルシステムは、2つのファイルシステム、つまり「親」ファイルシステムと「子」ファイルシステムを組み合わせます。

2 つの読み取り専用ファイルシステムで構成される読み取り専用オーバーレイは、すべてのファイルシステムタイプを使用できます。

だからNFSは問題ではないと思います。

答え1

どのカーネルを使用していますか?カーネル4.2でバグが発生したようです。

https://github.com/coreos/rkt/issues/1537

関連情報