NFS,全名叫Network File System,中文叫網絡文件系統,是Linux、UNIX系統的分布式文件系統的一個組成部分,可實現在不同網絡上共享遠程文件系統。NFS由Sun公司開發,目前已經成為文件服務的一種標准之一(RFC1904,RFC1813)。其最大的功能就是可以通過網絡,讓不同操作系統的計算機可以共享數據,所以可以把NFS看做是一個文件服務器。NFS缺點是其讀寫性能比本地硬盤要差一些。
一、NFS服務常見故障排查
NFS服務出現了故障,主要從以下幾個方面檢查原因:
(1)檢查NFS客戶機和服務器的負荷是否太高,Server和Client之間的網絡是否正常;
(2)檢查/etc/exports文件的正確性;
(3)必要時重啟NFS和portmap服務;
(4)運行下列命令重新啟動portmap和NFS:
/etc/init.d/portmap restart
/etc/init.d/nfs restart
/etc/init.d/rpcbind restart (在RHEL/CentOS 6.x裡面)
chkconfig portmap on
chkconfig nfs on
chkconfig rpcbind on (在RHEL/CentOS 6.x裡面)
注意:在RHEL/CentOS 6.x裡面,portmap服務改名為rpcbind服務了;順便說一下,rpcbind服務也是圖形界面的關鍵基礎服務,不啟動此服務,不能啟動圖形桌面。
(5) 檢查Client上的mount命令或/etc/fstab的語法是否正確;
(6) 查看內核是否支持NFS和RPC服務。
一般正常安裝的Linux系統都會默認支持NFS和RPC服務,除非你自己重新編譯的內核,而且沒選擇nfs支持選項編譯。
二、NFS常見故障解決方法
1、The rpcbind failure error
故障現象:
nfs mount: server1:: RPC: Rpcbind failure
RPC: Timed Out
nfs mount: retrying: /mntpoint
原因:
第一,可能因為客戶機的hosts文件中存在錯誤的ip地址、主機名或節點名組合;
第二,服務器因為過載而暫時停止服務。
2、The server not responding error
現象:
NFS server server2 not responding, still trying
原因:
第一,網絡不通,用ping命令檢測一下。
第二,服務器關機。
3、The NFS client fails a reboot error
現象:
啟動客戶機後停住了,不斷顯示如下提示信息:
Setting default interface for multicast: add net 224.0.0.0: gateway:
client_node_name.
原因:
在etc/vfstab的mount選項中使用了fg而又無法成功mount服務器上的資源,改成bg或將該行注釋掉,直到服務器可用為止。
4、The service not responding error
現象:
nfs mount: dbserver: NFS: Service not responding
nfs mount: retrying: /mntpoint
原因:
第一,當前級別不是級別3,用who -r查看,用init 3切換。
第二,NFS Server守護進程不存在,用ps -ef | grep nfs檢查,用/etc/init.d/nfs start啟動。
5、The program not registered error
現象:
nfs mount: dbserver: RPC: Program not registered
nfs mount: retrying: /mntpoint
原因:
第一,當前級別不是級別3。
第二,mountd守護進程沒有啟動,用/etc/init.d/nfs腳本啟動NFS守護進程。
第三,看/etc/dfs/dfstab中的條目是否正常。
6、The stale file handle error
現象:
stale NFS file handle
原因:
服務器上的共享資源移動位置了,在客戶端使用umount和mount重新掛接就可以了。
7、The unknown host error
現象:
nfs mount: sserver1:: RPC: Unknown host
原因:
hosts文件中的內容不正確。
8、The mount point error
現象:
mount: mount-point /DS9 does not exist.
原因:
該掛接點在客戶機上不存在,注意檢查命令行或/etc/vfstab文件中相關條目的拼寫。
9、The no such file error
現象:
No such file or directory.
原因:
該掛接點在服務器上不存在,注意檢查命令行或/etc/vfstab文件中相關條目的拼寫。
10、No route to host
錯誤現象:
mount 10.10.11.211:/opt/data/xmldb /c2c-web1/data/xmldb -t nfs -o rw
mount: mount to NFS server ’10.10.11.211′ failed: System Error: No route to host.
原因:
防火牆被打開,關閉防火牆。
這個原因很多人都忽視了,如果開啟了防火牆(包括iptables和硬件防火牆),NFS默認使用111端口,我們先要檢測是否打開了這個端口,還要檢查TCP_Wrappers的設定。
11、Not owner
現象:
mount -F nfs -o rw 10.10.2.3:/mnt/c2c/data/resinfo2 /data/data/resinfo2
nfs mount: mount: /data/data/resinfo2: Not owner
原因:
這是Solaris 10版本掛載較低版本nfs時報的錯誤。
解決:
需要用-o vers=3參數
示例:
mount -F nfs -o vers=3 10.10.2.3:/mnt/c2c/data/resinfo2 /data/data/resinfo2
12、RPC: Program not registered & retrying
現象:
nfs mount: 10.10.2.3: : RPC: Program not registered
nfs mount: retrying: /data/data/resinfo2
原因:
沒有啟動NFS共享端服務。
解決:需要重新啟動share端的NFS服務,
Linux:
mount: RPC: Program not registered
/etc/init.d/nfs restart
Solaris:
mount: RPC: Program not registered
/etc/rc.d/init.d/nfs restart
13、can’t contact portmapper: RPC: Remote system error – Connection refused
現象:
exportfs -a
can’t contact portmapper: RPC: Remote system error – Connection refused
原因:
出現這個錯誤信息是由於server端的portmap沒有啟動。
解決:
/etc/init.d/portmap start