因此,有人告诉我,Linux 的 ZFS 能够在 Ubuntu 12.04 的系统启动时自动安装 zpool,但它对我来说不起作用,而且我找不到任何关于如何使其工作的文档。
我在 /zstorage 上安装了 5 个磁盘的 raidz zpool。目前,当我的服务器启动时,我必须键入内容sudo zfs mount zstorage
才能访问它,这有点问题,因为我有许多程序会自动启动并查找其中的文件夹。
在 SabNZBD+ 的情况下,如果找不到所需的文件夹,它将恢复为默认文件夹。这尤其成问题,因为默认文件夹位于一个微型 SSD 中,而该 SSD 仅用作启动卷。
答案1
如果您使用的是 zfs-fuse,只需在启动时运行 zfs-fuse init 脚本即可。我有几台计算机在外部磁盘上安装了 zpools,它们都在启动时使用 zfs-fuse 自动安装。
具体来说,init 脚本包含以下行
zfs mount -a
它将挂载所有可用的 zfs 文件系统。您可以将此行添加到您拥有的任何 zfs init 脚本中,或将此行放入本地 init 脚本中。
答案2
如果您转到 /etc/default/zfs,您将在此处设置标志以在启动时正常挂载 ZFS 卷,但现在不再如此。如上面提到的配置文件中所述,您可以尝试使用 apt-get 安装 zfs-mountall:
sudo apt-get install zfs-mountall
如果您安装了原生 ZFS 而非 zfs-fuse,那么此方法应该可行。更多信息请参见此处:http://zfsonlinux.org/faq.html
答案3
对于我来说,在 Ubuntu 14.04 LTS 上,我必须设置以下内容
要自动导入 zpools,请将值从 更改1
为0
:
文件: /etc/init/zpool-import.conf
modprobe zfs zfs_autoimport_disable=0
要自动挂载 zfs 挂载点,请添加以下行:
文件: /etc/rc.local
zfs mount -a
重新启动后,zpool ZFS 挂载点已自动挂载。