zoukankan      html  css  js  c++  java
  • 【集群实战】NFS网络文件共享服务3-相关知识补充(showmount,exports,rpc)

    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
  • 相关阅读:
    js的call方法
    js的call方法
    log4j 详细解释
    log4j 详细解释
    log4j 详细解释
    log4j 详细解释
    google proto buf学习
    google proto buf学习
    网页div转换成图片导出——html2canvas
    走向云端:Oracle SQL Developer Web 即将上线!
  • 原文地址:https://www.cnblogs.com/zoe233/p/12025284.html
Copyright © 2011-2022 走看看