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
私のUbuntu 16.04.05 LTSにも同様の問題があります。
最初の質問:systemdまたは古いスタイルのinitシステムを使用していますか? 16.04はデフォルトでsystemdを使用し、ZFSコンポーネントはあまりデバッグされていません。
次回リブートしても共有がそこにない場合は、以下を試してください。
# systemctl restart zfs-share.service
次に、共有がshowmountで存在するかどうかを確認します。ところで、私のシステムでは、RPC登録サービスの起動に問題があるため、次のことを行う必要があります。
# systemctl start rpcbind.service
rpcbindが最初に実行されていない場合。
これで問題が軽減される場合は、これらのコマンドをシステムのrcファイルに追加することを検討してください。ただし、再起動するたびに手動で追加します。
私も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