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

    文章

    111

    浏览量

    11540
  • NFS
    NFS
    +关注

    关注

    1

    文章

    53

    浏览量

    26127

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

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

收藏 人收藏

    评论

    相关推荐

    如何实现NFS服务搭建

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

    TLV320AIC3254内部中的ADC处理模块和minidsp到底是什么关系?

    我想请问一下几个问题: 1.3254内部中的ADC处理模块和minidsp到底是什么关系,是并列的还是串行关系?还是ADC处理模块就是minidsp特殊情况下的部分? 2.minidsp的抽取因子该怎么理解,到底怎么使用?
    发表于 10-31 06:02

    请问TPA3130D2的芯片丝印到底是PTPA3130还是TPA3130呀?

    TPA3130D2的芯片丝印到底是PTPA3130还是TPA3130呀
    发表于 10-23 06:13

    请问PCM2903C的温度范围到底是多少呢?

    如下图,PCM2903C的温度范围到底是多少呢? 如果用在-25~85℃,是否会出问题?
    发表于 10-14 07:14

    放大器的共模输入电压到底是指什么?

    请问放大器的共模输入电压到底是指什么?
    发表于 09-19 07:17

    功放和运放到底是什么区别?

    想请问一下功放和运放到底是什么区别,感觉只要接一个小负载,运放的输出电流也可以很大啊?到底有什么区别啊
    发表于 09-10 07:00

    请问LMV772到底是双电源还是单电源啊?

    请问LMV772到底是双电源还是单电源啊?手册前面写的太模糊了。求指教
    发表于 09-09 07:10

    运放的输入电容到底是什么?

    我想请问一下运放的输入电容到底是什么?
    发表于 09-04 06:52

    LMH6502的输入电压到底是多少?

    LMH6502的输入电压到底是多少,我稍微给如大一点点的信号,放大不行还能接受,我衰减都失真,
    发表于 08-27 07:02

    运放旁路电容必须靠近芯片引脚的原因到底是什么呢?

    运放旁路电容必须靠近芯片引脚的原因到底是什么呢?有的说是怕走线的电感与旁路电容形成谐振,旁路电容靠近运放的时候走线的电感不应该更大了吗(走线越长,走线的寄生电感也就越大)
    发表于 08-01 06:56

    对于STM8的固件库,到底是怎么对文件进行配置的?

    对于STM8的固件库,到底是怎么对文件进行配置的?
    发表于 05-17 15:59

    请问STM8L052R8的EEPROM到底是几个block?

    哪位知道STM8L052R8的EEPROM到底是几个block,手册上写的不清不楚,按FLASH说的话,052应该是高密度的,但是EEPROM只有256B,所以很乱,具体也不知道分为几块
    发表于 05-11 08:29

    共享单车到底是什么通信原理

    我们经常骑的共享单车到底是什么通信原理,有人了解过吗? 一、智能车锁 共享单车最核心的硬件是智能车锁,主要用于实现控制和定位功能。
    发表于 04-09 10:33 875次阅读
    共享单车<b class='flag-5'>到底是</b>什么通信原理

    共享单车到底是什么通信原理?

    我们经常骑的共享单车到底是什么通信原理,有人了解过吗?下面宝蓝小编就带大家了解下。
    的头像 发表于 02-25 10:32 1455次阅读
    共享单车<b class='flag-5'>到底是</b>什么通信原理?

    请问M487KMCAN的SRAM到底是128KB还是160K?

    M487KMCAN的SRAM到底是128 KB 还是160K
    发表于 01-16 07:18