2.NFS功能及配置
[toc]
NFS共享存储描述
NFS是Network File System的缩写及网络文件系统。NFS主要功能是通过局域网络让不同的主机系统之间可以共享文件或目录。
NFS系统和Windows网络共享、网络驱动器类似, 只不过windows用于局域网, NFS用于企业集群架构中, 如果是大型网站, 会用到更复杂的分布式文件系统FastDFS,glusterfs,HDFS
NFS作用
- 实现多态服务器数据共享
- 实现多态服务器数据一致
NFS原理

- 用户进程访问NFS客户端,使用不同的函数对数据进行处理
- NFS客户端通过TCP/IP的方式传递给NFS服务端。
- NFS服务端接收到请求后,会先调用portmap进程进行端口映射。
- nfsd进程用于判断NFS客户端是否拥有权限连接NFS服务端。
- Rpc.mount进程判断客户端是否有对应的权限进行验证。
- idmap进程实现用户映射和压缩
- 最后NFS服务端会将对应请求的函数转换为本地能识别的命令,传递至内核,由内核驱动硬件。
NFS架构图示

部署NFS服务
NFS配置详解
| 1 | rw # read write 客户端针对服务端的共享目录有可读可写权限 | 
部署服务端
- 安装NFS - 1 
 2
 3
 4- # c7 安装nfs 
 yum install -y nfs-utils
 ## C5,C6 安装nfs服务
 yum install -y nfs rpcbind
- 创建共享目录 - 1 
 2- # 创建共享目录 
 mkdir /data
- 修改配置文件 - 1 
 2
 3
 4
 5- # 修改配置文件 
 vim /etc/export
 ## /data 172.16.1.0/24(rw,sync,all_squash)
 ## 共享目录 子网/子网掩码(读写,同步,任何用户端口映射成NFS的匿名用户)
- 授权共享目录属主和属组 - 1 
 2
 3
 4
 5- # 授权共享目录属主和属组 
 chown nfsnobody:nfsnobody /data/
 # 检查共享目录属主和属组是否修改成功
 ll -d /data/
- 启动并加入开机自启 - 1 
 2
 3
 4
 5- # 启动并加入开机自启 
 ## 启动NFS服务
 systemctl start nfs
 ## 开机自启
 systemctl enable nfs
- 检查进程 - 1 
 2- # 检查进程 
 ps -ef | grep nfsd
部署客户端
- 安装NFS - 1 
 2
 3- # 安装nfs服务 
 ## web01和web02
 yum install -y nfs-utils
- 查看可挂载目录 - 1 
 2- # 查看可挂载目录 
 showmount -e 172.16.1.31
- 挂载共享目录 - 1 
 2
 3
 4
 5- # 挂载共享目录 
 mount -t nfs 172.16.1.31:/data /opt/
 # 检查挂载状态
 df -h
- 访问NFS共享目录 - 1 
 2
 3
 4
 5- # 访问NFS共享目录 
 web服务器访问:cd /opt
 nfs服务器访问:cd /data
 ## 在此目录下数据将会进行实时同步共享
示例:部署交作业网站
部署NFS服务端(将web服务器的http后台数据同步共享)
- c7 安装NFS - 1 
 2- # c7 安装nfs 
 yum install -y nfs-utils
- 创建共享目录 - 1 
 2- # 创建共享目录 
 mkdir /data
- 修改配置文件 - 1 
 2
 3
 4
 5
 6
 7- # 修改配置文件 
 vim /etc/exports
 ## /data 172.16.1.0/24(rw,sync,all_squash)
 vim /etc/httpd/conf/httpd.conf
 ## :66行修改启动服务的软件
 ## 共享目录 主机IP/子网掩码(读写,同步,任何用户端口映射成NFS的匿名用户)
- 授权共享目录属主和属组 - 1 
 2
 3
 4
 5- # 授权共享目录属主和属组 
 chown nfsnobody:nfsnobody /data/
 # 检查共享目录属主和属组是否修改成功
 ll -d /data/
- 启动并加入开机自启 - 1 
 2
 3
 4
 5- # 启动并加入开机自启 
 ## 启动NFS服务
 systemctl start nfs
 ## 开机自启
 systemctl enable nfs
- 检查进程和端口 - 1 
 2
 3
 4
 5- # 检查进程 
 ps -ef | grep nfs
 # 检查端口
 netstat -lntup | grep httpd
web服务器部署http代码
- 安装httpd php服务 - 1 
 2- # 安装httpd php服务 
 yum install -y httpd php
- 部署网页文件 - 1 
 2
 3
 4
 5- # 将网页文件下载至/var/www/html下 
 cd /var/www/html
 rz -E
 # 解压kaoshi_modify.zip文件
 unzip kaoshi_modify.zip
- 启动服务 - 1 
 2- # 启动服务 
 systemctl start httpd
- 检查进程和端口 - 1 
 2
 3
 4
 5- # 检查进程 
 ps -ef | grep httpd
 # 检查端口
 netstat -lntup | grep httpd
 ## http端口为:80
- 访问页面 - 1 
 2
 3- # 访问页面 
 10.0.0.7
 ## web服务器IP地址
- 创建http后台数据存放目录 - 1 
 2- # 创建http后台数据存放目录 
 mkdir /var/www/html/user_data
- 将存放http后台数据的目录挂载到NFS共享路径 - 1 
 2- # 将存放http后台数据的目录挂载到NFS共享路径 
 mount -t nfs 172.16.1.31:/data /var/www/html/user_data
- 访问NFS共享目录 - 1 
 2
 3
 4- # 访问NFS共享目录 
 cd /data
 ## 在此目录下web服务器http后台数据将会进行实时同步共享
开机自动挂载
| 1 | # 编辑开机自动挂载文件 | 
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 奥利奥の麦旋风!




