web-dev-qa-db-ja.com

2つのNFS共有をOverlayFSとマージする

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

この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は問題ではないと思います。

4
leiblix

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

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

1
Oskar