【linux 】服务器异常down 机 NFS挂载失败

简介:
工作中遇到的一个案例,由于rac1 异常dang 机导致nfs 挂载失败,具体环境如下
nfs server端 als_mybak4 10.251.134.205
nfs client端 rac1       10.250.7.225
在rac1上使用挂载nfs 失败 使用showmount查看,报timeout错误!
root@rac1#showmount -e 10.251.134.205
mount clntudp_create: RPC: Port mapper failure - RPC: Timed out

在nfs服务端查看端口信息
root@als_mybak4 # netstat -ltpn | more
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:42251               0.0.0.0:*                   LISTEN      6451/rpc.mountd     
tcp        0      0 0.0.0.0:875                 0.0.0.0:*                   LISTEN      6435/rpc.rquotad    
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      1361/rpcbind        
tcp        0      0 0.0.0.0:51954               0.0.0.0:*                   LISTEN      1379/rpc.statd      
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1514/sshd           
tcp        0      0 0.0.0.0:57949               0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:20351               0.0.0.0:*                   LISTEN      1578/python         
tcp        0      0 0.0.0.0:2049                0.0.0.0:*                   LISTEN      -                   
tcp        0      0 :::111                      :::*                        LISTEN      1361/rpcbind        
tcp        0      0 :::22                       :::*                        LISTEN      1514/sshd           
tcp        0      0 :::38359                    :::*                        LISTEN      -                   
tcp        0      0 :::12865                    :::*                        LISTEN      26721/netserver     
tcp        0      0 :::42918                    :::*                        LISTEN      1379/rpc.statd  
运行nfs所需要的后台进程:
 rpc.nfsd管理clinet是否有权限登录,以及判别登录者的uid等;
 rpc.mountd读取/etc/exports的权限,对文件访问权限进行控制;
 rpc.lockd文件的互斥锁,保证文件在同一时间只有一个人访问,需要nfslockd服务;
 rpc.statd检查文件的一致性,需要nfslockd服务。

网络方面的acl配置
3970 permit tcp host 10.250.7.225 host 10.251.134.205 eq sunrpc
3980 permit tcp host 10.250.7.225 host 10.251.134.205 eq 2049
3990 permit tcp host 10.250.7.225 host 10.251.134.205 eq 38520
4000 permit tcp host 10.250.7.225 host 10.251.134.205 eq sunrpc
4010 permit tcp host 10.250.7.225 host 10.251.134.205 eq 2049
4020 permit tcp host 10.250.7.225 host 10.251.134.205 eq 38520
服务器上面的端口和网络配置的ACL的端口不对应,造成了两个服务器之间不可连接,从而超时!
这里还要说说NFS 
        网络文件系统(NFS,Network File System)是一种将远程主机上的分区(目录)经网络挂载到本地系统的一种机制,通过对网络文件系统的支持,客户可以在本地系统上像操作本地分区一样来对远程主机的共享分区(目录)进行操作。因为NFS支援的功能很多,而不同的功能会使用不同的方式来启动,每启动一个功能就会启用一些port来传输资料!因此, NFS的功能所对应的port是不固定的,而是采用随机取用一些未被使用的小于1024的埠口来作为传输之用。此时我们就得需要远端程序呼叫(RPC)的服务。RPC最主要的功能就是在指定每个NFS功能所对应的port number ,并且回报给客户端,让客户端可以连结到正确的埠口上去。那RPC又是如何知道每个NFS的埠口呢?这是因为当伺服器在启动NFS时会随机取用数个埠口,并主动的向RPC注册,因此RPC可以知道每个埠口对应的NFS功能,然后RPC又是固定使用port 111 来监听客户端的需求并回报客户端正确的埠口!
        portmap 进程的主要功能是把RPC程序号转化为Internet的端口号
当一个RPC服务器启动时,会选择一个空闲的端口号并在上面监听(每次启动后的端口号各不相同),同时它作为一个可用的服务会在portmap进程注册。一个RPC服务器对应惟一一个RPC程序号,RPC服务器告诉portmap进程它在哪个端口号上监听连接请求和为哪个RPC程序号提供服务。经过这个过程,portmap进程就知道了每一个已注册的RPC服务器所用的Internet端口号,而且还知道哪个程序号在这个端口上是可用的。portmap进程维护着一张RPC程序号到Internet端口号之间的映射表,它的字段包括程序号、版本号、所用协议、端口号和服务名,portmap进程通过这张映射表来提供程序号-端口号之间的转化功能。如果portmap进程停止了运行或异常终止,那么该系统上的所有RPC服务器必须重新启动。首先停止NFS服务器上的所有NFS服务进程,然后启动portmap进程,再启动服务器上的NFS进程。但portmap只在第一次建立连接的时候起作用,帮助网络应用程序找到正确的通讯端口,但是一旦这个双方正确连接,端口和应用就绑定,portmap也就不起作用了。但对其他任何第一次需要找到端口建立通讯的应用仍然有用。
nfs 服务器端和客户端连接的步骤:
1 客户端会向伺服器端的RPC (port 111)发出NFS档案存取功能的询问要求;
2 伺服器端找到对应的已注册的NFS daemon埠口后,会回报给客户端;
3 客户端了解正确的埠口后,就可以直接与NFS daemon来连线。
        由于NFS的各项功能都必须要向RPC来注册,如此一来RPC才能了解NFS这个服务的各项功能之port number, PID, NFS在主机所监听的IP等等,而客户端才能够透过RPC的询问找到正确对应的埠口。也就是说,NFS必须要有RPC存在时才能成功的提供服务,因此我们称NFS为RPC server的一种。
       我的环境是客户端从 服务器端的111端口获取nfs 正在监听的端口,再向服务器端发起连接的时候被acl访问控制限制导致不可连接!重新配置acl的端口号,或者将10.250.7.225 到 10.251.134.205 之间的ip 全部端口开放~!这样当下次rac1 down机 重启之后,就不会因为网络ACL的端口限制而不能正常使用nfs服务了~!
相关文章
|
17天前
|
Linux
Linux 服务器下载百度网盘文件
本教程指导如何使用 `bypy` 库从百度网盘下载文件。首先通过 `pip install bypy` 安装库,接着运行 `bypy info` 获取登录链接并完成授权,最后将文件置于指定目录并通过 `bypy downdir /Ziya-13b-v1` 命令下载至本地。
24 1
Linux 服务器下载百度网盘文件
|
2天前
|
存储 数据挖掘 Linux
服务器数据恢复—Linux操作系统网站服务器数据恢复案例
服务器数据恢复环境: 一台linux操作系统服务器上跑了几十个网站,服务器上只有一块SATA硬盘。 服务器故障: 服务器突然宕机,尝试再次启动失败。将硬盘拆下检测,发现存在坏扇区
|
9天前
|
存储 安全 Linux
离线Linux服务器环境搭建
【9月更文挑战第3天】在离线环境下搭建Linux服务器需按以下步骤进行:首先确定服务器用途及需求,准备安装介质与所需软件包;接着安装Linux系统并配置网络;然后设置系统基础参数,如主机名与时区;安装必要软件并配置服务;最后进行安全设置,包括关闭非必要服务、配置防火墙、强化用户认证及定期备份数据。整个过程需确保软件包的完整性和兼容性。
|
11天前
|
存储 监控 Linux
监控Linux服务器
详细介绍了如何监控Linux服务器,包括监控CPU、内存、磁盘存储和带宽的使用情况,以及使用各种系统监控工具如vmstat、iostat、sar、top和dstat来分析系统性能,并推荐了一些开源监控系统。
22 0
监控Linux服务器
|
17天前
|
Shell Linux Perl
linux服务器自动生成本地快照
【8月更文挑战第28天】本文介绍了在Linux服务器上通过两种常见方式创建本地快照的方法:Btrfs文件系统与LVM。Btrfs原生支持快照功能,操作简单快捷;LVM则提供了灵活的逻辑卷管理,可在不影响原始数据的情况下创建快照。文章详细列出了创建、查看、挂载及清理快照的具体步骤,并提供了一个自动化的Shell脚本示例,便于用户根据需求定期创建快照并清理过期快照。
18 3
|
17天前
|
Ubuntu Linux
内核实验(四):Qemu调试Linux内核,实现NFS挂载
本文介绍了在Qemu虚拟机中配置NFS挂载的过程,包括服务端的NFS服务器安装、配置和启动,客户端的DHCP脚本添加和开机脚本修改,以及在Qemu中挂载NFS、测试连通性和解决挂载失败的方法。
27 0
内核实验(四):Qemu调试Linux内核,实现NFS挂载
|
11天前
|
监控 安全 网络协议
快速配置Linux云服务器
快速配置Linux云服务器
|
16天前
|
缓存 Linux 调度
Linux服务器如何查看CPU占用率、内存占用、带宽占用
Linux服务器如何查看CPU占用率、内存占用、带宽占用
54 0
|
17天前
|
Linux 网络安全 网络架构
如何处理在学校Linux连接不上服务器
如何处理在学校Linux连接不上服务器
32 0
|
19天前
|
算法 Linux 索引
Linux0.11 根文件系统挂载(四)
Linux0.11 根文件系统挂载(四)
12 0