linux-CentOS7 nfs服务

一、什么是NFS?

全称 network file system 网络文件系统
通过网络存储和组织文件的一种方法或机制。

什么是文件系统?
操作系统中负责管理和存储文件信息的软件结构称为文件管理系统,简称文件系统

二、为什么要用共享存储?

前端所有的应用服务器接收到用户上传的图片、文件、视频,都会统一的放到后端的存储上。为什么要共享?所有节点服务器都需要将内容存到存储上,取的统一来取。

有无NFS对比:

三、NFS工作流程

四、工作原理

五、实践

1、客户端与服务端

rpm -qa nfs-utils rpcbind
yum install nfs-utils rpcbind -y
systemctl start rpcbind.service(端口111)
systemctl enable rpcbind.service

2、NFS服务端(172.16.1.31)

配置/etc/exports------配置客户端网段与权限等等
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=1111,anongid=1111)

/data1 10.0.0.0/24(ro)
#表示共享服务器上的/data1目录只有10.0.0.0主机可以访问,且有只读权限

NFS配置权限设置常用参数说明<=====

创建、授权共享目录:chown -R nfsnobody.nfsnobody /data   查看ll
平滑重启NFS服务:systemctl reload nfs等价于exportfs -r
检查挂载:showmount -e 172.16.1.31
服务端本地挂载:mount -t nfs 172.16.1.31:/data /mnt       查看:df  -h

3、客户端(10.0.0.7)

查看是否开启rpcbind:ps -ef|grep rpcbind
查看NFS服务器提供的共享目录:showmount -e 172.16.1.31
查看一下RPC有没有注册:rpcinfo -p 172.16.1.31 
创建、授权:chown -R nfsnobody.nfsnobody /data
挂载测试:
mount -t nfs 172.16.1.31:/data /mnt(把服务端共享目录/data挂载到本地目录/mnt)    
df -h
测试的时候可以在/mnt目录创建文件(看/etc/exports给的权限)测试。

扩展:

[ root@ nfs01 ~]# exportfs -o rw,sync 172.16.1.31:/test 临时挂载目录
[ root@ nfs01 ~]# showmount -e 172.16.1.31 查看挂载目录

六、优点与局限性

优点

  • ①简单,容易上手,容易掌握。
  • ②NFS文件系统内数据是在文件系统之上的,即数据是能看得见的。
  • ③部署快速,维护简单方便,且可控,满足需求的就是最好的。
  • ④可靠,从软件层面上看,数据可靠性高,经久耐用。数据是在文件系统之上的。
  • ⑤服务非常稳定。

局限:

1、存在单点故障,如果NFS Server宕机了,所有客户端都不能访问共享目录。
2、在大数据高并发的场合,NFS效率、性能有限(2千万/日以下PV的网站不是瓶颈,除非网站架构设计太差)。 
可以考虑购买CDN服务。CDN:网站加速器,分布式缓存服务。
3、客户端认证是基于IP和主机名的,权限要根据ID识别,安全性一般(用于内网则问题不大)。(没有用户名跟密码——》安全性不高)
4、NFS数据是明文的,NFS本身不对数据完整性作验证。
5、多台客户机器挂载一个NFS服务器时,连接管理维护麻烦(耦合度高)。尤其NFS服务端出问题后,所有NFS客户端都处于挂掉状态
(测试环境可使用autofs自动挂载解决,正式环境可修复NFS服务或强制卸载)。

应用建议:

   大中小型网站(参考点2000/日PV以下)线上应用,都有用武之地。门户站也会有应用,生产场景应该多把数据的访问往前推,
   即尽量把静态存储里的资源通过CDN或缓存服务器提供服务,如果没有缓存服务或架构不好,存储服务器数量再多也是扛不住压力的,
   而且用户体验会很差。

解决NFS性能问题:

(内存优化,挂载优化,磁盘选择:scsi,raid10,CDN,弃用NFS,切割目录)。
1、硬件:sas/ssd磁盘,买多块,硬件raid,制作raid5或raid10。网卡吞吐量要大,至少千兆(多块bond)。
2、NFS服务器端配置:
/data  172.16.1.0/24(rw,sync,all_squash,anonuid=65534,anongid=65534) 
3、NFS客户端挂载优化配置命令: 
 mount -t nfs -o,nosuid,noexec,nodev,noatime,nodiratime,rsize=131072,wsize=131072 172.16.1.31:/data/ /mnt<==兼顾安全性能 
4、对NFS服务的所有服务器内核进行优化时,执行如下命令:
cat >>/etc/sysctl.conf<<EOF 
net.core.wmem_default = 8388608 
net.core.rmem_default = 8388608 
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216 
EOF
5、使用CDN加速以及自己搭建文件缓存服务(squid.nginx,varnish)。 
6、把多个目录分配到不同的NFS服务器上。
7、弃用NFS 
8、使用分布式文件系统。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tony带水!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值