我有两个目录(a 和 b),它们是与文件 foo.txt 和 bar.txt 的 NFS 共享:
我想将这两个目录合并到目录合并(不必是可写的)
这可以通过命令实现:
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:
覆盖文件系统结合了两个文件系统——“上层”文件系统和“下层”文件系统。
两个只读文件系统的只读覆盖可以使用任何文件系统类型。
所以我猜NFS不是问题。
答案1
你使用什么内核?看来内核 4.2 中引入了一个错误: