nfs常見問題解決方法
網路檔案伺服器(Network File System,簡稱NFS),是分散式計算系統的一個組成部分,可實現在異種網路上共享和裝配遠端檔案系統。NFS由Sun公司開發,目前已經成為檔案服務的一種標準(RFC1904,RFC1813)。其最大的功能就是可以通過網路,讓不同作業系統的計算機可以共享資料,所以也可以將它看做是一個檔案伺服器。
NFS網路出現了故障,可以從以下幾個方面著手檢查:
(1) 檢查NFS客戶機和伺服器的負荷是否太高,Server和Client之間的網路是否正常;
(2) 檢查/etc/exports檔案的正確性;
(3) 必要時重新啟動NFS或portmap服務;
(4)執行下列命令重新啟動portmap和NFS:
service portmap restart service nfs start
(5) 檢查Client上的mount命令或/etc/fstab的語法是否正確;
(6) 檢視核心是否支援NFS和RPC服務。
附加:★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切換。
第二,NFS Server守護程序不存在,用ps –ef | grep nfs檢查,用/etc/init.d/nfs.server start啟動。
5、The program not registered error
現象:
nfs mount: dbserver: RPC: Program not registered
nfs mount: retrying: /mntpoint
原因:
第一,當前級別不是級別3。
第二,mountd守護程序沒有啟動,用/etc/init.d/nfs.server指令碼啟動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
錯誤現象:
[[email protected] sysconfig]# mount 10.10.11.211:/opt/b2b-data/xmldb /b2b-web1/b2b-data/xmldb -t nfs -o rw
mount: mount to NFS server '10.10.11.211' failed: System Error: No route to host.
原因:
防火牆被開啟,關閉防火牆。
11、Not owner
現象:
[[email protected]:/founder/shell]# mount -F nfs -o rw 10.10.2.3:/mnt/b2b/b2b-data/resinfo2 /data/b2b-data/resinfo2
nfs mount: mount: /data/b2b-data/resinfo2: Not owner
原因:
這是Solaris 10版本掛載較低版本nfs時報的錯誤。
解決:
需要用-o vers=3引數
示例:
[[email protected]:/founder/shell]# mount -F nfs -o vers=3 10.10.2.3:/mnt/b2b/b2b-data/resinfo2 /data/b2b-data/resinfo2
12、RPC: Program not registered & retrying
現象:
nfs mount: 10.10.2.3: : RPC: Program not registered
nfs mount: retrying: /data/b2b-data/resinfo2
原因:
沒有啟動NFS共享端服務。
解決:需要重新啟動share端的NFS服務,
Linux:
mount: RPC: Program not registered
#service 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
原因:
出現這個錯誤資訊是由於SEVER端的PORTMAP沒有啟動。
解決:
#service portmap start
#service pcmcia start
----------------------------------------------------------------------------
NFS故障解決:
1、NFSD沒有啟動起來
首先要確認 NFS 輸出列表存在,否則 nfsd 不會啟動。可用 exportfs 命令來檢查,如果 exportfs 命令沒有結果返回或返回不正確,則需要檢查 /etc/exports 檔案。
2、mountd 程序沒有啟動
mountd 程序是一個遠端過程呼叫 (RPC) ,其作用是對客戶端要求安裝(mount)檔案系統的申請作出響應。mountd程序通過查詢 /etc/xtab檔案來獲知哪些檔案系統可以被遠端客戶端使用。另外,通過mountd程序,使用者可以知道目前有哪些檔案系統已被遠端檔案系統裝配,並得知遠端客戶端的列表。檢視mountd是否正常啟動起來可以使用命令rpcinfo進行檢視,在正常情況下在輸出的列表中應該象這樣的行:
100005 1 udp 1039 mountd
100005 1 tcp 1113 mountd
100005 2 udp 1039 mountd
100005 2 tcp 1113 mountd
100005 3 udp 1039 mountd
100005 3 tcp 1113 mountd
如果沒有起來的話可以檢查是否安裝了PORTMAP元件。
rpm -qa|grep portmap
3、fs type nfs no supported by kernel
kernel不支援nfs檔案系統,重新編譯一下KERNEL就可以解決。
4、cant contact portmapper: RPC: Remote system error - Connection refused
出現這個錯誤資訊是由於SEVER端的PORTMAP沒有啟動。
5、mount clntudp_create: RPC: Program not registered
NFS沒有啟動起來,可以用showmout -e host命令來檢查NFS SERVER是否正常啟動起來。
6、mount: localhost:/home/test failed, reason given by server: Permission denied
這個提示是當client要mount nfs server時可能出現的提示,意思是說本機沒有許可權去mount nfs server上的目錄。解決方法當然是去修改NFS SERVER咯。
7、被防火牆阻擋
這個原因很多人都忽視了,在有嚴格要求的網路環境中,我們一般會關閉linux上的所有埠,當需要使用哪個埠的時候才會去開啟。而NFS預設是使用111埠,所以我們先要檢測是否打開了這個埠,另外也要檢查TCP_Wrappers的設定。