启动后zpools不会自动挂载


14

运行ubuntu 13.10服务器。从ubuntu ppa安装并设置zfs。如果我手动执行“ sudo zfs mount -a”,则在重启后,所有文件似乎都可以正常工作,但是阅读zfsonlinux.org上的FAQ看来,我应该期望它会自动安装。不知道在哪里调试。我没有在/ var / log / syslog中看到与zfs或安装相关的任何错误。

$ sudo zfs get all zp
NAME  PROPERTY              VALUE                  SOURCE
zp    type                  filesystem             -
zp    creation              Sat Mar 16 17:14 2013  -
zp    used                  464G                   -
zp    available             449G                   -
zp    referenced            13.3M                  -
zp    compressratio         1.00x                  -
zp    mounted               no                     -
zp    quota                 none                   default
zp    reservation           none                   default
zp    recordsize            128K                   default
zp    mountpoint            /zp                    default
zp    sharenfs              off                    default
zp    checksum              on                     default
zp    compression           off                    default
zp    atime                 on                     default
zp    devices               on                     default
zp    exec                  on                     default
zp    setuid                on                     default
zp    readonly              off                    default
zp    zoned                 off                    default
zp    snapdir               hidden                 default
zp    aclinherit            restricted             default
zp    canmount              on                     default
zp    xattr                 on                     default
zp    copies                1                      default
zp    version               5                      -
zp    utf8only              off                    -
zp    normalization         none                   -
zp    casesensitivity       sensitive              -
zp    vscan                 off                    default
zp    nbmand                off                    default
zp    sharesmb              on                     local
zp    refquota              none                   default
zp    refreservation        none                   default
zp    primarycache          all                    default
zp    secondarycache        all                    default
zp    usedbysnapshots       25.3K                  -
zp    usedbydataset         13.3M                  -
zp    usedbychildren        464G                   -
zp    usedbyrefreservation  0                      -
zp    logbias               latency                default
zp    dedup                 off                    default
zp    mlslabel              none                   default
zp    sync                  standard               default
zp    refcompressratio      1.00x                  -
zp    written               13.3M                  -
zp    snapdev               hidden                 default

Answers:


9

您需要/etc/default/zfs使用自己喜欢的编辑器编辑文件,例如:nano,vim或其他内容,然后更改行

ZFS_MOUNT='no'
ZFS_UNMOUNT='no'

ZFS_MOUNT='yes'
ZFS_UNMOUNT='yes'

另一种选择是安装mountallapt-get install mountall从)ZFS Stable PPA,它关注的是你。第一种选择是可取的,并且更快。


2
mountall似乎是ubuntu中目前官方支持的方式。/ default / zfs文件中没有ZFS_MOUNT选项,添加它们不足以使我的游泳池挂载
Russell Fulton 2015年

6

对于在Ubuntu 14.04 LTS上的我,我必须设置以下内容

要自动导入zpool,请将其值从更改10

文件: /etc/init/zpool-import.conf

modprobe zfs zfs_autoimport_disable=0

要自动挂载zfs挂载,请添加以下行:

文件: /etc/rc.local

zfs mount -a

重新启动,zpool ZFS挂载被自动挂载。


1
我在安装全新的Ubuntu 14.04 LTS时遇到了相同的问题(自动导入在启动时不起作用),您的解决方案解决了该问题。
masgo 2015年

很高兴听到!:)
Nick Grealy

1
/etc/init/zpool-import.conf在Ubuntu 16.04上似乎不存在,即使从systemd切换到upstart也是如此。
GDorn

@GDorn,您尝试过此解决方案吗?- askubuntu.com/questions/768179/zfs-pools-not-mounted-16-04
尼克Grealy

2

在16.04 LTS进行全新安装时,我遇到了相同的问题。

重新启动后,不存在任何池(未zpool status显示任何池),但是zpool import <poolName>可以恢复我的池。

原来是由未安装16.04的ZFS池的答案解决的。在此处复制工作答案:

sudo apt remove zfs.doc
sudo apt install zfsutils-linux

这个


1

我发现即使使用mountall它有时也无法正常工作。我从字面上构建了两个相同的服务器,在每个服务器中放置了相同的型号HD,并从相同的来源同时安装了Ubuntu和ZFS PPA。一个会自动挂载,另一个不会。即使遵循有关在mountall.conf文件中添加睡眠的常见问题解答说明等,它也永远不会在启动时挂载。我最终输入了一个mountall命令/etc/rc.local


1

使用Ubuntu 16.04 zfs,我发现有一些东西可以修复启动时挂载zfs共享的问题,而无需创建rc.localsystemd编写脚本,并且无需zfs set sharesmb=on在每次启动后手动运行。

总结:zfs mount -azfs share -a不起作用,但是使用zfs set sharesmb=on确实起作用。跑步sudo /etc/init.d/zfs-share restart也可以。另外,mountall无论出于何种原因,16.04中的程序都不支持zfs。

我认为问题在于,当您设置时sharesmb=on,它将基于poolname / sharename创建一个共享名称,如下所示:poolname_sharename

但是此共享名似乎太长。我读过,您应该将netbios名称限制为14个字符或更少,并且还应在“注释”字段中限制字符数。

因此,我创建了一个新文件系统,该文件系统的总长度少于14个字符,包括下划线:

sudo zfs create -o casesensitivity=mixed -o nbmand=on pool/share

然后编辑/etc/default/zfs,并禁用smb挂载/共享:(我认为其中一个是用于NFS的,但是我将其全部禁用)

ZFS_MOUNT='no'
ZFS_UNMOUNT='no'
ZFS_SHARE='no'
ZFS_UNSHARE='no'

最后,启用sharesmb新文件系统:

sudo zfs set sharesmb=on pool/share

我还确保/ect/hostid文件存在。(谷歌如何创建一个)

现在,当我重新启动时,无需执行任何其他操作即可运行此命令,并且出现共享:

smbclient -U guest -N -L localhost  (or use smbclient -L localhost)

Sharename       Type      Comment
---------       ----      -------
print$          Disk      Printer Drivers
IPC$            IPC       IPC Service (my server (Samba, Ubuntu))
pool_share      Disk      Comment: /pool/share

是的,我知道samba支持长度超过14个字符的名称,但是似乎在启动时搞砸了安装zfs共享。

我很想知道这是否对其他任何人都有效,或者这只是我系统上的一个古怪...


0

04我的zfs没有挂载我做了一个:sudo zfs import它列出了我所有未挂载的池,但是它也给了我一个选择,可以按zfs名称或编号来挂载,我通过编号进行了导入。sudo zfs import ####### #######现在,它每次重新启动后都会自动挂载

看起来该数字是阵列的uuid,并且阵列中的所有驱动器都具有相同的数字

希望能有所帮助

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.