NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

一、nfs工作原理流程

1、首先用户访问网站程序,由程序在NFS客户端上发出NFS文件存取功能的询问请求,这时NFS客户端RPC服务(portmap 或rpcbind服务)就会通过网络向NFS服务端的RPC服务的111端口发出NFS文件存取功能的询问请求。
2、NFS服务端的RPC服务找到对应的已注册的NFSdaemon端口后,通知NFS客户端的RPC服务(即portmap或rpcbind服务)。
3、此时NFS客户端就可获取到正确的端口,然后就直接与NFS daemon联机存取数据了。
4、NFS客户端把数据存取成功后,返回给前端程序,告诉用户存取结果,作为网站用户,我们就完成了一次存取操作。
由于NFS的各项功能都需要向RPC服务(即portmap或rpcbind)注册,所以RPC服务(即portmap或rpcbind服务)才能获取到NFS服务的各项对应的端口号(portnumber)、PID、NFS在主机所监听的IP等,而NFS客户端才能够通过向RPC服务(即portmap或rpcbind服务)询问从而找到正确的端口。也就是说,NFS需要有RPC服务(即portmap或rpc服务),NFS服务只需在服务端后于RPC服务启动,客户端无需启动NFS服务。
NFS的rpc服务,在CentOS5.X下名称为portmap,在CentOS6.x下名称为rpcbind。
服务端:
查看系统内核版本
[root@localhost /]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.0 (Maipo)
安装rpcbind,和nfs
[root@localhost /]# yum install nfs-utils rpcbind -y
二、NFS配置
配置NFS服务
NFS配置文件的路径
/etc/exports 是nfs的配置文件,内容默认为空。
格式:NFS共享目录 客户端地址(参数)
客户端地址 | 具体地址例子 |
---|---|
授权单一客户端访问NFS | 172.25.254.141 |
授权整个网段可访问NFS | 172.25.254.0/24 |
授权整个网段 | 172.25.254.* |
客户端地址选项说明:
NFS权限设置
NFS配置权限设置,即/etc/exports文件配置的参数集。
参数命令 | 参数用途 |
---|---|
rw | 表示可读写 |
Sync | 请求或者写入数据时,数据同步写入到NFS server的硬盘中后才会返回 |
no_root_squas | 访问nfs server共享目录的用户如果是root的话,它对该目录具有root权限。这个配置原本为无盘用户准备的。用户应避免使用! |
root_squash | 对于访问 |