Chinaunix首页 | 论坛 | 博客
  • 博客访问: 362919
  • 博文数量: 683
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 5835
  • 用 户 组: 普通用户
  • 注册时间: 2022-03-07 15:28
个人简介

天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。

文章分类

全部博文(683)

文章存档

2024年(234)

2023年(247)

2022年(202)

我的朋友

分类: LINUX

2024-08-09 15:53:41

本文分享自天翼云开发者社区《NFS v3及v4协议区别》,作者:****凯

 

NFS v4相比v3,有部分功能的增强,如果应用需要实现如下功能,则必须使用NFS v4(建议和应用侧确实是否有NFS v4需求,一般情况下,应用侧会对是否采用NFS v4有明确需求):

 

ID Domain Mapping

NFS v4引入Domain概念,加强了权限管控的能力。访问NFS v4的卷需要授权,因此性能相比NFS v3略有下降。授权NFS V4访问,需要部署LDAP服务器做权限管控,并涉及操作系统部分配置文件修改

 

NFS v4.x Access Control Lists (ACLs)

NFS v4支持同一文件的不同用户权限控制,例如对文件1.txt,用户A是755权限,用户B是600权限,通常这类权限管控要求是业务侧决定的。而NFS V3是基于user ID实现的权限控制

 

locking model锁机制

1)NFS v3通过操作系统的NLM对文件加锁,由操作系统加锁,无需NFS服务端控制,协议开销小; NFSv4设计成了一种有状态的协议,自身实现了文件锁功能和获取文件系统根节点功能,不需要NLM和MOUNT协议协助了。由NFS服务控制文件访问锁,NFS协议开销更高;

2)NFS v4支持字节锁功能,不同客户端可同时对一个文件进行修改和操作,如果业务有此类场景,可以考虑使用NFS V4

 

并发访问

NFS v4.1相比v4.0和v3,支持多客户端、高并发并行访问存储。在之前的协议中,客户端直接与服务端连接,客户端直接将数据传输到存储中。当客户端数量较少时这种方式没有问题,但是如果大量的客户端要访问数据时,NFS服务端将会成为瓶颈,抑制了系统的性能。

 

delegation访问委派

NFS v4支持访问委派(delegation)功能,降低文件属性和状态的协议同步开销。

由于多个客户端可以挂载同一个文件系统,为了保持文件同步,NFSv3客户端需要经常向服务器发起请求,请求文件属性信息,判断其他客户端是否修改了文件。如果文件系统是只读的,或者客户端对文件的修改不频繁,频繁向服务器请求文件属性信息会降低系统性能。NFSv4可以依靠delegation实现文件同步。当客户端A打开一个文件时,服务器会分配给客户端A一个delegation。只要客户端A具有delegation,就可以认为与服务器保持了一致。如果另外一个客户端B访问同一个文件,则服务器会暂缓客户端B的访问请求,向客户端A发送RECALL请求。当客户端A接收到RECALL请求时将本地缓存刷新到服务器中,然后将delegation返回服务器,这时服务器开始处理客户端B的请求。

NFS v3相比v4,在实际生产环境中的应用时间长,稳定性更高,并且各个操作系统厂商对NFS v3的支持和补丁更完善,所以如果没有NFS v4特性的必要使用需求,还是建议采用NFS v3。

阅读(48) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~