0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

NFS到底是怎么工作的

阿铭linux 来源:阿铭linux 2023-02-10 16:57 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

NFS介绍

NFS是Network File System的缩写,NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发。NFS数据传输基于RPC协议,RPC为Remote Procedure Call的简写。

0837745c-a862-11ed-bfe3-dac502259ad0.png

NFS应用场景很简单,当多台机器需要共享一份数据时,就用NFS。如上图,sdb1为A机器上的一块盘,A机器把sdb1上的一个目录共享出来了,然后B机器和C机器呢通过NFS将A机器共享的目录挂载到了它们自己的服务器上,看起来就像是它们本地的一块盘,此时无论是A机器,还是B机器,又或者是C机器,到这个挂载的目录里去写文件,另外的两台机器都会跟着写。

NFS工作原理

首先,说一个结论:NFS依赖RPC,RPC存在的意义是为了解决NFS服务端和客户端通信端口并且端口不固定的问题。也就是说,NFS的服务端和客户端通信时,并不是只有一个端口,因为毕竟需要数据传输,数据的读、写,它们中间复杂得很,一个端口做不了这么多事情,所以就需要很多端口来实现这些操作。 最麻烦的是,端口还不固定,所以就得有一个中心,来记录这些不固定的端口,怎么记录呢,这里就用到了RPC。 当访问程序通过NFS客户端向NFS服务器端存取文件时,其请求数据流程大致如下: ① NFS服务启动时,首先会将端口信息登记到NFS服务端的RPC服务(也就是图中的rpcbind)里。

0851705a-a862-11ed-bfe3-dac502259ad0.png

② 用户在NFS客户端上发出存取NFS文件请求,这时NFS客户端的RPC服务就会通过网络向NFS服务器端的RPC服务的111端口发出NFS文件存取功能的询问请求。

086cf370-a862-11ed-bfe3-dac502259ad0.png

③ NFS服务端的RPC服务找到对应已注册的NFS端口后,通知NFS客户端RPC服务。 ④ NFS客户端获取到正确的端口,并与NFS 服务建立连接,然后开始存取数据由于NFS的各项功能都需要向RPC服务注册,所以只有RPC服务才能获取到NFS服务的各项功能对应的端口号、PID、NFS在主机所监听的IP等信息,而NFS客户端也只能通过向RPC服务询问才能找到正确的端口。也就是说,NFS需要有RPC服务的协助才能成功对外提供服务。 因此,无论是NFS客户端还是NFS服务器端,都需要首先启动RPC服务,NFS服务必须在RPC服务启动之后启动,客户端无须启动NFS服务,但需要启动RPC服务。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RPC
    RPC
    +关注

    关注

    0

    文章

    113

    浏览量

    12191
  • NFS
    NFS
    +关注

    关注

    1

    文章

    56

    浏览量

    26857

原文标题:NFS到底是怎么工作的?

文章出处:【微信号:aming_linux,微信公众号:阿铭linux】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    请问Keil中的map文件到底是什么意思?

    Keil中的map文件到底是什么意思?里面是如何进行相关执行操作的
    发表于 11-25 06:59

    IEC 到底是什么?为什么它能影响全球?

    IEC 到底是什么?为什么它能影响全球?
    的头像 发表于 09-04 17:07 2423次阅读

    晶振的 “负载电容” 到底是什么

    负载电容,到底是什么? 负载电容,简单来说,是指晶振的两条引线连接IC块内部及外部所有有效电容之和,我们可以将其看作晶振片在电路中串接的电容。从更专业的角度讲,它是为了使晶振能够在其标称频率下稳定
    的头像 发表于 07-25 16:26 657次阅读

    请问编译纯rtos到底是选择Linux+rtos的sdk编译only rtos还是直接使用rtos sdk?

    编译纯rtos到底是选择Linux+rtos的sdk编译only rtos还是直接使用rtos sdk?
    发表于 07-11 07:22

    智能盒子到底是什么东西?昇腾310深度测评:为何能成为行业新宠?

    让人摸不着头脑的“智能盒子”。各位搞技术、搞工程的朋友,咱们在工作中是不是经常听到“智能盒子”这个说法?每次听到这个词,我猜很多人心里都在犯嘀咕:这东西到底是个啥玩意儿?难道就是个装了点智能软件的普通盒子?它到底有啥用?能给咱们
    的头像 发表于 04-27 10:46 1495次阅读
    智能盒子<b class='flag-5'>到底是</b>什么东西?昇腾310深度测评:为何能成为行业新宠?

    基于RK3576开发板的NFS服务搭建与挂载

    NFS就是Network File System的缩写,即网络文件系统,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。 它允许网络中的计算机之间通过
    的头像 发表于 04-21 17:23 625次阅读
    基于RK3576开发板的<b class='flag-5'>NFS</b>服务搭建与挂载

    ADS1298 RDATAC Opcode时,START到底是低还是高?

    您好,1298的datasheet看到这有点糊涂了。 1、RDATAC Opcode时,START到底是低还是高? 从时序图上看实线是高、虚线是低,请问实线虚线有什么区别? 2、同时在DOUT
    发表于 02-14 07:48

    ADS1298 tdr的值到底是多大,跟采样率等有没有什么关系?

    我想请问一下, 1、tdr的值到底是多大,跟采样率等有没有什么关系。数据手册上只找到建立时间,好像没有这个时间的值,28页那个最小SCLK时钟为110khz是怎么计算的。 2、 tdr到底是
    发表于 02-13 06:11

    ADS1298的操作温度范围到底是多少?

    ADS1298是 0°Cto +70°C;工业级ADS1298I 是 –40°Cto +85°C。 现在不知道ADS1298的操作温度范围到底是多少?
    发表于 02-10 07:19

    ADS1298ECG-FE原理图上看见很多NI的符号, 到底是什么意思呢?

    我们在ADS1298ECG-FE原理图上看见很多NI的符号, 到底是什么意思呢? 具体的值是多少呢? 如下面两个图所示: R1, R2电阻的值是多少? 这个比较重要。 R59 - R66又是多少? 麻烦你们回答一下。 谢谢
    发表于 02-05 08:16

    ADS1278的参考电压的要求到底是怎样的?

    <27MHz为例,Vrefp输入范围为0.5到3.1V 而后文又提到,参考输入电压的范围为AGND-0.4v to AVDD+0.4v 问题1. 这个参考电压的要求到底是怎样的? 问题2.
    发表于 01-23 08:02

    ADS7864采样频率到底是由外部时钟决定还是HOLDX信号频率决定?

    ADS7864数据手册上说当采用8M外部时钟的时候,采样频率为500kHz,但是有人说可以通过HOLDX频率来控制采样频率,一个HOLDX下降沿采样一次,HOLDX频率就是采样频率。请问采样频率到底是由外部时钟决定还是HOLDX信号频率决定?
    发表于 01-14 06:47

    LM629 PID参数调节,所谓的高频震荡到底是什么意思?

    为何我的系统一直没有所谓的高频震荡这种现象;只是随着Kd的增加,系统的阻尼开始变大而已。所谓的高频震荡到底是什么意思?
    发表于 01-01 07:30

    DAC3283到底是8位的LVDS输入数据还是16位的LVDS输入数据?

    请问这个DAC到底是8位的LVDS输入数据还是16位的LVDS输入数据啊。。也就是说,这个I路的15:8和7:0,是一个16位数据拆成了两部分,高八位和第八位(其中又包含P和N),还是一个8位
    发表于 12-31 08:27

    如何实现NFS服务搭建

    用于Linux之间进行文件共享则是用NFS服务(Network FileSystem) 目的在于让不同的机器,不同的操作系统可以彼此分享各自的文件数据。 NFS服务可以将远程Linux系统上的文件
    的头像 发表于 12-10 10:10 1194次阅读
    如何实现<b class='flag-5'>NFS</b>服务搭建