应用背景
由于文件是放在两台服务器上,服务器的访问时负载均衡策略,每次上传文件和访问文件有可能是不同的服务器,所以使用文件共享来解决。
NFS简介
NFS是Network File System的简写,即网络文件系统。NFS最早是由 Sun Microsystems 公司开发,并于1984年推出。
NFS 是一种可分散式的网络文件系统,可以通过网络(一个局域网)使不同的机器、不同的操作系统,能够共享目录和文件,使客户端能通过网络访问并分享文件到位于服务端的磁盘中。
NFS的客户端(一般为应用服务器,例如web)可以通过挂载(mount)的方式将NFS服务器共享的数据目录挂载到NFS客户端本地系统中(就是某一个关在点下)。
从客户端本地看,NFS服务器端共享目录就好像是客户端自己的磁盘分区或者目录一样,而实际上却是远端的NFS服务器的目录。
NFS网络文件系统很像Windows系统的网络共享、安全功能、网络驱动器映射,这也和linux的samba服务类似。
只不过一般情况下,Windows网络共享服务或samba服务用户办公局域网共享,而互联网中小型网站集群架构后端常用NFS进行数据共享。
若是大型网站,那么有可能还会用到更复杂的分布式文件系统Moosefs(mfs)、GlusterFS。NFS在文件传送或信息传送过程中依赖于RPC协议。RPC负责负责信息的传输。
环境
- 系统:linux的CentOS 7.5
- NFS版本:nfs-utils-1.3.0-0.48.el7_4.1.x86_64
- RPC版本:rpcbind-0.2.0-42.el7.x86_64
- 服务器:共有两台机器做文件共享,没有新增文件服务器,所以选择其中一台作为文件共享的服务器。
A:192.168.3.101
B:192.168.3.102
NFS服务端配置
检查并安装NFS
$ rpm -qa rpcbind nfs-utils
nfs-utils-1.3.0-0.48.el7_4.1.x86_64
rpcbind-0.2.0-42.el7.x86_64
不存在的话需要安装NFS需要的包:
$ yum install -y nfs-utils
服务配置
- 首先进入配置文件
$ vi /etc/exports
- 增加配置
/data/fileserver 192.168.3.101(rw,sync,no_root_squash) 192.168.3.102(rw,sync,no_root_squash)
- NFS的主要配置文件 /etc/exports 的内容格式
<输