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源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索