Sunday, March 21, 2010

nfs server架設問題&處理

給未來的裕翔

(以下假設rpcbind已設定好, 關於rpcbind設定可參考開放rpcbind的服務)


想在140.114.229.129nfs server讓遠端140.114.28.187使用

必須先處理iptables的問題

為了讓client可以使用

除了要開rpcbind的port 111

還必須開mountd的port 892nfs的port 2049


不過mountd預設是隨機開一個

所以必須去/etc/sysconfig/nfs反註解#MOUNTD_PORT=892

接著在/etc/sysconfig/iptables新增四行

-A CLASS-RULES -p tcp --dport 892 -j ACCEPT
-A CLASS-RULES -p udp --dport 892 -j ACCEPT

-A CLASS-RULES -p tcp --dport 2049 -j ACCEPT
-A CLASS-RULES -p udp --dport 2049 -j ACCEPT


以上如果沒搞定的話

client端使用的showmount -e 140.114.229.129

會出現rpc mount export: RPC: Unable to receive; errno = Connection refused

搞定後, 還必須去/etc/hosts.allow新增一行

mountd: 140.114.28.187

注意, 雖然執行檔是rpc.mountd

寫成rpc.mountd: 140.114.28.187反而會錯, 不知為啥

以上如果沒搞定的話

client端使用的showmount -e 140.114.229.129

會出現rpc mount export: RPC: Authentication error; why = Failed (unspecified error)

到此, client端終於可以正常showmount -e 140.114.229.129

client端如果進一步把nfs server分享的/tmp掛載在/mount-test

mount -t nfs 140.114.229.129:/tmp /mount-test

會出現以下錯誤訊息

/usr/sbin/start-statd: line 8: /sbin/rpc.statd: Permission denied
/usr/sbin/start-statd: line 8: /sbin/rpc.statd: Success
mount.nfs: rpc.statd is not running but is required for remote locking.
mount.nfs: Either use '-o nolock' to keep locks local, or start statd.
mount.nfs: an incorrect mount option was specified


依照訊息建議

改成mount -t nfs 140.114.229.129:/tmp /mount-test -o nolock

就可以mount了!!!

被分享的/tmpserver端原本是被設定成ro

若改成rw, 重啟nfs

client端掛載中的/mount-test就會瞬間變成可寫入狀態, 什麼都不需要做

No comments:

Post a Comment