NFS網絡文件系統-問題解決方法

 

一、 NFS客戶端重啓hang

NFS服務端宕機以後,那麼在重啓NFS客戶端的時候,會出現以下錯誤,客戶端沒法正常關閉,服務一致hang住,必須強制進行重啓。node

解決方案:服務器

[root@nfsclient~]# umount /opt卸載掛載的NFS文件系統微信

在從新啓動服務器的時候,須要將掛載的NFS進行卸載便可。網絡

若是使用umount沒法卸載那麼使用以下的參數:app

[root@nfsclient~]# umount -lf /opt(強制卸載NFS文件系統運維

主要檢查服務端的服務,只要出現hang主的狀況,那麼必然是服務端出現問題或者網絡問題。dom

查找掛載目錄的時候,使用的命令以下:async

[root@nfsclientopt]# cat /proc/mounts 查看掛載的目錄tcp

192.168.1.70:/kel//opt nfs4rw,relatime,vers=4,rsize=16384,wsize=16384,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.63,minorversion=0,local_lock=none,addr=192.168.1.700 0ui

而後卸載對應的目錄。

在查看對應的掛載信息的時候,也可使用命令nfsstat,以下所示:

[root@nfsclient~]# nfsstat -m查看掛載的NFS的信息

/opt from192.168.1.70:/kel/

 Flags: rw,relatime,vers=4,rsize=16384,wsize=16384,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.63,minorversion=0,local_lock=none,addr=192.168.1.70

 

二、 NFS客戶端沒法顯示正確的屬主和屬組

在進行掛載以後,在服務端能夠看到正確的屬主和屬組,可是在客戶端掛載以後沒法顯示正確的屬主和屬組,以下所示:

[root@nfsclientopt]# ls -l屬主和屬組顯示奇怪的id號碼,而不是顯示名稱

total 0

-rw-r--r--. 1 4294967294 4294967294 0 Aug 1902:35 file

-rw-r--r--. 1 4294967294 4294967294 0 Aug 1901:19 serverfile

並且在客戶端進行修改屬主和屬組的時候,報錯以下所示:

[root@nfsclientopt]# chown nfsnobody.nfsnobody serverfile 沒法修改屬主和屬組

chown: changingownership of `serverfile': Invalidargument

解決方案

[root@nfsclient~]# mount -t nfs -o vers=3 192.168.1.70:/kel /opt使用其餘選項-o進行掛載,使用NFS的三版本

[root@nfsclient~]# cd /opt

[root@nfsclientopt]# ls -l

total 0

-rw-r--r--. 1root      root      0 Aug 19 03:01 kel

-rw-r--r--. 1nfsnobody nfsnobody 0 Aug 19 02:59 serverfile

 

在進行掛載nfs文件系統的時候,只要將版本設置爲3便可或者重啓服務器也或許能夠。


三、 NFS服務端rpcbind服務未啓動

rpcbind服務未啓動的時候,直接在客戶端查看能掛載的NFS文件系統,顯示以下所示:

[root@nfsclient~]# showmount -e 192.168.1.70查看NFS服務的掛載信息

clnt_create:RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)

[root@nfsserver~]# showmount -e 192.168.1.70查看NFS服務的掛載信息

clnt_create:RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)

解決方案:

rpcbind服務啓動便可。

[root@nfsserver~]# /etc/init.d/rpcbind start啓動rpcbind服務

Startingrpcbind:                                         [  OK  ]

 

四、 NFS服務端nfs服務未啓動

NFS的服務端nfs服務未啓動的時候,不管是在客戶端進行showmount仍是在客戶端showmount,都會顯示錯誤以下:

[root@nfsclient~]# showmount -e 192.168.1.70nfs服務未啓動

clnt_create:RPC: Program not registered

解決方案:

顯示的錯誤內容爲,服務未註冊,這個時候只要將nfs服務端的NFS服務啓動便可。

[root@nfsserver~]# /etc/init.d/nfs start啓動NFS服務

Starting NFSservices:                                      [  OK  ]

Starting NFSquotas:                                      [  OK  ]

Starting NFSdaemon:                                     [  OK  ]

Starting NFSmountd:                                      [  OK  ]

 

5 NFS服務端日誌報錯

NFS服務端中/var/log/messages報錯以下:

Aug 19 02:36:25 nfscserverrpc.idmapd[1370]: nss_getpwnam: name 'nobody' does not map into domain'localdomain'

Aug 19 03:00:48 nfscserverrpc.idmapd[1370]: nss_getpwnam: name 'nobody' does not map into domain'localdomain'

解決方案:

主要是由於在/etc/hosts文件中未進行地址解析,從而將/etc/hosts文件中以下:

[root@nfsserver~]# cat /etc/hosts增長主機名便可

127.0.0.1   localhost localhost.localdomain localhost4localhost4.localdomain4 nfsserver

::1         localhost localhost.localdomainlocalhost6 localhost6.localdomain6


6 啓動NFS服務配置文件報錯

在啓動NFS服務的時候,報錯以下:

[root@nfsserver~]# /etc/init.d/nfs start

Starting NFSservices:  exportfs: /etc/exports:1: syntax error: badoption list

                                                          [FAILED]

Starting NFSquotas:                                       [ OK  ]

Starting NFSdaemon:                                      [  OK  ]

Starting NFSmountd:                                      [  OK  ]

表示配置文件/etc/exports配置錯誤,從而須要修改配置文件的內容,查看以下:

[root@nfsserver~]# cat /etc/exports (配置文件缺乏一個括號)

#this is forshare download file by kel

/kel192.168.1.0/24(rw,sync,all_squash,anonuid=65534,anongid=65534

[root@nfsserver~]# showmount -e localhost查看掛載信息爲空,未共享目錄

Export list forlocalhost:

解決方案:

修改配置文件內容以下:

[root@nfsserver~]# vi /etc/exports 修改配置文件信息,添加括號

[root@nfsserver~]# cat /etc/exports

#this is forshare download file by kel

/kel192.168.1.0/24(rw,sync,all_squash,anonuid=65534,anongid=65534)

[root@nfsserver~]# /etc/init.d/nfs reload從新加載配置文件

[root@nfsserver~]# showmount -e查看共享目錄

Export list fornfsserver:

/kel192.168.1.0/24


七、 文件系統沒法卸載

在進行卸載文件系統的時候,出現以下報錯:

[root@nfsclientopt]# umount /opt卸載的時候,出現設備在忙

umount.nfs:/opt: device is busy

umount.nfs:/opt: device is busy

解決方案:

可使用以下命令進行強制卸載:

[root@nfsclientopt]# umount -lf /opt/加參數lf進行強制卸載


八、 文件系統沒法掛載

在進行掛載文件系統的時候,提示錯誤以下所示:

[root@nfsclient~]# mount -t nfs -o bg,hard,intr,rw,noexec,nodev,nosuid 192.168.1.70:/kel /opt使用後臺方式進行掛載

mount.nfs:backgrounding "192.168.1.70:/kel"

mount.nfs: mountoptions: "bg,hard,intr,vers=4,addr=192.168.1.70,clientaddr=192.168.1.63"

在使用後臺方式進行掛載的時候,也就是參數bg,這個時候報錯信息不會直接在控制檯顯示錯誤信息,可是在日/var/log/.messages中會顯示錯誤信息以下:

Aug 23 08:45:24localhost mount[6224]: mount to NFS server '192.168.1.70' failed: Connectionrefused, retrying

Aug 23 08:45:32localhost mount[6224]: mount to NFS server '192.168.1.70' failed: Connectionrefused, retrying

Aug 23 08:45:48localhost mount[6224]: mount to NFS server '192.168.1.70' failed: Connectionrefused, retrying

Aug 23 08:46:10localhost mount[6218]: mount to NFS server '192.168.1.70' failed: Connectionrefused, retrying

 

在不使用bg參數的時候,顯示錯誤以下所示:

[root@nfsclient~]# mount -t nfs -o rw 192.169.1.70:/kel /opt

mount.nfs:Connection timed out

/var/log/messages中顯示錯誤以下:

Aug 23 09:40:16localhost kernel: nfs: server 192.168.1.70 not responding, still trying

 

在客戶端使用命令showmount以下:

[root@nfsclient~]# showmount -e 192.168.1.70

clnt_create:RPC: Program not registered

解決方案:

表示服務端NFS服務未啓動,在NFS服務端啓動NFS便可


九、 掛載目錄沒法寫入文件

在將文件系統掛載以後,服務端給的權限是rw,可是客戶端沒法寫入文件,報錯內容以下所示:

[root@nfsclient~]# mount 192.168.1.70:/kel /opt

[root@nfsclient~]# cd /opt

[root@nfsclientopt]# ls -l

total 0

-rw-r--r--. 1nfsnobody nfsnobody 0 Aug 23 00:39 11

-rw-r--r--. 1nfsnobody nfsnobody 0 Aug 23 00:39 123

[root@nfsclientopt]# touch 1建立文件顯示權限不足

touch: cannot touch `1': Permission denied

檢查錯誤以下:

[root@nfsclientopt]# cat /proc/mounts |grep /opt檢查客戶端權限

192.168.1.70:/kel//opt nfs4rw,relatime,vers=4,rsize=16384,wsize=16384,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.63,minorversion=0,local_lock=none,addr=192.168.1.700 0

[root@nfsserver~]# cat /etc/exports 檢查服務端權限

#this is forshare download file by kel

/kel192.168.1.0/24(rw,async)

[root@nfsserver~]# ls -ld /kel檢查共享目錄權限

drwxr-xr-x 2root root 4096 Aug 23 01:34 /kel

解決方案:

在這裏出現權限不足,主要是由於目錄權限不足,NFS服務端本地文件的權限致使,從而修改NFS服務端權限便可。

[root@nfsserver~]# chown nfsnobody.nfsnobody /kel(注意使用的匿名用戶名稱,也就是配置中的anonuidanongid


十、 掛載文件系統超時

在掛載的時候,出現超時的錯誤,以下所示:

[root@nfsclient~]# mount -t nfs 192.168.1.64:/kel /opt

mount.nfs:Connection timed out

出現的緣由有2個:

① NFS服務端的NFS服務未啓動

② 權限不足,配置不對

當在客戶端發現以下信息時:

解決方案:

在客戶端使用命令showmount以下:

[root@nfsclient~]# showmount -e 192.168.1.70表示NFS服務端服務未啓動

clnt_create:RPC: Program not registered

在客戶端發現以下信息:

[root@nfsclient~]# showmount -e 192.168.1.70showmount顯示有信息

Export list for192.168.1.70:

/kel192.168.1.64

注意檢查目錄對應的IP地址或者主機名,在本錯誤中,是因爲本機的IP地址爲192.168.1.65不在分享的指定IP中,從而致使沒法掛載


十一、 掛載顯示 access denied

在進行掛載的時候,顯示錯誤以下所示:

[root@nfsclient~]# mount -t nfs 192.168.1.70:/kel /opt

mount.nfs: access denied by server whilemounting 192.168.1.70:/kel

在使用showmount的時候,顯示以下:

[root@nfsclient~]# showmount -e 192.168.1.70

Export list for192.168.1.70:

/kel192.168.1.65

能夠看到是由於IP地址的限制,從而須要修改NFS端配置文件,解決方案:

以下:

[root@nfsserver~]# cat /etc/exports

#this is forshare download file by kel

/kel192.168.1.63(rw,async,all_squash,anonuid=65533,anongid=65533)

[root@nfsserver~]# /etc/init.d/nfs reload

[root@nfsserver~]# showmount -e

Export list fornfsserver:

/kel192.168.1.63



本文分享自微信公衆號 - SRE運維實踐(gh_319dd73ec076)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索