欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

NFS共享存储

程序员文章站 2022-07-13 21:42:31
...

一、NFS 服务简介

NFS是Network File System的缩写,即网络文件系统。一种使用于分散式文件协定,功能是通过网络让不同的机器、不同的操作系统能够分享个人数据,让应用程序通过网络可以访问位于服务器磁盘中的数据。 NFS在文件传送或信息传送的过过程中,依赖于RPC协议。RPC,远程过程调用(Remote Procedure Call),是使客户端能够执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,就是因为NFS使用了RPC提供的传输协议,可以说NFS就是使用PRC的一个程序。

主要作用:NFS 存储 服务器主要用于用户上传的数据 ,图片 音频 、等信息

1.1、不知道什么是NFS!那就先看图!!!

NFS共享存储

1.2、如何解决该问题呢!这时候就要NFS登场了

NFS共享存储
这时候用户再A服务器上,上传的图片就会到达NFS服务器,下次访问,A,B,C都会去NFS调取图片,所以无论到A,B,C任意一台服务器能可以看见在A服务器上的图片。

1.3、NFS服务端、RPC协议、客户端三者可以理解为房源、中介、租客之间的关系:

NFS共享存储

二、安装使用

1:环境准备
机器:
一台web01服务器
一台nfs01服务器
软件:
RPC 服务 :rpcbind(C 6 & C 7) portmap(C 5)
nfs服务: nfs-utils

2:安装软件:
[aaa@qq.com ~]# yum install -y nfs-utils rpcbind
[aaa@qq.com ~]# rpm -qa nfs-utils rpcbind
rpcbind-0.2.0-47.el7.x86_64
nfs-utils-1.3.0-0.61.el7.x86_64
[aaa@qq.com ~]# systemctl start nfs
[aaa@qq.com ~]# systemctl start rpcbind

[aaa@qq.com ~]# yum install -y nfs-utils rpcbind
[aaa@qq.com ~]# rpm -qa nfs-utils rpcbind
rpcbind-0.2.0-47.el7.x86_64
nfs-utils-1.3.0-0.61.el7.x86_64
[aaa@qq.com ~]# systemctl start nfs
[aaa@qq.com ~]# systemctl start rpcbind

3:在NFS服务器上配置NFS服务端配置
[aaa@qq.com ~]# vim /etc/exports
/data         172.16.1.0/24(rw)
[aaa@qq.com ~]# mkdir -p /data
[aaa@qq.com ~]# chown  nfsnobody. /data
[aaa@qq.com ~]# systemctl start nfs
[aaa@qq.com ~]# systemctl enable nfs

4:客户端测试,并挂载使用
[aaa@qq.com ~]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data 172.16.1.0/24 
[aaa@qq.com ~]# mount -t nfs 172.16.1.31:/data /mnt

三、NFS参数

rw*					读写权限
ro					只读权限
root_squash			当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户(不常用)
no_root_squash		当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员(不常用)
no_all_squash		无论NFS客户端使用什么账户访问,都不进行压缩 (云计算)

sync*				同时将数据写入到内存与硬盘中,保证不丢失数据
async				优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据
	
all_squash			无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户(常用)
anonuid*			配置all_squash使用,指定NFS的用户UID,必须存在系统
anongid*			配置all_squash使用,指定NFS的用户UID,必须存在系统

四、NFS优点和不足

1.NFS存储优点
	1.NFS简单易用、方便部署、数据可靠、服务稳定、满足中小企业需求。
	2.NFS的数据都在文件系统之上,所有数据都是能看得见。

2.NFS存储局限
	1.存在单点故障, 如果构建高可用维护麻烦web->nfs()->backup
		glusterfs 
	2.NFS数据都是明文, 并不对数据做任何校验,也没有密码验证(强烈建议内网使用)。

3.NFS应用建议
	1.生产场景应将静态数据(jpg\png\mp4\avi\css\js)尽可能放置CDN场景进行环境, 以此来减少后端存储压力
	2.如果没有缓存或架构、代码等,本身历史遗留问题太大,在多存储也没意义
	存储不能带来性能上的提升
相关标签: 服务 linux