ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

NFS共享存储

2022-05-18 19:03:00  阅读:155  来源: 互联网

标签:存储 www nfs NFS 共享 data 服务端 客户端


NFS共享存储

1.NFS概述

	NFS(Network File System)主要功能是通过网络来做文件存储。
	使用NFS可以实现多台服务器之间数据共享,也可以实现多台服务器之间的数据一致

2.NFS工作原理

1.当用户发送请求通过用户进程访问NFS客户端,会根据不同的请求来使用不同的函数对数据进行处理
2.NFS客户端通过TCP/IP协议的方式传递给NFS服务端
3.NFS服务端接收到请求,会先调用portmap进程进行端口映射
4.rpc.nfsd进程用于判断NFS客户端是否拥有权限链接NFS服务端
5.Rpc.mount进程判断客户端是否有对应的权限进行验证
6.idmap进程实现用户映射和压缩
7.最后NFS服务端会将对应请求的函数转换为本地能识别的命令,传递至内核,再由内核驱动硬件
# Rpc.nfsd:是NFS的守护进程,主要是管理客户端是否能够登陆NFS服务器
# Rpc.mount:主要是管理NFS的文件系统。当客户端顺利通过nfsd登陆到NFS服务器后,在使用NFS服务所提供的文件前,还必须顺利通过文件使用权限的验证。它会读取NFS的配置文件/etc/exports来对比客户端权限
# Portmap:主要是进行端口映射工作
# rpc是一个远程过程调用,使用NFS必须要有rpc服务,它的服务名为:rpcbind

3.安装部署NFS

3.1.服务端

1.先安装nfs服务:
	centos5,centos6:yum install -y nfs rpcbind
	centos7:yum install -y nfs-utils
2.配置NFS服务:vim /etc/exports
	# 共享目录   允许访问NFS服务端的网段(权限)
	/data       172.16.1.0/24(rw,sync,all_squash
nfs共享参数 参数作用
rw* 读写权限
ro 只读权限
root_squash 当NFS客户端以root身份访问时,映射为NFS服务器的匿名用户
no_root_squash 当NFS客户端以root身份访问时,映射为NFS服务器的root管理员
all_squash 无论NFS客户端使用什么身份访问,都映射为NFS服务器的匿名用户
no_all_squash 无论NFS客户端使用什么身份访问,都不进行压缩
sync* 同时将数据写入到内存和硬盘中,不丢失数据
async 优先将数据保存到内存中,然后在写入到硬盘中,效率高,但有可能丢失数据
anonuid* 配置all_squash使用,指定NFS的用户uid,系统中必须存在
anongid* 指定NFS的用户gid,系统中必须存在
3.创建共享目录:mkdir /data
4.修改共享目录的属主和属组为nfs的匿名用户:
	chown nfsnobody:nfsnobody /data
5.关闭防火墙和selinux:
	systemctl stop firewalld
	setenforce 0
6.启动服务并加入开机自启
	systemctl start nfs
	systemctl enable nfs
7.检查进程:ps -ef|grep nfs
8.检查配置文件是否生效:cat /var/lib/nfs/etab

3.2.客户端操作

1.安装nfs:yum install -y nfs-utils
2.查看服务端里面可以挂载的目录:
	showmount -e 172.16.1.31

3.挂载共享目录:
	mount -t nfs 172.16.1.31:/data /opt

4.NFS共享存储实战

4.1 环境

主机名 WanIP LanIP 角色 部署应用
web01 10.0.0.7 172.16.1.7 网站服务(nfs客户端) httpd,php,nfs
web02 10.0.0.8 172.16.1.8 网站服务(nfs客户端) htppd,php,nfs
nfs 10.0.0.31 172.16.1.31 共享储存(nfs服务端) nfs

4.2.部署交作业网站

1.安装apache和php:
	yum install - y apache php
2.下载代码到站点目录中	
3.解压代码:
	unzip kaoshi_modify.zip
4.让apache和nfs统一使用用户www uid和gid为666:
	创建用户及用户组:groupadd www -g 666
				   useradd www -u 666 -g 666
5.修改apache的配置文件,将用户和用户组改成www:
	vim /etc/httpd/conf/httpd.conf

6.将站点目录的属主和属组改成www:
	chown www:www /var/www/html

7.启动apache服务:
	systemctl start httpd
8.检查进程:
	ps -ef|grep httpd
9.端口检查:
	ntestat -lntup|grep httpd

10.打开浏览器访问

11.上传文件

12.查看站点目录下是否有user_data目录,查看该目录下是否有上传的文件,并查看它们的属主与属组是否是www用户

4.3 给交作业网站部署共享储存

1.先安装nfs服务:
	centos5,centos6:yum install -y nfs rpcbind
	centos7:yum install -y nfs-utils
2.配置NFS服务:vim /etc/exports
	# 共享目录   允许访问NFS服务端的网段(权限)
	/data       172.16.1.0/24(rw,sync,anonuid=666,anuogid=666,all_squash

3.创建www用户:
	groupadd www -g 666 
	useradd www -u 666 -g 666

4.创建共享目录并修改共享目录的属主与属组为nfs指定的匿名用户:
	mkdir /data
	chown www:www /data

5.关闭防火墙和selinux:
	systemctl stop firewalld
	setenforce 0
6.启动服务并加入开机自启
	systemctl start nfs
	systemctl enable nfs
7.检查进程:ps -ef|grep nfs
8.检查配置文件是否生效:cat /var/lib/nfs/etab

9.在客户端挂载nfs服务端的目录:
	mount -t nfs 172.16.1.31:/data /var/www/html/user_data

10.上传文件查看服务端是否能够获取到文件


11.将第二台客户端挂载到服务端上,查看是否能够共享到文件

标签:存储,www,nfs,NFS,共享,data,服务端,客户端
来源: https://www.cnblogs.com/zlyj/p/16285913.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有