NFS v3及v4协议区别
本文分享自天翼云开发者社区《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。
NFS v3及v4协议区别的更多相关文章
- react-router v3和v4区别
1.默认路由 v3 <IndexRoute> v4 <Route exact> 2.授权路由 import Redirect from 'react-router-dom' & ...
- CoAP、MQTT、RESTful协议区别
/********************************************************************** * CoAP.MQTT.RESTful协议区别 * 说明 ...
- Web(click and script) 与 Web(HTTP/HTML)协议区别
Web(click and script) 与 Web(HTTP/HTML)协议区别 webjavascriptvbscript浏览器脚本login 先从最简单的说明上来看, Web(HTTP/HTM ...
- Inception V1、V2、V3和V4
Inception模块分为V1.V2.V3和V4. V1(GoogLeNet)的介绍 论文:Going deeper with convolutions 论文链接:https://arxiv.org/ ...
- TCP协议与HTTP协议区别
一.TCP协议与HTTP协议区别 1.直观认识 TCP协议对应于传输层,而HTTP协议对应于应用层,从本质上来说,二者没有可比性.Http协议是建立在TCP协议基础之上的,当浏览器需要从服务器获取网页 ...
- 如何确定一个NFS的mount是v3还是v4?
命令如下: nfsstat –m nfsstat –m | grep /home/mymnt 参考资料 ============ https://unix.stackexchange.com/ques ...
- td-agent的v2,v3,v4版本区别
官方地址:https://docs.fluentd.org/quickstart/td-agent-v2-vs-v3-vs-v4
- http、tcp、udp、OAUTH2.0网络协议区别
一.先来一个讲TCP.UDP和HTTP关系的 1.TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层. 在网络层有IP协议.ICMP协议.ARP协议.RAR ...
- HTTP/2.0与HTTP/1.1协议区别
超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是互联网上应用最为广泛的一种网络协议.设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法.通 ...
- HTTP协议与HTTPS协议区别
HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议: 它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息,它使用安全套 ...
随机推荐
- npm 发包命令
npm publish 此命令发布latest版本 npm publish --tag=alpha 发布alpha版本(测试版本) 紧急回退包方案: 分享一下bnpm给的处理方案 如果因为 ...
- VUE3刷新页面报错:Uncaught SyntaxError: Unexpected token ‘<‘
今天用vue3配置嵌套路由时,发现刷新页面后,页面变为空白,打开控制台发现报错: Uncaught SyntaxError: Unexpected token '<' 解决方法: 修改vue.c ...
- Python之常见问题
一.问题出现:使用Pycharm设置虚拟环境后,打开终端出现如下报错:无法加载文件-\venv\Scripts\activate.ps1,因为在此系统上禁止运行脚本. 解决方式已管理员的身份打开pow ...
- 论文解读《The Philosopher’s Stone: Trojaning Plugins of Large Language Models》
发表时间:2025 期刊会议:Network and Distributed System Security (NDSS) Symposium 论文单位:Shanghai Jiao Tong Univ ...
- 爬虫自动化脚本+AI赋能
简介 估计大家对网页爬取和数据抓取已经有所了解,市面上也有许多现成的软件可供使用.例如,前几天群里有位朋友利用爬虫技术抓取了AV网站,并搭建了一个磁力链接站点. 本文将介绍如何模拟手动操作,将一些繁琐 ...
- 深入理解 Servlet:从基础概念到高级特性与实战应用
一.Servlet简介与工作原理 Servlet是Java Web开发中的重要组件,它运行在服务器端,用于处理客户端的请求并返回响应.其工作原理涉及多个组件和步骤,从客户端发起请求到服务器端的处理和响 ...
- Qt编写视频监控系统73-不同视频流不同类型的判断和解析(http/m3u8/rtsp/rtmp等)
一.前言 这套视频监控系统大概从2018年起步整体框架,一步步积累到现在,中间经历了无数次的各种视频文件.视频流.视频设备的播放测试,比如光视频文件就有mp4/wmv/rmvb/mkv/avi等格式, ...
- [转]OpenLayers基于Vue项目的搭建
主要内容上次介绍了什么是OpenLayers以及其他的可以GIS工具,这次说说如何基于Vue搭建OpenLayers的项目,并且实现地图的加载. 一.vue项目搭建1.全局安装vue-cil npm ...
- 推荐 5 个 火火火火 的CMS开源.Net项目
下面推荐5个基于.NetCore开发的CMS开源项目. 一.OrchardCore 基于ASP.NET Core 构建的.模块化和多租户应用程序框架,采用文档数据库,非常高性能,跨平台的系统. 1.跨 ...
- Python 进阶:深入理解 import 机制与 importlib 的妙用
大家好,今天我们来深入探讨 Python 中的导入机制和 importlib 模块.相信不少朋友和我一样,平时写代码时可能只用过最基础的 import 语句,或者偶尔用 importlib.impor ...