出處:http://hi.baidu.com/rjz78/blog/item/a3e6e7ee6276512e2cf53447.html
描述:我在arm上通过NFS共享文件时出现下面的错误提示
nfs:server is not responding,still trying
原因分析:NFS 的默认传输协议是 UDP,而PC机与嵌入式系统通过UPD交互时就会出现严重的网卡丢包现象。
解决方法:在客户端改用TCP协议,使用下面的命令,
#mount -o tcp 10.10.19.25:/home/export /mnt/local
第十三章、檔案伺服器之一:NFS 伺服器
http://linux.vbird.org/linux_server/0330nfs.php#nfsserver_look
個人步驟:
1.vi /etc/exports
增加內容:/home/eric *(rw,async,no_root_squash)
2.重啟nfs:/etc/init.d/nfs restart or exportfs -arv
3..檢查分享目錄
showmount -e localhost
nfs:server is not responding,still trying
原因分析:NFS 的默认传输协议是 UDP,而PC机与嵌入式系统通过UPD交互时就会出现严重的网卡丢包现象。
解决方法:在客户端改用TCP协议,使用下面的命令,
#mount -o tcp 10.10.19.25:/home/export /mnt/local
第十三章、檔案伺服器之一:NFS 伺服器
http://linux.vbird.org/linux_server/0330nfs.php#nfsserver_look
個人步驟:
1.vi /etc/exports
增加內容:/home/eric *(rw,async,no_root_squash)
2.重啟nfs:/etc/init.d/nfs restart or exportfs -arv
3..檢查分享目錄
showmount -e localhost
4.關閉防火牆
service iptables stop
5.在arm上mount
mount -t nfs -o nolock -o tcp 172.21.5.65:/home/eric /nand3
- 防火牆的設定問題與解決方案:
一般來說, NFS 的服務僅會對內部網域開放,不會對網際網路開放的。然而,如果你有特殊需求的話, 那麼也可能會跨不同網域就是了。但是,NFS 的防火牆特別難搞,為什麼呢?因為除了固定的 port 111, 2049 之外, 還有很多不固定的埠口是由 rpc.mountd, rpc.rquotad 等服務所開啟的,所以,你的 iptables 就很難設定規則! 那怎辦?難道整個防火牆機制都要取消才可以?
為了解決這個問題, CentOS 6.x 有提供一個固定特定 NFS 服務的埠口設定檔,那就是 /etc/sysconfig/nfs 啦! 你在這個檔案裡面就能夠指定特定的埠口,這樣每次啟動 nfs 時,相關服務啟動的埠口就會固定,如此一來, 我們就能夠設定正確的防火牆囉!這個設定檔內容很多,絕大部分的資料你都不要去更改,只要改跟 PORT 這個關鍵字有關的資料即可。 那麼需要更改的 rpc 服務有哪些呢?主要有 mountd, rquotad, nlockmgr 這三個,所以你應該要這樣改:
[root@www ~]# vim /etc/sysconfig/nfs RQUOTAD_PORT=1001 <==約在 13 行左右 LOCKD_TCPPORT=30001 <==約在 21 行左右 LOCKD_UDPPORT=30001 <==約在 23 行左右 MOUNTD_PORT=1002 <==約在 41 行左右 # 記得設定值最左邊的註解服務要拿掉之外,埠口的值你也可以自行決定。 [root@www ~]# /etc/init.d/nfs restart [root@www ~]# rpcinfo -p | grep -E '(rquota|mount|nlock)' 100011 2 udp 1001 rquotad 100011 2 tcp 1001 rquotad 100021 4 udp 30001 nlockmgr 100021 4 tcp 30001 nlockmgr 100005 3 udp 1002 mountd 100005 3 tcp 1002 mountd # 上述的輸出資料已經被鳥哥彙整過了,沒用到的埠口先挪掉了啦! |