NFS

nfs在数据传输时使用的端口会随机选择!!

客户端和服务端通信使用rpc协议:

  nfs的rpc服务的主要功能是记录nfs的每个功能对应的端口号,并在nfs客服端请求nfs服务端时把该端口、功能对应的信息发送给客户端。

nfs数据交互整体过程:

  1、启动rpc服务(centos6.x --> rpcbind 服务,centos5.x --->portmap 服务)

  2、启动nfs服务,向rpc服务注册启动的端口

  3、nfs客服端向rpc服务请求nfs服务

  4、rpc服务返回nfs服务的信息

  5、nfs客户端去请求nfs服务端

服务端:

  先启动rpc服务,在启动nfs服务

客服端:

  启动rpc服务

修改nfs配置后不需要重启nfs服务

  可以使用/etc/init.d/nfs reload 或 exportfs -rv 即可使修改的 /etc/exports 生效

安装nfs服务端:

  yum install -y rpcbind nfs-tuils

启动rpc,nfs服务,并且开机启动

rpc服务端口:111

查看nfs向rpc服务注册的端口:

  rpcinfo -p localhost

/etc/exports 文件详解:

  eg:

    /eqp/export/ 10.10.30.104(rw,sync,no_root_squash)

    本地共享目录    可以挂载的ip地址(权限相关,各个选项用逗号隔开)   #ip地址和()之间不能有空格

    查看默认的参数:

      cat /var/lib/nfs/etab 

      /eqp/export 10.10.30.104(rw,sync,wdelay,hide,nocrossmnt,secure,no_root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534)

  权限:

    rw  读写

    sync 数据同步写到服务端磁盘中才返回

    no_root_squash   访问nfs共享目录的用户如果是root的话,他对改目录具有root权限

    root_squash  访问nfs共享目录的用户如果是root的话,权限被压缩为匿名用户(nfsnobody)。

    all_squash   无论访问nfs的用户是什么多压缩为匿名用户

    ro  只读

    anonuid=xx  指定uid

    anongid=xx  指定gid

 

查看挂载情况:  

  showmount -e localhost

挂载命令:

  mount -t nfs 10.10.30.103:/eqp/export/ /eqp/export/

安全挂载:

  mount -t nfs  -o nosuid,noexec,nodev,rw 10.10.30.103:/eqp/export/ /eqp/export/

  

nfs客户端开机自动挂载:

  /etc/cr.local 中执行命令挂载

  /etc/fstab 中挂载(这个方法不行)(因为系统启动时fstab会优先于网络先被系统加载)

  

原文地址:https://www.cnblogs.com/fanxuanhui-linux/p/6537500.html