一、nfs客户端服务端部署
省略

二、nfs工作原理
1、

NFS:Network File System 网络文件系统,基于内核的文件系统。通过使用
NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件,基于RPC(Remote Procedure Call Protocol
远程过程调用)实现

2、

因为NFS支持的功能相当多,而不同的功能都会使用不同的程序来启动,每启动一个功能就会启用一些端口来传输数据,因此NFS的功能对应的端口并不固定,客户端要知道NFS服务器端的相关端口才能建立连接进行数据传输,而RPC就是用来统一管理NFS端口的服务,并且统一对外的端口是111,RPC会记录NFS端口的信息,如此我们就能够通过RPC实现服务端和客户端沟通端口信息。PRC最主要的功能就是指定每个NFS功能所对应的port
number,并且通知客户端,记客户端可以连接到正常端口上去。

在启动NFS SERVER之前,首先要启动RPC服务(即portmap或rpcbind服务,下同)否则NFS
SERVER就无法向RPC服务区注册,另外,如果RPC服务重新启动,原来已经注册好的NFS端口数据就会全部丢失。因此此时RPC服务管理的NFS程序也要重新启动以重新向RPC注册。一般修改NFS配置文档后,是不需要重启NFS的,直接在命令执行/etc/init.d/nfs
reload或exportfs –rv即可使修改的/etc/exports生效。

三、常见参数

 ro:默认选项,以只读的方式共享。rw:以读写的方式共享。root_squash:将客户端使用的是root用户时,则映射到NFS服务器的用户为NFS的匿名用户(nfsnobody)。no_root_squash:将客户端使用的是root用户时,则映射到NFS服务器的用户依然为root用户。all_squash:默认选项,将所有访问NFS服务器的客户端的用户都映射为匿名用户,不管客户端使用的是什么用户。anonuid:设置映射到本地的匿名用户的UIDanongid:设置映射到本地的匿名用户的GIDsync:默认选项,保持数据同步,数据同步写入到内存和硬盘。async:异步,先将数据写入到内存,在将数据写入到硬盘。secure: 限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);insecure:允许客户端从大于1024的tcp/ip端口连接服务器subtree_check   如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认) no_subtree_check   和上面相对,不检查父目录权限wdelay            如果多个用户要写入NFS目录,则归组写入(默认) no_wdelay      如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。 Hide                在NFS共享目录中不共享其子目录 no_hide           共享NFS目录的子目录 

四、常见命令
1、检查共享目录信息

showmount -e nfs服务端IP地址

2、查看挂载目录

df  -h

3、nfs服务端查看端口映射情况

rpcinfo -p localhost

4、开机自动挂载写法


[root@web01 test]$ cat /etc/fstab
# 添加如下信息
10.0.0.1:/data                        /mnt   nfs   defaults   0 0

5、手动挂载命令

mount -t nfs ip:/data /data

6、重新加载配置文件

systemctl reload nfs-server
或者
exportfs -avr

7、查看挂载是报错的具体信息

mount -t nfs -vvvv server.example.com:/share /mnt

五、常见故障分析
1、排查nfs和客户端防火墙安全组配置

ufw ipables firewalld

2、看nfs服务端的ip能否ping通长长访问
3、查看客户端是否正常启动
4、showmount -e nfs服务端ip查看是否能够查看nfs服务端信息
5、使用mount -t nfs -vvvv server.example.com:/share /mnt查看挂载报错的具体问题

5、nfs服务端未开放相关服务组件访问端口

查看服务端rpc状态信息,其中mountd 和nlockmgr
服务启动端口不固定(可通过重启rpcbind和nfs-server服务前后对比打印信息)

[root@iZ8vb1o2lqhuz4bjn2ton6Z ~]# rpcinfo -pprogram vers proto   port  service100000    4   tcp    111  portmapper100000    3   tcp    111  portmapper100000    2   tcp    111  portmapper100000    4   udp    111  portmapper100000    3   udp    111  portmapper100000    2   udp    111  portmapper100005    1   udp  20048  mountd100005    1   tcp  20048  mountd100005    2   udp  20048  mountd100005    2   tcp  20048  mountd100005    3   udp  20048  mountd100005    3   tcp  20048  mountd100003    3   tcp   2049  nfs100003    4   tcp   2049  nfs100227    3   tcp   2049  nfs_acl100003    3   udp   2049  nfs100003    4   udp   2049  nfs100227    3   udp   2049  nfs_acl100021    1   udp  40286  nlockmgr100021    3   udp  40286  nlockmgr100021    4   udp  40286  nlockmgr100021    1   tcp  33983  nlockmgr100021    3   tcp  33983  nlockmgr100021    4   tcp  33983  nlockmgr

对比nfs的端口使用情况

服务名 端口号 协议 说明
nfs 2049 tcp/udp 固定端口
portmapper 111 tcp/udp 固定端口
mountd 20048 tcp/udp 端口可以修改
nlockmgr 42315 tcp/udp 端口可以修改

更改相关端口为固定端口mountd和nlockmgr

更改mountd 服务端口为20048
echo “mountd 20048/tcp” >> /etc/services
echo “mountd 20048/udp” >> /etc/services

更改nlockmgr 服务端口为42315
echo “fs.nfs.nlm_udpport=42315” >> /etc/sysctl.conf
echo “fs.nfs.nlm_tcpport=42315” >> /etc/sysctl.conf
sysctl -p

方通端口2049 、111 、20048 、42315

6、案例:在云上部署nfs服务端然后使用云上的服务端可以正常访问;但是使用idc线下服务器挂载云上的nfs服务端却始终失败,nfs服务端已放开所有端口ip访问

具体报错如下:

[root@node-01 ~]#  mount -t nfs -vvvv  112.43.5.67:/data /data
mount.nfs: timeout set for Sat May  7 22:52:28 2020
mount.nfs: trying text-based options 'vers=4.1,addr=112.43.5.67,clientaddr=10.0.0.94'
mount.nfs: mount(2): Operation not permitted
mount.nfs: trying text-based options 'addr=112.43.5.67'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 8.142.149.27 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=17
mount.nfs: trying 8.142.149.27 prog 100005 vers 3 prot UDP port 20048
mount.nfs: mount(2): Permission denied
mount.nfs: Operation not permitted

分析原因:

由于nfs默认的客户端访问是secure只能允许客户端通过小于1024的特权端口连接服务端导致的权限拒绝

解决办法:

在服务端配置文件/etc/exports中配置insecure
允许客户端使用大于1024端口访问服务端
测试可以正常访问

NFS常见问题及参数相关推荐

  1. nfs client高性能参数设置

    1.背景 Linux nfs客户端对于同时发起的NFS请求数量进行了控制,若该参数配置较小会导致IO性能较差.可以如下命令配置该参数: cat /proc/sys/sunrpc/tcp_slot_ta ...

  2. 【共享服务】nfs常见问题处理

    一.nfs服务端防火墙策略配置 1.问题描述 启用nfs服务端防火墙之后,客户端无法进行showmount及挂载操作 服务端开启防火墙 ufw allow 22 ufw enable 客户端showm ...

  3. NFS挂载参数详解及使用建议

    NFS常用挂载参数 1. NFS各版本通用参数 参数 说明 使用建议 soft/hard 软挂载方式挂载系统,若NFS请求超时,则客户端向调用程序返回错误:如果使用硬连接方式则客户端一直重新请求直至成 ...

  4. 在Ubuntu Server上添加NFS共享文件夹

    Synology NAS已搭建好NFS服务 Ubuntu上安装NFS命令支持 sudo apt install nfs-common Ubuntu上先创建要映射的文件夹 sudo mkdir /tes ...

  5. linux ubuntu 安装samba ftp nfs tftp,Ubuntu配置TFTP和NFS和samba服务配置.doc

    Ubuntu配置TFTP和NFS和samba服务配置 配置tftp服务的步骤: 1.安装相关软件包:tftpd(服务端),tftp(客户端),xinetd sudo apt-get install t ...

  6. [转]讲解安装Ubuntu nfs配置系统

    转自:http://os.51cto.com/art/201001/176511.htm 对大家推荐很好使用的nfs服务系统之前,像让大家对Ubuntu nfs服务系统有所了解,然后对Ubuntu n ...

  7. AIX 访问Linux NFS共享错误案例

    AIX 访问Linux NFS共享错误案例 系统环境: 操作系统: RedHat EL4.AIX 5.3 错误现象: Linux 作为NFS Server ,AIX host 作为NFS Client ...

  8. Ubuntu NFS服务器的配置

    大部分内容转自文章: http://blog.csdn.net/yangzhu1982/article/details/6265175 这里对NFS服务器就不多加介绍,想要配置该服务器的朋友定然会知道 ...

  9. centos6.5 搭建NFS 服务

    Nfs服务 挂载命令: mount 源 目标 mount ip地址 本地地址 mount –t 192.168.1.115:/video /video 1 先开启rpc服务 2 启动nfs服务 向rp ...

最新文章

  1. 2015第36周一高效程序员的45个习惯
  2. [收集] C++ memset ,memcpy 和strcpy 的区别
  3. phpstrtotime()对于31日求上个月有问题
  4. Android --- 从相册中选择图片或者拍着选择图片遇到的问题
  5. jeecg框架alert消息样式
  6. c语言程序设计扫雷游戏实验报告,C语言程序设计扫雷游戏实验报告.pdf
  7. 093:QuerySet API详解-QuerySet转换为SQL的条件
  8. 下拉词优化昔年谈小企业互联网推广该怎么做!
  9. HCIE-Security Day3:防火墙特征和组网方式
  10. ISO 9000 质量认证
  11. PaddleOCR手写体训练摸索
  12. delphi random_delphi产生随机数
  13. Circular Local MiniMax
  14. 揭秘消费金融之反欺诈
  15. YOLOV5出现.acceptable suffix is [‘.pt‘]的错误||不使用权重报错
  16. IntelliJ IDEA设置护眼浅绿色背景及文字大小
  17. 路由器设备选型参照天梯
  18. Organization Chart
  19. 《程序员》杂志社 2010SD软件开发2.0大会随笔
  20. 在线dockerfile 语法检测

热门文章

  1. 现代远程教育入学指南(石油大学)--高等数学(二)在线作业
  2. Mac M1快速配置开发环境
  3. Qt 用 MVD(model view delegate) 模式 把图片变为灰度像素点 [官方Example]
  4. mkdir -p的用法
  5. 测量软件使用的心得体会
  6. 关于对测绘软件的理解
  7. 黑苹果 MSI B360迫击炮 i5 8500 hdmi输出 bug处理
  8. 前端frame中引起的X-Frame-Options报错
  9. Zookeeper安装与可视化客户端详细使用教程
  10. 分享一些相见恨晚的学习、工作必备工具