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