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!那就先看图!!!
1.2、如何解决该问题呢!这时候就要NFS登场了
这时候用户再A服务器上,上传的图片就会到达NFS服务器,下次访问,A,B,C都会去NFS调取图片,所以无论到A,B,C任意一台服务器能可以看见在A服务器上的图片。
1.3、NFS服务端、RPC协议、客户端三者可以理解为房源、中介、租客之间的关系:
二、安装使用
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.如果没有缓存或架构、代码等,本身历史遗留问题太大,在多存储也没意义
存储不能带来性能上的提升
上一篇: Numpy与Pandas基础
下一篇: 容器相关术语介绍