一、什么是NFS,有什么作用

NFS (network  file  system)是一种基于 TCP/IP 传输的网络文件系统协议,最初由 sun 公司开发。通过使用 NFS协议,客户机可以像访问本地目录一样访问远程 NFS 服务器中的共享资源。NFS 也是 NAS存储设备必然支持的一种协议,但是因为没有用户认证机制,而且数据在网络上明文传输,安全性很差,所以一般只能在局域网中使用。
 

二、配置NFS的准备工作

首先,使用rpm命令检查所需工具是否存在:nfs-utils、rpcbind;前者用于 NFS 共享发布和访问,后者用于 RPC 支持。手动加载 NFS 共享服务时,应该先启动 rpcbind,再启动 nfs。

nfs端口号2049                                        RPC端口号111

查询是否安装

rpm -q rpcbind 
rpm -q nfs-utils

安装nfs和rpc的软件包

yum install -y nfs-utils
yum install -y rpcbind

开启服务

systemctl start nfs 

systemctl start rpcbind

开机自启服务

systemctl enable nfs 

systemctl enable rpcbind

三、开始在centos7中配置nfs

1、第一步,关防火墙(保持良好习惯)

systemctl stop firewalld

setenforce 0

2、进行软件包的安装,见上一条


3、配置文件配置共享目录

vim /etc/exports

             #允许使用挂载点的网段
/nfs_data    192.168.116.0/24(rw,sync,no_root_squash)
#共享出去的目录   (使用此共享目录的主机1.权限  2.同步数据  3.对root用户不进行降权处理)
***请注意 /etc/exports  文件中除了共享目标路径
与后段信息之间外,不能存在空行,不然会报错误码!

4、保存退出,开启服务

systemctl start nfs 
systemctl start rpcbind

常用命令:

exportfs -v                               #查看详细的nfs信息
exportfs -r                               #重读配置文件
showmount -e                              #查看本机发布的NFS共享目录
showmount -e +IP                          #查看IP地址发布的NFS共享目录
mount -t nfs 192.168.100.100:/opt /mnt    #将NFS服务端192.168.100.100下的/opt挂载到/mnt下
rpcinfo -p localhost                      #查看rpc注册的端口信息

常用选项 

 描述

rw             

允许读写

ro    

只读

sync  

同步写入

async  

先写入缓冲区,必要时才写入磁盘,速度快,但会丢数据

subtree_check 

若输出一个子目录,则nfs服务将检查其父目录权限

no_subtree_check  

若输出一个字目录,不检查父目录,提高效率

no_root_squash  

客户端以root登录时,赋予其本地root权限

oot_squash

客户端以root登录时,将其映射为匿名用户

all_squash

将所有用户映射为匿名用户

创建要分享的目录

mkdir  /nfs_data

我们去到另外一台同网段的主机上,使用命令。。查看目标IPnfs的信息

showmount -e 192.168.116.22 #设置nfs的主机IP
Export list for 192.168.116.22:
/nfs_data 192.168.116.0/24

对其进行在本地的挂载

echo 192.168.116.22:/nfs_data   /share   nfs   defaults,_netdev  0 0 >> /etc/fstab
mount -a

 挂载成功

df -hT
192.168.116.22:/nfs_data nfs4       19G  8.7G   11G   47% /share

此时,nfs_data 已经挂载在了第二台设备的share下,其中的文件内容可以跨网络进行共享