Я настраиваю ZFS и NFS на Ubuntu Server 16.04LTS, и у меня возникла странная проблема, которая сводит меня с ума. Я настроил ZFS и NFS, используя общие ресурсы ZFS, как описано в https://pthree.org/2012/12/31/zfs-administration-part-xv-iscsi-nfs-and-samba/. Как вы можете видеть в моем журнале ниже, хотя я установил zfs-share для запуска zfs share -a
во время загрузки акции по-прежнему не экспортируются. Еще более странно, что zfs share -a
все еще не работает, когда я запускаю его вручную. Я могу заставить zfs работать, только если сбросил sharenfs
собственность одной из акций, а затем повторно запустить zfs 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
Моя Ubuntu 16.04.05 LTS имеет аналогичную проблему.
Первый вопрос: вы используете systemd или в старом стиле в этом система? 16.04 использует systemd по умолчанию, а компоненты ZFS не очень хорошо отлажены.
В следующий раз, когда вы перезагрузитесь, а ваших общих ресурсов нет, попробуйте:
# systemctl restart zfs-share.service
а затем посмотрите, есть ли там акции с Showmount. Кстати, в моей системе у меня проблема со службой регистрации RPC, поэтому вам, возможно, придется сделать:
# systemctl start rpcbind.service
если rpcbind не бежит первым.
Если это смягчает вашу проблему, вы можете подумать о добавлении этих команд в ваш системный файл rc, но я просто делаю это вручную каждый раз при перезагрузке.
Я также столкнулся с этой проблемой в Ubuntu 16.04, но, вероятно, это относится и к более новым версиям. Ошибка в том, что systemd unit zfs-share.service
не выполняет sharenfs -a
на старте https://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