您当前的位置:首页 > 互联网百科 > 大数据

NFS协议端到端实例解析之写数据流程

时间:2023-09-20 12:32:55  来源:微信公众号  作者:数据存储张

对于NFS来说,其写模式包含同步写,异步写和直接写等模式。模式的差异在于打开文件时指定的参数。限于篇幅,本文很难一一介绍所有模式,这里主要介绍一个核心流程。

NFS作为linux下的文件系统,为了实现与VFS的对接,NFS也要实现一套函数指针接口。以文件相关的操作为例,其实现的函数指针如下所示。对于写数据来说,VFS会调用NFS的nfs_file_write函数。

NFS协议端到端实例解析之写数据流程图片

在该函数中,如果有SYNC标记则会触发同步写的流程,否则写入缓存后就会返回给调用者。本节我们主要关注触发同步写的流程,也就是数据是如何从NFS文件系统发送到服务端的。

直接写和同步写都会触发将数据发送到服务端的流程,本节以同步写为例介绍数据是如何发送到服务端的。如果触发同步刷写,那么会调用nfs_file_fsync函数,该函数是将缓存数据传输到服务端的入口。该函数到后端访问接口nfs_do_writepage的主线流程如下图所示。

NFS协议端到端实例解析之写数据流程图片

nfs_file_fsync主线流程

这里nfs_do_writepage用于将一个缓存页发送到服务端,具体实现如下代码所示。其中主要是功能由nfs_page_async_flush函数完成。这里比较重要的参数是pgio,在该参数中有页数据传输相关的函数指针,关于该参数类型的详细定义请参考内核源代码。

NFS协议端到端实例解析之写数据流程图片

然后我们再从nfs_page_async_flush函数开始计数看一下主线流程,具体下图所示。函数nfs_generic_pg_pgIOS就是在pgio初始化的函数指针,其在nfs_pageio_doio中被调用。该主线流程最终调用到nfs_initiate_pgio函数,该函数完成PRC消息和参数的封装,然后调用RPC服务的API函数完成请求。

NFS协议端到端实例解析之写数据流程nfs_page_async_flush主线流程

当nfs_initiate_pgio调用rpc_run_task函数后,整个流程就进入RPC服务内部了。也就是进入RPC服务状态机的流程了。关于RPC状态机的处理流程的介绍请参考本号相关内容。

最后,我们将整个写流程的简图展示一下,这里包括客户端的函数调用流程和服务端的处理流程。其中客户端的流程中省略了部分函数调用。

NFS协议端到端实例解析之写数据流程网络文件系统访问示意图

服务端向RPC注册了各种回调函数,当接收到客户端的请求时会调用具体的回调函数进行处理。本例将调用nfsd3_proc_write函数。该函数最后调用VFS层的写数据函数,而VFS写数据函数则调用具体文件系统(例如Ext4)的函数完成最终的写数据操作。



Tags:NFS   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
NFS协议端到端实例解析之写数据流程
对于NFS来说,其写模式包含同步写,异步写和直接写等模式。模式的差异在于打开文件时指定的参数。限于篇幅,本文很难一一介绍所有模式,这里主要介绍一个核心流程。NFS作为Linux下...【详细内容】
2023-09-20  Search: NFS  点击:(79)  评论:(0)  加入收藏
Linux NFSD软件架构与代码解析
在Linux操作系统发行版有一个NFS服务端,该服务端由内核态的模块和用户态的守护进程构成。其中内核态模块负责数据处理,而用户态守护进程则负责内核态的配置管理等功能。由于核...【详细内容】
2023-08-21  Search: NFS  点击:(206)  评论:(0)  加入收藏
Linux环境中安装NFS服务并设置开机自启动
简介:常用的文件共享方式有ftp、nsf和samba三种,其中ftp的客户可以是任意平台, nfs则是面向linux/unix用户的,而samba是专门针对windows客户的。SAMBA是DEC开始开发的,用于在不同...【详细内容】
2022-09-13  Search: NFS  点击:(1905)  评论:(0)  加入收藏
NFS服务器配置-笔记
通过NFS共享文件NFS的全称:网络文件系统此服务主要是用于 linux 和linux之间;unix 和 unix之间的网络文件传输;这个服务器相对来说比较简单,但是难度在于如何配置它的端口号。工...【详细内容】
2022-06-10  Search: NFS  点击:(561)  评论:(0)  加入收藏
Linux环境下部署nfs
部署nfs问题描述很多时候,对于一些文件管理,有很多的项目,大部分都是用磁盘进行存储管理!!!部署到正式环境下,可能有多台linux服务器,那就会有这样的一个问题:文件上传,上传到服务器A,...【详细内容】
2022-04-24  Search: NFS  点击:(465)  评论:(0)  加入收藏
CentOS8 配置 NFS共享目录
# 环境说明:1、主机IPnfs server端主机:cjzm(nfs1) 192.168.123.165nfs client端主机:asan(nfs2) 192.168.123.231[root@asan ~]# ip a #查看主机IP 2、系统:CentOS Linux release 8...【详细内容】
2021-07-19  Search: NFS  点击:(932)  评论:(0)  加入收藏
知识点---NFS服务
什么是NFS?NFS本质就是一个共享存储,文件服务器。一、NFS基本概述NFS是Network File System的缩写即网络文件系统。NFS主要功能是通过局域网络让不同的主机系统之间可以共享文...【详细内容】
2021-06-29  Search: NFS  点击:(307)  评论:(0)  加入收藏
NFS在嵌入式开发中安装和使用
nfs在嵌入式开发中的使用场景:1、使用nfs挂载ubuntu服务端目录方便文件传输和程序调试2、uboot启动后,使用nfs读取kernel和挂载rootfs,方便kernel和rootfs调试3、提取eMMC镜像...【详细内容】
2021-06-22  Search: NFS  点击:(609)  评论:(0)  加入收藏
NFS服务
什么是NFS?NFS本质就是一个共享存储,文件服务器。一、NFS基本概述NFS是Network File System的缩写即网络文件系统。NFS主要功能是通过局域网络让不同的主机系统之间可以共享文...【详细内容】
2021-05-18  Search: NFS  点击:(1679)  评论:(0)  加入收藏
数据中心数据异地备份方案-NFS+RSYNC
概述:烟台某企业Oracle 的数据备份有逻辑备份和Rman备份,备份策略只保存到本机,为了数据安全性,再增加一份保险,通过NFS和rsync把数据备份到异机,服务端redhat,目标端centos,操作如...【详细内容】
2020-07-28  Search: NFS  点击:(319)  评论:(0)  加入收藏
▌简易百科推荐
大数据杀熟何时告别“人人喊打却无可奈何”?
2月7日郑州飞往珠海的航班,不同手机、不同账号搜索该航班显示出不同价格。图源网络有网友近日分享在某平台的购票经历,引发社会广泛关注——用3个账号买同一航班同...【详细内容】
2024-01-30    中国青年网  Tags:大数据杀熟   点击:(32)  评论:(0)  加入收藏
简易百科:到底什么是大数据?
随着互联网的快速发展,大数据已经成为了当今社会最热门的话题之一。那么,到底什么是大数据呢?首先,我们需要明确大数据的定义。大数据是指数据量极大、类型繁多、处理难度高的数...【详细内容】
2024-01-30    简易百科  Tags:大数据   点击:(40)  评论:(0)  加入收藏
数据采集新篇章:AI与大模型的融合应用
开篇在AIGC(人工智能与通用计算)应用中,大型语言模型(LLM)占据着举足轻重的地位。这些模型,如GPT和BERT系列,通过处理和分析庞大的数据集,已经极大地推动了自然语言理解和生成的边界...【详细内容】
2024-01-17  崔皓  51CTO  Tags:数据采集   点击:(50)  评论:(0)  加入收藏
挑战 Spark 和 Flink?大数据技术栈的突围和战争
十年的轮回,正如大数据的发展一般,它既是一个轮回的结束,也是崭新的起点。大数据在过去的二十年中蓬勃发展,从无到有,崛起为最具爆炸性的技术领域之一,逐渐演变成为每个企业不可或...【详细内容】
2024-01-17  InfoQ    Tags:大数据   点击:(40)  评论:(0)  加入收藏
分布式存储系统在大数据处理中扮演着怎样的角色?
如果存储节点本身可以定制,则通常会让其支持部分计算能力,以利用数据的亲和性,将部分计算下推到相关的存储节点上。如果存储是云上的 S3 等对象存储,无法定制,则通常会将数据在计...【详细内容】
2023-12-19  木鸟杂记  微信公众号  Tags:大数据   点击:(48)  评论:(0)  加入收藏
大数据如何实时拯救生命:车联网的数据分析有助预防交通事故
译者 | 李睿审校 | 重楼车联网(IoV)是汽车行业与物联网相结合的产物。预计车联网数据规模将越来越大,尤其是当电动汽车成为汽车市场新的增长引擎。问题是:用户的数据平台准备...【详细内容】
2023-12-19    51CTO  Tags:大数据   点击:(41)  评论:(0)  加入收藏
利用生成对抗网络进行匿名化数据处理
在互联网时代,数据日益成为人们的生产资料。然而,在某些情况下,我们需要分享数据,但又需要保护个人隐私。这时,匿名化技术就显得尤为重要。本文将介绍利用生成对抗网络进行匿名化...【详细内容】
2023-12-18  技巧达人小影    Tags:数据处理   点击:(57)  评论:(0)  加入收藏
盘点那些常见的数据中心类型,你知道几个?
在数字化潮流的浪潮下,数据中心如同企业的神经系统,关系到业务的稳健运转。而在这个巨大的网络中,各种数据中心类型如雨后春笋般崭露头角。从企业级的个性至云数据中心的虚拟化...【详细内容】
2023-12-07  数据中心之家  微信公众号  Tags:数据中心   点击:(65)  评论:(0)  加入收藏
数据中心的七个关键特征
随着信息技术的不断演进,数据中心的可靠性、可扩展性、高效性、安全性、灵活性、管理性和可持续性成为业界探讨的焦点。下面让我们一同深入剖析这些关键特征,了解它们是如何影...【详细内容】
2023-12-06  数据中心之家  微信公众号  Tags:数据   点击:(63)  评论:(0)  加入收藏
什么是数据解析?将数据转化为更好的决策
什么是数据解析?数据解析是一门专注于从数据中获取洞察力的学科。它包含数据分析(data analysis)和管理的流程、工具和技术,包括数据的收集、组织和存储。数据解析的主要目的是...【详细内容】
2023-12-06  计算机世界    Tags:数据解析   点击:(62)  评论:(0)  加入收藏
站内最新
站内热门
站内头条