web-dev-qa-db-ja.com

ZFS共有は、sharenfsプロパティがUbuntu 16.04で再設定されるまでエクスポートされません

Ubuntu Server 16.04LTSでZFSとNFSをセットアップしていますが、奇妙な問題が発生しているため、気が狂います。 https://pthree.org/2012/12/31/zfs-administration-part-xv-iscsi-nfs-and-samba/ で説明されているように、ZFS共有を使用してZFSとNFSをセットアップしました。 。以下のログでわかるように、起動時にzfs share -aを実行するようにzfs-shareを設定しましたが、共有はまだエクスポートされていません。さらに奇妙なことに、手動で実行した場合でもzfs share -aは実行されません。いずれかの共有のsharenfsプロパティをリセットしてから、zfs share -aを再実行した場合にのみ、zfs共有を機能させることができます。下記参照

$ 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
5
Jaime R.

私のUbuntu 16.04.05 LTSにも同様の問題があります。

最初の質問:systemdまたは古いスタイルのinitシステムを使用していますか? 16.04はデフォルトでsystemdを使用し、ZFSコンポーネントはあまりデバッグされていません。

次回リブートしても共有がそこにない場合は、以下を試してください。

# systemctl restart zfs-share.service 

次に、共有がshowmountで存在するかどうかを確認します。ところで、私のシステムでは、RPC登録サービスの起動に問題があるため、次のことを行う必要があります。

# systemctl start rpcbind.service

rpcbindが最初に実行されていない場合。

これで問題が軽減される場合は、これらのコマンドをシステムのrcファイルに追加することを検討してください。ただし、再起動するたびに手動で追加します。

2
AlanObject

私もUbuntu 16.04でこの問題に直面しましたが、それはおそらく新しいバージョンにも当てはまります。 systemdユニット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-4718297

1
Dmitriusan