centOS7搭建NFS服务器

时间:2023-03-09 00:38:53
centOS7搭建NFS服务器

借鉴别人这篇博客搭建成功的:http://blog.51cto.com/mrxiong2017/2087001

NFS系统:用来共享文件、图片、视频

准备两个centOS7服务器,一个作NFS service,另一个用NFS client

192.168.26.137  此服务器作NFS服务端主机

192.168.26.233  此服务器作NFS客户端

主要应用原理:

  在192.168.26.137上安装NFS服务端,设置一个文件目录test文件夹用来共享。然后在192.168.26.233上安装NFS客户端,也创建一个test文件夹目录。再然后把NFS服务端共享的test目录挂载到NFS客户端的test文件夹目录上,这样192.168.233上的test文件夹目录就会实时显示(并可以做读写操作)192.168.26.137服务器上test文件夹里面的数据文件了。同理搭建多个NFS客户端,就可以多台机器操作主机上NFS服务端test文件夹中的数据文件

【注意最近在centos7上搭了很多服务,因为弄很多服务都要关闭防火墙,所以我在安装centos7的时候一开始就把所有centos7系统的防火墙给关了。】

一、192.168.26.137服务器上部署NFS服务端

  

#1、检查系统版本及NFS服务nfs-utils 和rpcbind有没有安装
rpm -qa nfs-utils rpcbind
#出现下面这个就说明安装好了:

centOS7搭建NFS服务器

#2、如果没有,那就安装NFS服务的nfs-unitls和rpcbind     (因为centos7自带了rpcbind,所以不用安装rpc服务)

yum -y install nfs-utils  (只安装nfs-unitls)

yum install nfs-utils rpcbind -y  (安装nfs-unitls和rpcbind服务,与上面二选一)

#3、启动rpcbind服务(一定要先启动rpcbind服务再启动nfs服务)

  #先查看rbcbind服务状态

 systemctl status rpcbind.service

 #启动rpcbind服务

后面懒得写了。。。。。。。。。。。。。。


  配置NFS服务的配置文件,参数配置:

  vi /etc/exports

  打开这个配置文件,并写入简单配置如下:

  centOS7搭建NFS服务器

  上图参数解析:(里面文件每一行定义 一个共享目录)

  /usr/local/data/test  #表示你要共享的目录

  192.168.26.1/24    #表示 所允许访问的客户端IP,这里表示整个26.1以上网段都可以访问,也可以指定单个地址如:192.168.26.233,也可以用*号表示所有用户都可以访问你所共享的目录

  (rw,sync,root_squash)  #rw:表示读写权限,sync:表示数据同步写入内存硬盘,root_squash:表示访问共享目录时,用户如果是root权限,对共享目录的权限会被压缩为nfsnobody用户的权限

  【

    下面配置nfs所有不同权限,表示如下:

      ro:表示只读权限

      rw:读写权限

      sync:数据同步写内存硬盘

      async:将数据先保存在内存缓冲区中,必要时才写入磁盘;

      all_squash:不管你访问共享目录的用户是谁,都必须压缩为nfsnobody用户的权限;

      no_all_squash(默认):访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组;

      root_squash: 如果访问共享目录是root的权限用户,对共享目录的权限会被压缩为nfsnobody用户的权

      no_root_squash:来访的root用户保持root帐号权限;

      no_squash:访问共享目录时,用户如果是root权限,对共享目录也具有root权限(最好不要设置,增加服务安全隐患,稍后再提)

      anonuid=<UID>:指定匿名访问用户的本地用户UID,要和root_squash 以及 all_squash一同使用;
      anongid=<GID>:指定匿名访问用户的本地用户组GID,要和root_squash 以及 all_squash一同使用;
      【anonuid/anongid :要和root_squash 以及 all_squash一同使用,用于指定使用NFS的用户限定后的uid和gid,前提是本机的/etc/passwd中存在这个uid和gid】
      secure(默认):限制客户端只能从小于1024的tcp/ip端口连接服务器;

      insecure:允许客户端从大于1024的tcp/ip端口连接服务器;

      

      wdelay(默认):检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率;
      no_wdelay:若有写操作则立即执行,应与sync配合使用;
      subtree_check(默认) :若输出目录是一个子目录,则nfs服务器将检查其父目录的权限;
      no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;

  】

192.168.26.233机器上NFS客户端配置:

  其实nfs客户端不用配置什么。

  第一步:在192.168.26.233机器上安装nfs(因为centOS7自带了rpcbind, 不用安装rpc服务)

  安装nfs命令:yum install -y nfs-utils

  第二步:为rpcbind做开机启动

  systemctl enable rpcbind.service

  然后启动rpcbind服务:

  systemctl start rpcbind.service

  

centOS7搭建NFS服务器