NFS介绍

NFS(1)NFS介绍、 NFS服务端安装配置、配置选项、exportfs命令、NFS客户端问题_配置

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

NFS(1)NFS介绍、 NFS服务端安装配置、配置选项、exportfs命令、NFS客户端问题_NFS_02


NFS工作原理

NFS(1)NFS介绍、 NFS服务端安装配置、配置选项、exportfs命令、NFS客户端问题_服务_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,anonuid=1000,anongid=1000)

NFS(1)NFS介绍、 NFS服务端安装配置、配置选项、exportfs命令、NFS客户端问题_端安装_04


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

  mkdir /home/nfstestdir

  chmod 777 /home/nfstestdir  /方便实验



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

netstat -lnpt

NFS(1)NFS介绍、 NFS服务端安装配置、配置选项、exportfs命令、NFS客户端问题_配置_05


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

 systemctl start rpcbind 

 systemctl start nfs 


 systemctl enable rpcbind 

 systemctl enable nfs


                       

       NFS配置选项


NFS(1)NFS介绍、 NFS服务端安装配置、配置选项、exportfs命令、NFS客户端问题_服务_06

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

NFS(1)NFS介绍、 NFS服务端安装配置、配置选项、exportfs命令、NFS客户端问题_端安装_07


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

   客户端挂载:

NFS(1)NFS介绍、 NFS服务端安装配置、配置选项、exportfs命令、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(1)NFS介绍、 NFS服务端安装配置、配置选项、exportfs命令、NFS客户端问题_配置_09


 3.挂载(客户端上B)

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

NFS(1)NFS介绍、 NFS服务端安装配置、配置选项、exportfs命令、NFS客户端问题_服务_10


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

 touch /mnt/canshenglinux.txt


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

NFS(1)NFS介绍、 NFS服务端安装配置、配置选项、exportfs命令、NFS客户端问题_服务_11


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

NFS(1)NFS介绍、 NFS服务端安装配置、配置选项、exportfs命令、NFS客户端问题_端安装_12

  

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

NFS(1)NFS介绍、 NFS服务端安装配置、配置选项、exportfs命令、NFS客户端问题_配置_13



             exportfs命令


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

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

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


使用exportfs命令:

NFS(1)NFS介绍、 NFS服务端安装配置、配置选项、exportfs命令、NFS客户端问题_NFS_14

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

vim /etc/exports //增加

/tmp/ 192.168.136.134(rw,sync,no_root_squash)

NFS(1)NFS介绍、 NFS服务端安装配置、配置选项、exportfs命令、NFS客户端问题_NFS_15

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

NFS(1)NFS介绍、 NFS服务端安装配置、配置选项、exportfs命令、NFS客户端问题_配置_16


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

showmount -e 192.168.136.133

NFS(1)NFS介绍、 NFS服务端安装配置、配置选项、exportfs命令、NFS客户端问题_NFS_17


4.挂在/tmp/共享目录

NFS(1)NFS介绍、 NFS服务端安装配置、配置选项、exportfs命令、NFS客户端问题_NFS_18


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

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

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




             NFS客户端问题

NFS(1)NFS介绍、 NFS服务端安装配置、配置选项、exportfs命令、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对下载速度产生影响