1. showmount命令说明

showmount命令一般用于从NFS客户端检查NFS服务器端共享目录的情况。

参数说明:

  • -e,--exports

    • 显示NFS服务器输出的目录列表
    • [root@web01-8 mnt]# showmount -e 192.168.0.31
      Export list for 192.168.0.31:
      /oldboy 192.168.0.0/24
      /data 192.168.0.0/24
  • -d,--directories
    • 显示NFS服务器中已经被客户端挂载的目录
    • 显示的信息比-e少,一般直接使用-e即可
  • -a,--all
    • 以ip:/dir 格式显示NFS服务器的IP地址和可被挂载的目录

2. exportfs命令说明

2.1 exportfs命令介绍

exportfs -rv命令相当于/etc/init.d/nfs reload,该带参数的命令用于使新加载的配置生效。

除此之外,通过exportfs命令,我们还可以管理当前NFS共享的文件系统目录列表。

在启动NFS服务之后,如果此时修改了/etc/exports,就需要重新启动NFS,是修改的配置生效。

这个时候就可以用exportfs命令来完成。

语法:

  • /usr/sbin/exportfs [-avi] [-o options,..] [client:/path ..]
  • /usr/sbin/exportfs -r [-v]
  • /usr/sbin/exportfs [-av] -u [client:/path ..]
  • /usr/sbin/exportfs [-v]
  • /usr/sbin/exportfs -f

或:

  • /usr/sbin/exportfs [ -a ]  [ -v ] [ -u ]  [ -i ]  [ -fFile ] [ -o Option ] [ Directory ]

参数:

  • -a 全部挂载或者全部卸载
  • -r 重新挂载
  • -u 卸载某一个目录
  • -v 显示共享目录
  • -i  忽略/etc/exports和/etc/exports.d目录下文件。此时只有命令行中给定选项和默认选项会生效。
  • -f  如果/prof/fs/nfsd或/proc/fs/nfs已被挂载,即工作在新模式下,该选项将清空内核中导出表中的所有导出项。客户端下一次请求挂载导出项时会通过rpc.mountd将其添加到内核的导出表中。

2.2 exportfs 命令参数的使用方法

  • 重新加载配置,使修改生效,实现这个功能的命令是:exportfs -rv,相当于/etc/init.d/nfs reload
  • 管理当前NFS共享的文件系统目录列表
    • 示例:通过exportfs命令来共享NFS存储目录
    • exportfs -o rw,sync 192.168.0.0:/data
      showmount -e localhost exportfs -o rw,sync,all_squash,anonuid=888,anongid=888 192.168.0.0:/data

3. RPC

3.1 RPC原理描述

RPC,即Remote Procedure Call,远程过程调用,其实就是一些程序在执行远程联机时,需要用到的程序。

简单的说,当我们使用某些服务来进行远程联机的时候,有些信息(例如主机的IP,服务的port,与对应到的服务的PID等),需要管理与之对应。这个管理的工作就是RPC的任务。

如果我们将NFS和RPC两者的相关性连接起来:

NFS本身的服务并没有提供数据传递的协议,但是NFS却能让我们访问其提供的文件,这就是因为NFS使用到了一些其它相关的传输协议。而这些传输的协议,就使用到RPC的功能。

3.2 RPC相关命令rpcinfo

语法:

  • rpcinfo [-m | -s] [host]
  • rpcinfo -p [host] 
  • rpcinfo -T transport host prognum [versnum]
  • rpcinfo -l [-T transport] host prognum [versnum]
  • rpcinfo [-n portnum] -u host prognum [versnum]
  • rpcinfo [-n portnum] [-t] host prognum [versnum]
  • rpcinfo -a serv_address -T transport prognum [versnum]
  • rpcinfo -b [-T transport] prognum versnum
  • rpcinfo -d [-T transport] prognum versnum

host为主机,portnum为端口号,prognum为程序号,versnum为版本号

参数:

  • -p 选项,使用 rpcbind 协议的第 2 版本样式来探测 rpcbind ,第 2 版本的 rpcbind 在早些时也称为 portmapper 协议。
  • -t 选项,使用 TCP 协议向指定 host 上的 prognum 的 过程0 发出 RPC 调用,并报告是否能收到一个响应。该选项建议使用上述的 -T 来代替。
  • -u 选项,使用 UDP 协议向指定 host 上的 prognum 的 过程0 发出 RPC 调用,并报告是否能收到一个响应。该选项建议使用上述的 -T 来代替。
  • -a 选项,指定主机的完整 IP 地址和端口号。
  • -b 选项,将 RPC 广播到指定的“程序号/版本号"对的 过程0 ,并报告响应的所有主机。如果指定了 transport 参数,它仅广播它的指定 transport 上的请求。如果任何 transport 不支持广播,那么打印错误信息。由于广播行为可能会对别的系统产生不利影响,应该限制使用广播。
  • -m 选项,显示指定主机上的端口映射操作统计信息表。该表包含了对每个版本的端口映射(版本2,3 和4)的统计信息、每个过程请求和成功服务的次数,所做的远程调用请求的类型和数目,以及关于已处理的 RPC 地址查询信息。本信息用来监视在主机上的 RPC 活动
  • -l 选项,显示在指定主机上的”程序号/版本号"对 的条目的列表。返回所有使用与用于联系远程 portmap 守护进程的协议在同一个协议系列内的传输的条目
  • -n portnum 选项,使用 portnum 参数作为 -t 和 -u 选项的端口号来代替 rpcbind 给出的端口号。使用该选项避免了调用远程 rpcbind 来查找服务的地址。不建议用该选项,而是使用 -a 选项。
  • -d 选项,删除给定“程序号/版本号”对上的 RPC 服务上的注册。如果使用 transport,那么只注销那个 transport 上的服务;否则注销掉所有 transport 上的服务。只有服务的拥有者可以删除相应的注册,root 用户可以删除任一个服务上的注册。

示例:

[root@nfs-31 data]# rpcinfo|head
program version netid address service owner # 程序,版本,协议,ip地址,服务名,所属用户
100000 4 tcp6 ::.0.111 portmapper superuser
100000 3 tcp6 ::.0.111 portmapper superuser
100000 4 udp6 ::.0.111 portmapper superuser
100000 3 udp6 ::.0.111 portmapper superuser
100000 4 tcp 0.0.0.0.0.111 portmapper superuser
100000 3 tcp 0.0.0.0.0.111 portmapper superuser
100000 2 tcp 0.0.0.0.0.111 portmapper superuser
100000 4 udp 0.0.0.0.0.111 portmapper superuser
100000 3 udp 0.0.0.0.0.111 portmapper superuser
[root@nfs-31 data]# rpcinfo -p localhost|head
program vers proto port service # 程序,版本,协议,端口,服务名
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100011 1 udp 875 rquotad
100011 2 udp 875 rquotad
100011 1 tcp 875 rquotad

4. NFS服务器端的防火墙控制

真正的企业生产环境服务器都属于内网环境,无需防火墙,因此,可以不对其进行配置。

如果要配置的话,下面两种方案,任选其一:

  • 仅允许内部IP段访问(最佳)

    • iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT
  • 允许IP段加端口访问
    • iptables -A INPUT -i eth1 -p tcp -s 192.168.0.0/23 --dport 111 -j ACCEPT

【集群实战】NFS网络文件共享服务3-相关知识补充(showmount,exports,rpc)的更多相关文章

  1. Linux实战教学笔记22:企业级NFS网络文件共享服务

    目录 第二十二节 企业级NFS网络文件共享服务 第一章 NFS网络文件共享服务 1.1 NFS介绍 1.2 NFS系统原理介绍 1.3 NFS服务端部署环境准备 1.4 NFS server端的设置 ...

  2. (转)企业级NFS网络文件共享服务

    企业级NFS网络文件共享服务 原文:http://www.cnblogs.com/chensiqiqi/archive/2017/03/10/6530859.html --本教学笔记是本人学习和工作生 ...

  3. 企业级NFS网络文件共享服务_【all】

    1.1. 什么是NFS(1台机器提供服务) Network File System(网络文件系统)通过局域网让不同的主机系统之间共享文件或目录. NFS客户端可以通过挂载的方式将NFS服务器端共享的数 ...

  4. 搭建企业级NFS网络文件共享服务说明[一]

    1.1.0. 概述: 共享/NFS目录给整个192.168.25.0/24网段主机读写 man nfs 可以查看mount的信息 rpc端口111 nfs主端口2049 1.1.1. 搭建NFS环境 ...

  5. 【集群实战】NFS网络文件共享服务

    1. NFS介绍 1.1 什么是NFS? NFS是Network File System的缩写,中文意思是网络文件系统. 它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录. ...

  6. 【集群实战】NFS网络文件共享服务2-mount挂载(参数,优化)

    1. NFS客户端挂载深入 1.1 NFS客户端挂载参数说明 在NFS服务端,可以通过cat /var/lib/nfs/etab查看NFS服务器端配置参数的细节. 在NFS客户端,可以通过cat /p ...

  7. NFS网络文件共享服务

    NFS-网络文件系统,它的主要功能是通过网络让不同的主机系统之间可以彼此共享文件或目录. NFS在企业中得应用场景 在企业集群架构的工作场景中,NFS网络文件系统一般被用来存储共享视频.图片.附件等静 ...

  8. 搭建企业级NFS网络文件共享服务

    NFS服务简介 NFS是Network  File System(网络文件系统).主要功能是通过网络让不同的服务器之间可以共享文件或者目录.NFS客户端一般是应用服务器(比如web,负载均衡等),可以 ...

  9. 搭建企业级NFS网络文件共享服务[二]

    1.1.8 NFS问题总结 1.问:使用showmount -e 127.0.0.1后报clnt_create: RPC: Program not registered错误 答:顺序不对,重启nfs服 ...

随机推荐

  1. DOM--选取文档元素

    大多数的客户端JavaScript程序在运行时都是在操作一个或者多个文档元素,而为了操作文档中的元素我们就必须要通过某种途径或者方法获得或者选取这些引用文档元素的Element对象.DOM定义了许多种 ...

  2. fiddler设置重定向

    fiddler支持将指定模式的url映射到另一个指定的url,即可用于拦截某一请求,并重定向到本地的资源或其他服务器地址 fiddler常用于: 解析请求:如:解析http请求状态,请求头,请求正文, ...

  3. VMware中虚拟机克隆后多台主机网络冲突

    在Vmware中将虚拟机的一台centos7机器克隆了3台,然后启动机器后出现机器都能够上网,但是无法在本地xshell中同时进行连接,且连接的某一台虚拟机都会经常中断 虚拟机克隆后,会遇到的问题: ...

  4. 关于Linux目录的配置

    关于Linux目录的配置说明 大家都知道Linux一切皆文件,但是Linux的文件有那么多,目录也不少.他们都是干什么用的呢,有没有什么规律呢?今天我们就来讨论一下Linux目录的配置 Linux目录 ...

  5. flask-模板使用

    flask-模板使用 模板方法: 模板中的url_for跟后台视图的url_for使用起来基本是一样的,也可以传递参数 使用方式 {{ url_for('func') }} 过滤器: 过滤器是通过管道 ...

  6. ${param.pageNo}是什么意思?

    1.${param.id}与request.getParameter("id"):功能相同2.param.id获取输入的参数id,也可理解为的是form或者div表单里的ID. r ...

  7. python初学(二)

    1.输入一个整数列表L,判断L中是否存在相同的数字: (1)若存在,输出YES,否则输出NO: (2)若存在,输出YES,同时输出相同的数字:否则输出NO. l=list(input()) print ...

  8. 遇到自己喜欢的视频无法下载,python帮你解决

    问题描述 python是一种非常好用的爬虫工具.对于大多数的爬虫小白来说,python是更加简洁,高效的代码.今天就用实际案例讲解如何爬取动态的网站视频. 环境配置:python3:爬虫库reques ...

  9. ppt和pptx转图片完整代码,解决2003版和2007版中文乱码问题

    引入所需依赖,注意poi版本,新版本不支持,最好使用和我一样的版本. <!-- https://mvnrepository.com/artifact/org.apache.poi/poi --& ...

  10. 详解 普通数组 —— Arrays类 与 浅克隆

    我们在C语言中,编一些代码量规模比较大的程序,几乎都会用到 "数组" 或 "链表" ,但是,在本人之前的博文中,却对这两个知识点从未提到过,那么,本人将通过这篇 ...