NFS(Network File System),即网络文件系统。NFS服务可以将远程Linux系统上的文件共享资源挂载到本地主机的目录上,从而使用本地主机(Linux客户端)像使用本地资源那样读写远程Linux系统上的共享资源。
表1:系统环境

主机名称

操作系统

IP地址

NFS服务器

Centos 7 64位

192.168.2.211

NFS客户端

Centos 7 64位

192.168.2.223

表2:NFS服务配置文件的参数

参数

作用

ro

只读

rw

读写

root_squash

当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户

no_root_squash

当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员

all_squash

无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户

sync

同时将数据写入到内存与硬盘中,保证不丢失数据

async

优先将数据写入到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据

NFS服务器操作
1、安装NFS
yum -y install nfs-utils2、创建用于NFS共享的目录

mkdir /nfsdata
chown -R nfsnobody /nfsdata/

3、编辑NFS的配置文件,添加如下内容
注:NFS的配置文件默认是没有内容的
vim /etc/exports/nfsdata 192.168.2.*(rw,sync,root_squash)4、启动NFS服务,并加入开机启动项
NFS服务需要使用RPC(Remote Procedure Call,远程过程调用)服务将NFS服务器的IP地址和端口号等信息发送给客户端,因此,在启动NFS服务之前,还需要顺带启动rpcbind服务。

systemctl start rpcbind
systemctl enable rpcbind
systemctl start nfs-server
systemctl enable nfs-server

5、查看nfs向rpc注册的端口信息

rpcinfo -p localhost注:下图中用红框括起来的端口号需要防火墙允许

centos7部署sonar centos7部署nfs_服务器


6、配置firewalld防火墙,允许nfs和rpc端口

firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=mountd
firewall-cmd --permanent --add-port=111/tcp
firewall-cmd --permanent --add-port=111/udp
firewall-cmd --reload

centos7部署sonar centos7部署nfs_开发工具_02


NFS客户端操作

1、使用showmount命令查询NFS服务器的远程共享信息

表3:showmount命令可用的参数以及作用

参数

作用

-e

显示NFS服务器的共享列表

-a

显示本机挂载的文件资源的情况

-v

显示版本号

showmount -e 192.168.2.211

centos7部署sonar centos7部署nfs_服务器_03


2、创建挂载目录,并挂载

mkdir /nfsdata
mount -t nfs 192.168.2.211:/nfsdata /nfsdata

centos7部署sonar centos7部署nfs_centos7部署sonar_04


3、将挂载信息写入/etc/fstab文件中,以便开机自动挂载

vim /etc/fstab192.168.2.211:/nfsdata /nfsdata nfs defaults 0 0

4、测试

往/nfsdata目录下写入一个文件

echo "welcome to xuad.com" > /nfsdata/xuad.txt

在NFS服务器上查看/nfsdata目录下是否生成了此文件

centos7部署sonar centos7部署nfs_操作系统_05