企业级NFS网络文件共享服务_【all】

1.1. 什么是NFS(1台机器提供服务)

Network File System(网络文件系统)通过局域网让不同的主机系统之间共享文件或目录。

NFS客户端可以通过挂载的方式将NFS服务器端共享的数据目录挂在到NFS客户端本地

mount 10.185.163.162:/dev/sdb1 /客户端的mnt

注:samba类似windows的文件共享系统,用于办公网

nfs用于中小型网站集群架构的数据共享

mfs,glusterfs,FastDFS分布式文件系统(多台机器提供服务)用于大型的门户网站

1.2. NFS在企业的应用

企业集群中,NFS网络文件系统被用来存储共享的视频,图片,附件等静态资源,一般由用户上传

注意网站的BBS程序(开发人员开发的程序)不要放到NFS共享里

客户 ->Nginx      ->NFS(图片,视频)

       ->业务         ->Mysql

       ->监控         ->session共享

1.3. 为什么需要共享存储角色

简单,易用,高效,但是没有本地快(网络延迟),服务端提供一个共享目录,通过mount挂在到本地,本地只要访问挂载点,就相当于访问远端的共享目录了。不同的客户端可以提供不同的挂载点,但同时可以挂载服务端同一个目录。

1.4. RPC(Remote Procedure Call)服务(端口111)

1.NFS系统是通过网络进行数据传输的,所以一定会使用一些端口来传输数据

2.NFS支持的功能相当的多,而不同的程序都是使用不同的程序来启动,每个功能就会启用一些端口来传输数据,所以我们可以通过RPC(远程过程调用)来实现。

3.RPC服务的最主要的功能就是记录每个NFS功能所对应的端口号,并且在NFS客户端向RPC做请求的时候,把该端口对应的信息传递个请求数据的客户端,可以确保客户端和服务器端的通信。

4.RPC原理总结:

1.服务器端和客户端都需要安装RPC服务。

2.服务器端的RPC服务要先于服务器端的NFS服务启动

3.当客户端的程序通过RpcBind发出一个有进程参数的调用信息到服务进程,然后等待服务器端的RPC的应答信息,有则返回端口信息给客户端。客户端就可以直接访问NFS系统,进行数据的交换

1.5. NFS常见的进程详细说明(man 查看帮助)

image

image

1.6. NFS参数总结

     NFS参数总结:
	rw:读写
	ro:只读
	sync:客户端给服务器端写入数据,待写入成功后服务端后给客户端一个写入成功的标记,这个时候数据写入成功。
            但是数据安全,但是性能差
	async:异步写入
		数据写入内存后显示写入成功,高性能,但是一旦断电后数据丢失,
		电商秒杀是异步的。大型网站都是异步,会短时间数据不一致。
	no_root_squash:
		访问的NFS Server的共享目录的用户是root的话,它对该共享目录具有root权限
	root_squash:
		访问的NFS Server的共享目录的用户是root的话,它对该共享目录的权限压缩为匿名用户
	all_squash:  -->推荐使用
		不管访问的NFS Server的共享目录权限是什么,它对该共享目录的权限压缩均为匿名用户

1.7. 搭建企业级NFS网络文件共享服务

【更多参考】

  搭建企业级NFS网络文件共享服务【一】 

  搭建企业级NFS网络文件共享服务【二】

1.8.NFS优缺点

1.作用:

NFS可以让不同的客户端挂载使用同一个目录,作为共享存储使用,为保证不同节点数据的一致性,集群架构环境经常用到。

windows的Samba,它是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。

2.优点:

简单,易上手

数据在文件系统之上,可见

方便,部署快,简单维护,可控

可靠,可靠性高,经久耐用

稳定,

3.缺点:

局限性是单点故障,服务端宕机,所有客户端不能访问(负载均衡和高可用方案弥补-->rsync+inodefound+双写)

大数据高并发场合,NFS效率优点

客户端基于IP识别,安全性不高

NFS数据时明文,对数据完整性不做验证

多台客户端挂载一个NFS服务器,维护起来麻烦(耦合性高)

原文地址:https://www.cnblogs.com/ftl1012/p/nfs.html