一、基础概念
NFS:Network File System 网络文件系统,Linux/Unix系统之间共享文件的一种协议
NFS 的客户端主要为Linux
支持多节点同时挂载以及并发写入
提供文件共享服务
为集群中的 Web Server 配置后端存储
安装NFS服务,需要安装两个软件,分别是:
RPC主程序:rpcbind
NFS 其实可以被视为一个 RPC 服务,因为启动任何一个 RPC 服务之前,我们都需要做好 port 的对应 (mapping) 的工作才行,这个工作其实就是『 rpcbind 』这个服务所负责的!也就是说, 在启动任何一个 RPC 服务之前,我们都需要启动 rpcbind 才行! (在 CentOS 5.x 以前这个软件称为 portmap,在 CentOS 6.x 之后才称为 rpcbind 的!)。
NFS主程序:nfs-utils
就是提供 rpc.nfsd 及 rpc.mountd 这两个 NFS daemons 与其他相关 documents 与说明文件、执行文件等的软件!这个就是 NFS 服务所需要的主要软件。
NFS的相关文件:
主要配置文件:/etc/exports
这是 NFS 的主要配置文件了。该文件是空白的,有的系统可能不存在这个文件,主要手动建立。NFS的配置一般只在这个文件中配置即可。
NFS 文件系统维护指令:/usr/sbin/exportfs
这个是维护 NFS 分享资源的指令,可以利用这个指令重新分享 /etc/exports 变更的目录资源、将 NFS Server 分享的目录卸除或重新分享。
分享资源的登录档:/var/lib/nfs/*tab
在 NFS 服务器的登录文件都放置到 /var/lib/nfs/ 目录里面,在该目录下有两个比较重要的登录档, 一个是 etab ,主要记录了 NFS 所分享出来的目录的完整权限设定值;另一个 xtab 则记录曾经链接到此 NFS 服务器的相关客户端数据。
客户端查询服务器分享资源的指令:/usr/sbin/showmount
这是另一个重要的 NFS 指令。exportfs 是用在 NFS Server 端,而 showmount 则主要用在 Client 端。showmount 可以用来察看 NFS 分享出来的目录资源。
二、配置过程
1、环境
nfs 192.168.122.241 web1 192.168.122.150 web2 192.168.122.8
# sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config # setenforce 0 centos7 # systemctl stop firewalld # systemctl disable firewalld
2、nfs(存储端)
安装nfs,服务端和客户端都需要
centos版:
[root@nas ~]# yum -y install nfs-utils rpcbind
[root@nas ~]# mkdir /webdata //存储网站代码
[root@nas ~]# echo "nfs test..." > /webdata/index.html
[root@nas ~]# vim /etc/exports
/webdata 192.168.122.0/24(rw) (122这个网段)
[root@nas ~]# systemctl start nfs-server
[root@nas ~]# systemctl enable nfs-server
[root@nas ~]# exportfs -v
/webdata 192.168.122.0/24(rw,wdelay,no_root_squash,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
ubantu版:
1、sudo apt-get install nfs-kernel-server
2、sudo /etc/init.d/rpcbind restart #apt会自动安装nfs-common(客户端)、rpcbind等13个软件包
3、sudo /etc/init.d/nfs-kernel-server restart 重启nfs服务
3、web1 客户端
以web1为例:
[root@web1 ~]# yum -y install nfs-utils httpd [root@web1 ~]# systemctl start httpd [root@web1 ~]# systemctl enable httpd
1. 查看存储端共享 [可选]
[root@web1 ~]# showmount -e 192.168.122.241 // 查询NFS服务器可用目录 Export list for 192.168.122.241: /webdata 192.168.122.0/24
2. 手动挂载 [可选]
[root@web1 ~]# mount -t nfs 192.168.122.241:/webdata /var/www/html/ [root@web1 ~]# umount /var/www/html/
3. 自动挂载到网站主目录
[root@web1 ~]# vim /etc/fstab 192.168.122.241:/webdata /var/www/html nfs defaults 0 0 [root@web1 ~]# mount -a
4. 查看挂载
[root@web1 ~]# df 192.168.122.152:/webdata 7923136 692416 6821568 10% /var/www/html [root@web1 ~]# ls /var/www/html/ index.html
4、测试网站访问
# firefox 192.168.122.85 # firefox 192.168.122.111 # firefox 192.168.122.166