问题描述
使用ubuntu 14.04时,我将两个zfs挂载点设置为legacy,因此可以通过fstab将一个文件系统挂载在另一个文件系统上。即:
zfs_1/base /home/xyz
zfs_2/photo /home/xyz/stuff/photo
使用ubuntu 16.04之前,在处理fstab之前不会加载zfs,因此我尝试删除了旧的安装点并在文件系统上设置了安装点。
问题是我看不到如何设置安装顺序。如果首先安装了zfs_2/photo
,它将挂载auto-create树,然后由于目录不为空,因此zfs_1/base
将无法安装。 16.04是否可以解决此问题?
我有一个相关的问题,我会将照片绑定到导出的nfs卷/export/photo
;但是我认为我可以通过使用符号链接/export/photo -> /home/xyz/stuff/photo
解决此问题,然后仍然通过nfs导出/export/photo
(需要对其进行测试)。
最简单的解决方案是还原到旧版本并使用/etc/fstab
,但根据我在ubuntu论坛中阅读的内容,这似乎不是一个选择。
最佳答案
您可以通过将ZFS包含在/etc/modules-load.d/*.conf
中的文件中来强制ZFS提前加载。假设我们创建的/etc/modules-load.d/zfs.conf
具有以下内容:
zfs
该代码本身还带有systemd
服务(实际上是couple of them),您可以在最新的安装实现中添加系统依赖性。例如:
/zfs_1/base /home/xyz none defaults,bind,x-systemd.requires=zfs-mount.service 0 0
/zfs_2/photo /home/xyz/stuff/photo none defaults,bind,x-systemd.requires=zfs-mount.service 0 0
(免责声明:我知道x-systemd.requires
可以在最新的Arch和Debian Testing上运行,尽管它在mount man page中,但在Ubuntu 16.04中可能尚不存在)