二十二、NFS服务深入讲解

一、查看nfs服务:

[root@nfsserve ~]# ps -ef|grep -E "rpc|nfs"
rpc       1565     1  0 17:29 ?        00:00:00 rpcbind
root      1615     2  0 17:38 ?        00:00:00 [rpciod/0]
root      1623     1  0 17:38 ?        00:00:00 rpc.mountd
root      1629     2  0 17:38 ?        00:00:00 [nfsd4]
root      1630     2  0 17:38 ?        00:00:00 [nfsd4_callbacks]
root      1631     2  0 17:38 ?        00:00:00 [nfsd]
root      1632     2  0 17:38 ?        00:00:00 [nfsd]
root      1633     2  0 17:38 ?        00:00:00 [nfsd]
root      1634     2  0 17:38 ?        00:00:00 [nfsd]
root      1635     2  0 17:38 ?        00:00:00 [nfsd]
root      1636     2  0 17:38 ?        00:00:00 [nfsd]
root      1637     2  0 17:38 ?        00:00:00 [nfsd]
root      1638     2  0 17:38 ?        00:00:00 [nfsd]
root      1661     1  0 17:38 ?        00:00:00 rpc.idmapd

这里主要讲俩个进程:

  rpc.nfsd表示 客户端是否能登陆NFS服务端主机,其中还包含登入者的ID判别

  rpc,mountd:是管理NFS文件系统,对比客户端是否有访问目录权限和文件的使用权限

  rpc.rpcbind:表示rpc的主进程,rpc服务。

 二、cat  /var/lib/nfs/etab

除了rw,sync,可以看到这个系统自动加入的权限,这些权限都是可以通过man exports进行操作的。

参数:

   1)sync表示同步,比如写操作,只有当写入到磁盘中的时候,才算操作完毕。

   2)async表示异步,比如写操作,当写入内存的时候,就完毕了,至于后面干了什么,和客户端没有关系。

        所以同步和异步牵扯到了可靠性和性能的选择。很多门户网站,大并发都是异步的操作,客户端一次发送1000条数据,如果我服务器一次只能处理500条,怎么办,这里就用到了异步的处理机制,即我客户端可以将数据发送到一个容器中,这个容器就是一个队列,进行排队,我服务端按照自己的节奏处理内容。

  3)配置生产NFS的重要技巧:

        1.确保所有服务器对NFS共享目录具备相同的权限

              a.all_squash把所有客户端都压缩成匿名用户

              b.压缩成匿名用户后,那么到底是压缩成哪个匿名用户呢,这里就要用anonuid和anongid指定的uid和gid进行操作,就是用户具体的实例化

       2.所用的客户端和服务器都要有相同的UID和Gid用户,如果没有,则需要手动创建这个必须相同的用户,一般我们默认就是nfsnobody

  4)no_root_squash:表示如果为root,那么访问权限就是root

  5)  root_squash:表示如果是root,也要压缩成匿名用户。

三、实现当多台客户端同时挂一台NFSserver时,无论从哪个客户端写入数据,其他客户端同样也可以读写,即让客户端都是oldgirl,请给出操作步骤,并加以说明。

   答:给3台机器,2台客户端、1台服务端

    1)建立一个nfs共享用户,所有机器都存在的UID和GID。

     [root@nfsserve ~]# id oldgirl           
     uid=555(oldgirl) gid=555(oldgirl) 组=555(oldgirl) 

      [root@nfsclient ~]# id oldgirl
      uid=555(oldgirl) gid=555(oldgirl) groups=555(oldgirl)

     [root@nfsclient1 ~]# id oldgirl
     uid=555(oldgirl) gid=555(oldgirl) groups=555(oldgirl)

    2)服务端配置共享

    # dangjinwei modify
    #/data  192.168.0.0/24(rw,sync)
  /data  192.168.0.0/24(rw,sync,anonuid=555,anongid=555,root_squash)

   3)进行服务端重启

    [root@nfsserve ~]# /etc/init.d/nfs reload

  4)客户端进行挂载

  [root@nfsclient ~]# showmount -e 192.168.0.104
  Export list for 192.168.0.104:
  /data 192.168.0.0/24

5)进行处理

---》服务端

 

--》客户端删除

  

  另外一个客户端进行查看

猜你喜欢

转载自www.cnblogs.com/dangjingwei/p/10896687.html