一、 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.70(nfs服務未啓動)
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(注意使用的匿名用戶名稱,也就是配置中的anonuid和anongid)
十、 掛載文件系統超時
在掛載的時候,出現超時的錯誤,以下所示:
[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.70(showmount顯示有信息)
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源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。