NFS 是Network File System的缩写,即网络文件系统。类似于windows下的文件共享一样,可以使不同的主机系统之间可以共享文件或目录,以便实现数据共享。
NFS主要由两部分组成,服务端和客户端。NFS主机分享的目录,挂载到本地客户端当中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,在客户端端看起来,就像访问本地文件一样。
本文以centos系统为例,介绍下服务的搭建流程,整体架构如下:
主机 | 角色 |
---|---|
10.0.0.1 | NFS服务器 |
10.0.0.2 | NFS客户端1 |
10.0.0.3 | NFS客户端2 |
1.在服务端安装NFS
- 1.1 安装nfs及rpcbind,命令如下
yum -y install nfs-utils rpcbind
- 1.2 分别启动rpcbind和nfs
sql
service rpcbind start
service nfs start
- 1.3 创建目录并赋予权限
mkdir -p /nfs/shareDir && chmod -R 777 /nfs/shareDir
- 1.4 配置exports文件并添加内容
bash
vi /etc/exports
/nfs/shareDir ip(rw)
/nfs/shareDir/ *(insecure,rw,async,no_root_squash)
ip为要换成服务端的真实ip信息
- 1.5 刷新配置使之生效
exportfs -a
- 1.6 查看目录
showmount -e ip
ip为要换成服务端的真实ip信息
- 1.7 设置rpcbind和nfs开机自启,上述流程执行完毕后,服务端已经搭建完成,但是为了服务端意外情况出现关机服务不可用,所以需要设置rpcbind和nfs开机自启
csharp
chkconfig rpcbind on
chkconfig nfs on
2.在客户端安装NFS
- 2.1 安装 nfs-utils,命令如下
yum install nfs-utils
- 2.2 创建挂在目录并赋予权限
mkdir -p /nfs/shareDir && chmod -R 777 /nfs/shareDir
- 2.3 挂载目录
mount ip:/nfs/shareDir /nfs/shareDir
注意
上述ip要换成服务端的ip信息,而不是客户端的ip
- 2.4 编辑fstab文件, 使系统每次启动时都能自动挂载
bash
vim /etc/fstab
添加如下:
ip:/nfs/dataDir /nfs/shareDir nfs defaults 0 0
注意
上述ip要换成服务端的ip信息,而不是客户端的ip
编辑完fstab文件后,重启计算机系统,查看自动挂载是否生效
3.测试
为了验证服务是否可用,可以在某一个客户端创建一个文件,查看其他两台机器是否可以看到,或者在服务端编辑文件,查看客户端数据是否同步。