在 Ubuntu 16.04 上重置 sharenfs 属性之前,不会导出 ZFS 共享

在 Ubuntu 16.04 上重置 sharenfs 属性之前,不会导出 ZFS 共享

我正在 Ubuntu Server 16.04LTS 上设置 ZFS 和 NFS,但遇到了一个奇怪的问题,让我抓狂不已。我已使用 ZFS 共享设置了 ZFS 和 NFS,具体说明如下https://pthree.org/2012/12/31/zfs-administration-part-xv-iscsi-nfs-and-samba/。正如您在下面的日志中看到的,尽管我已将 zfs-share 设置为zfs share -a在启动期间运行,但共享仍未导出。更奇怪的是,当我手动运行它时,它仍然没有导出 。如果我重置其中一个共享的属性然后重新运行,zfs share -a我只能让 zfs 共享工作。见下文sharenfszfs share -a

$ showmount -e
Export list for apu:
/mnt localhost
$ sudo zfs share -a
$ showmount -e
Export list for apu:
/mnt localhost
$ sudo zfs share pool1
cannot share 'pool1': filesystem already shared
$ sudo zfs get sharenfs pool1
NAME   PROPERTY  VALUE     SOURCE
pool1  sharenfs  on        local
$ sudo zfs set sharenfs=on pool1
$ showmount -e
Export list for apu:
/s/apu/a/homes *
/s/apu/a       *
/s/apu/a/sys   *
/mnt           localhost
$ sudo zfs share -a
$ showmount -e
Export list for apu:
/s/apu/b       *
/s/apu/a/homes *
/s/apu/a       *
/s/apu/a/sys   *
/s/apu/b/cwc   *
/mnt           localhost

答案1

我的 Ubuntu 16.04.05 LTS 也有类似的问题。

第一个问题:您是否使用systemd或老式的在里面系统?16.04 使用systemd默认情况下,ZFS 组件的调试效果并不好。

下次重新启动并且您的共享不存在时,请尝试:

# systemctl restart zfs-share.service 

然后看看股票是否存在显示安装。顺便说一句,我的系统上的 RPC 注册服务出现问题,因此您可能需要执行以下操作:

# systemctl start rpcbind.service

如果rpcbind不是先跑的。

如果这可以缓解您的问题,您可以考虑将这些命令添加到您的系统 rc 文件中,但我每次重新启动时都会手动执行此操作。

答案2

我在 Ubuntu 16.04 下也遇到了这个问题,但这可能也适用于较新的版本。有一个 bug,即 systemd 单元在启动时 zfs-share.service不执行sharenfs -ahttps://github.com/zfsonlinux/zfs/issues/1375

作为一种解决方法,您可以将其添加到/etc/rc.local

sudo zfs unshare -a
sudo zfs share -a

有关详细信息,请参阅此讨论:https://github.com/zfsonlinux/zfs/issues/2107#issuecomment-47182970

相关内容