NFS介绍

NFS 版本 4 客户机委托 nfs客户端配置_客户端

NFS服务常常用到,用于在网络上共享存储


NFS 版本 4 客户机委托 nfs客户端配置_服务端_02


NFS工作原理


NFS 版本 4 客户机委托 nfs客户端配置_NFS 版本 4 客户机委托_03

(在centos版本5及之前的版本,RPC服务叫portmap,之后就叫:rpcbind)

NFS服务需要借助RPC协议进行通信。


NFS服务端安装配置

先准备两台机器,服务端(A)和客户端(B)

(A:cansheng1:133;B:cansheng2 :134)

1.分别在两台机器上都安装:nfs-utils rpcbind

 yum install -y nfs-utils rpcbind


2.编辑/etc/exports(服务端A)


vim /etc/exports  添加内容:

/home/nfstestdir 192.168.136.0/24(rw,sync,all_squash,annotallow=1000,annotallow=1000)


NFS 版本 4 客户机委托 nfs客户端配置_开发工具_04


3.创建共享目录(服务端A),和修改权限

  mkdir /home/nfstestdir

  chmod 777 /home/nfstestdir  /方便实验


4.查看一下rpcbind的监听端口(默认为111)

netstat -lnpt


NFS 版本 4 客户机委托 nfs客户端配置_服务端_05


5.启动服务:(服务端A)

systemctl start rpcbind 
 systemctl start nfs 

 systemctl enable rpcbind 
 systemctl enable nfs



       NFS配置选项



NFS 版本 4 客户机委托 nfs客户端配置_服务端_06

ip与(rw之间不能有空格, 否则客户端挂载的目录会变成只读..


NFS 版本 4 客户机委托 nfs客户端配置_开发工具_07


!!客户端想要实现将服务端共享出来的数据(目录),还需要在客户端挂载共享的目录。

   客户端挂载:


NFS 版本 4 客户机委托 nfs客户端配置_开发工具_08

1.安装: yum install -y nfs-utils(上诉操作已安装)

2.showmount -e 192.168.136.133  (查看到这个ip(在服务段定义共享的ip段),是否能共享着服务端的共享文件)

 {

  如果这一步出现错误:

  1.是否rpcbind服务开启,监听 的端口是否也是正常监听

   2.防火墙和selinux影响:(关闭,两台机器都关闭)

systemctl stop firewalld
   setenforce 0
 }


NFS 版本 4 客户机委托 nfs客户端配置_运维_09


 3.挂载(客户端上B)

mount -t nfs  192.168.136.133:/home/nfstestdir  /mnt


NFS 版本 4 客户机委托 nfs客户端配置_开发工具_10


4.创建一个文件,看看是否能实现共享:(客户端)

 touch /mnt/canshenglinux.txt


此时在A服务端上的共享文件能看到这个在B客户端上创建的文件


NFS 版本 4 客户机委托 nfs客户端配置_开发工具_11



ls -l /mnt/canshenglinux.txt //可以看到文件的属主和属组都为1000(客户端B)

NFS 版本 4 客户机委托 nfs客户端配置_NFS 版本 4 客户机委托_12


  ls -l //home/nfstestdir/canshenglinux.txt //可以看到文件的属主和属组都为user1(服务端A)

NFS 版本 4 客户机委托 nfs客户端配置_运维_13



exportfs命令


当改变/etc/exports配置文件后,使用exportfs命令挂载不需要重启NFS服务。

(当我们的服务端需要修改/etc/exports配置文件(增加或者删除其他内容),且要文件生效,这时候需要重启我们的nfs服务,但是我们客户端的机器仍然在挂载着我们共享的文件,这是重启我们的服务,会使客户端的 机器对挂载目录进行挂起操作,影响很大。

但是我们先把客户端的挂载目录(挂载点)先卸载,再在服务端修改配置文件,然后重启nfs服务,最后在客户端上再重新挂载,这样会很繁琐!)


使用exportfs命令:


NFS 版本 4 客户机委托 nfs客户端配置_运维_14

1.编辑配置文件(服务端A)

vim /etc/exports //增加

/tmp/ 192.168.136.134(rw,sync,no_root_squash)


NFS 版本 4 客户机委托 nfs客户端配置_开发工具_15

2.执行:exportfs -arv (执行这个命令就是相当重新加载服务)


NFS 版本 4 客户机委托 nfs客户端配置_NFS 版本 4 客户机委托_16


3.在客户端上验证是否有新增的共享目录:(客户端B)

showmount -e 192.168.136.133


NFS 版本 4 客户机委托 nfs客户端配置_开发工具_17


4.挂在/tmp/共享目录

NFS 版本 4 客户机委托 nfs客户端配置_NFS 版本 4 客户机委托_18


(其实用mount命令来挂载NFS服务是有讲究的,它要用-t nfs 来指定挂在的类型为nfs

,另外挂载NFS 服务时,常用-o nolock(不加锁)

  mount -t nfs  -o nolock 192.168.136.133:/tmp  /canshenglinux



 NFS客户端问题


NFS 版本 4 客户机委托 nfs客户端配置_运维_19

mount -t nfs  -o remount,nfsvers=3 192.168.136.133:/tmp  /canshenglinux

重新挂在且指定服务版本为3版本






使用yum安装工具时,如果出现非常慢的下载速度:

epel 太慢,可以暂时把epel禁止

(1)cd/etc/yum.repos.d/

(2)mv epel.repo epel.repo.bak

则再次下载时就可以表面epel对下载速度产生影响