我有许多 ZFS 子文件系统(以便我可以精细地管理快照和 ZFS 选项),如下所示:
tank/media
tank/media/pictures
tank/media/pictures/photos
tank/media/movies
tank/media/music
tank/media/documents
tank/media/documents/public
我正在运行 Debian GNU/Linux 8.6 (jessie) 和 ZFS-on-Linux, kernel 4.4.19-1-pve
。我的目标是tank/media
通过绑定挂载与 LXC 容器共享父 ZFS 文件系统 ( )并使子文件系统可访问。
tank/media
如果我在容器内绑定挂载,则子 ZFS 文件系统 (EG tank/media/pictures
) 不会显示。我需要这样做mount --make-rshared tank/media
才能让子安装座也出现。
make-rshared
如何在 Linux 上使用 ZFS 默认挂载 ZFS 子文件系统?
答案1
我发现在 lxc 安装行中使用rbind
(而不是bind
)选项安装可以解决问题(proxmox 的语法):
lxc.mount.entry: /tank/media media none rbind,create=dir,optional 0 0
脱离有关共享挂载的 RedHat 文档,rbind
实现了绑定目录中源上挂载的复制(这是我们所需要的),区别在于make-rshared
允许绑定上的挂载反映在源中。
我自己刚刚遇到这个问题,这是谷歌上唯一相关的结果,所以我认为尽管这个问题已经存在很长时间了,但给出答案是合适的。