• 环境介绍

本实验使用了两台centos7虚拟机,其中

服务器:nfs31(172.16.1.31)

客户端:backup41(172.16.1.41)

  • 实验步骤

nfs31 上执行(服务器端)

  1. 使用yum -y install nfs-utils安装nfs服务,我使用的是阿里云yum源。
  2. 使用rpm -qa nfs-utils 查看是否安装成功。

centos nfs 查看版本 centos开启nfs_centos

    3.因为centos7自带了rpcbind,所以不用安装rpc服务,rpc监听在111端口,可以使用 ss -tnulp |grep 111查看rpc服务是否自动启动。

centos nfs 查看版本 centos开启nfs_linux_02

 

注意:如果没有启动,就systemctl start rpcbind启动rpc服务。

     4.打开配置文件/etc/exports向里面添加如下内容:

sync)

centos nfs 查看版本 centos开启nfs_服务器_03

 

解析:

1)因为我们还没有该共享文件夹,所以我们要创建它并且赋予权限。(这一步很重要)

mkdir /data

chown -R nfsnobody.nfsnobody /data

centos nfs 查看版本 centos开启nfs_linux_04

2)允许访问的的IP可以是一个网段,一个或几个独立的IP。

3)共享参数说明:
 ro                    只读访问
 rw                   读写访问
 sync                所有数据在请求时写入共享
 async              NFS在写入数据前可以相应请求
 secure             NFS通过1024以下的安全TCP/IP端口发送
 insecure          NFS通过1024以上的端口发送
 wdelay            如果多个用户要写入NFS目录,则归组写入(默认)
 no_wdelay      如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
 Hide                在NFS共享目录中不共享其子目录
 no_hide           共享NFS目录的子目录
 subtree_check   如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
 no_subtree_check   和上面相对,不检查父目录权限
 all_squash               共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
 no_all_squash         保留共享文件的UID和GID(默认)
 root_squash             root用户的所有请求映射成如anonymous用户一样的权限(默认)
 no_root_squas         root用户具有根目录的完全管理访问权限
 anonuid=xxx            指定NFS服务器/etc/passwd文件中匿名用户的UID

注意:若修改过配置文件,需要重新加载,命令:exportfs -rv 

     5.启动nfs服务,systemctl start nfs

启动后使用rpcinfo -p 172.16.1.31查看,如图所示

 

centos nfs 查看版本 centos开启nfs_centos nfs 查看版本_05

     6.使用showmount -e localhost验证

   

centos nfs 查看版本 centos开启nfs_centos nfs 查看版本_06

在backup41上执行(客户端)

  1. yum -y install nfs-utils(客户端上不需要启动nfs服务,只是为了使用showmount工具)
  2. 使用命令 ss -tnulp |grep 111 检测rpc是否启动,如果没用就输入 systemctl start rpcbind重新启动。
  3. 使用showmount -e 192.168.1.188验证:

centos nfs 查看版本 centos开启nfs_centos nfs 查看版本_07

 

     4.挂载至本地/mnt目录:

mount –t nfs 172.16.1.31:/data /mnt

验证:往共享文件夹里创建文件夹成功并能正常查看文件内容,说明读写功能均正常。

 
nfs挂载完成!!!

接下来在服务器端nfs31执行

systemctl enable nfs-server.server

systemctl enable rpcbind

让nfs,rpcbind开机自动启动,实验完成。