- 前提:在freebsd中用zfs創(chuàng)建了一個目錄,并將目錄使用nfs導出。
- 為什么使用zfs翎承?因為使用zfs創(chuàng)建的目錄可以使用NFSv4的acl,比POSIX的acl功能強大内斯。至于此處的NFSv4與/etc/exports中的NFSv4有什么聯(lián)系還不太清楚。
FreeBSD服務器端
NFS server的配置如下(僅列出NFS相關行):
root@static:~ # cat /etc/rc.conf
zfs_enable="YES"
nfs_server_enable="YES"
nfsv4_server_enable="YES"
nfsuserd_enable="YES"
root@static:~ # cat /etc/exports
/static/data/videos/channel v.srv.local
Linux客戶端
在linux client中掛載:
root@vdo :~ #mount static.srv.local:/static/data/videos/channel /vlocal
掛載失敗像啼,提示信息:
mount.nfs: access denied by server while mounting static.srv.local:/static/data/videos/channel
同時:
root@static:~ #tail /var/log/message
RPC: server static.srv.local requires stronger authentication.
分析可能是因為NFSv4中有多種身份驗證方式俘闯,而linux連接時并未使用NFS server默認的驗證方式。
修改/etc/exports忽冻,在頂部加上一行
root@static:~ # cat /etc/exports
V4: /static/data -sec=sys
/static/data/videos/channel v.srv.local
指定NFS server使用的身份驗證方式真朗。NFS server重啟mountd服務。
root@static:~ # service mountd onerestart
Stopping mountd.
Waiting for PIDS: 30245.
Starting mountd.
linux client掛載成功僧诚。
為了實現(xiàn)linux client在啟動時自動掛載nfs遮婶,需要將掛載參數(shù)寫入/etc/fstab
root@vdo :~ # cat /etc/fstab
static.srv.local:/static/data/videos/channel /vlocal nfs defaults,nolock 0 0
同時必須啟動netfs
服務。因為在系統(tǒng)掛載fstab中的掛載點時振诬,網(wǎng)絡接口可能并未啟動蹭睡,所以會導致無法掛載nfs衍菱。
如果掛載參數(shù)不加nolock
赶么,則必須啟動rpcbind
服務。