2020-03-02 NFS系统原理介绍

1. NFS系统挂载结构图解与介绍

NFS服务器共享与客户端挂载结构图

如上图所示,在NFS服务器端设置好一个共享目录/video后,其他有权限访问NFS服务器端的客户端都可以将这个共享目录/video挂载到本地客户端的某个挂载点(其实就是一个目录,这个挂载点目录可以自己随意指定),上图中的两个NFS本地客户端的挂载点分别为/v/video和/video,不同客户端的挂载点可以不相同。
客户端正确挂载完毕后,就进入到NFS客户端挂载点所在的/v/video或/video目录,此时可以看到NFS服务器端/video共享目录下的所有数据。在客户端上查看时,NFS服务器端/video目录就相当于本地客户端磁盘分区或目录,几乎感觉不到使用上的区别,根据NFS服务器端授予的NFS共享权限以及共享目录本地系统权限,只要在指定NFS客户端操作挂载/v/video或/video目录,就可以将数据轻松地存取到NFS服务器端的/video目录。
客户端挂载NFS后,本地挂载基本信息显示如下:

image.png

从挂载信息来看,和本地的磁盘分区几乎没什么差别,只是文件系统对应列的开头是以IP地址开头的形式了。
NFS系统是通过网络来进行数据传输的,因此NFS会使用一些端口来传输数据,那么,NFS到底使用哪些端口来进行数据传输呢?NFS服务两次重启向RPC服务注册的端口列表结果对比如下图:

NFS服务启动后的端口对比

由上面的实际测试得知,NFS在传输数据时使用的端口会随机选择。那么,NFS客户端是怎么指导NFS服务器端使用的是哪个端口的呢?
答案是通过RPC(Remote Procedure Call,远程过程调用)协议/服务来实现,这个RPC服务的应用在门户级的网站有很多,如百度。

2. 什么是RPC

因为NFS支持的功能相当多,而不同的功能会使用不同的程序来启动,每启动一个功能就会启用一些端口来传输数据,因此,NFS的功能所对应的端口无法固定,它会随机取用一些未被使用的端口作为传输之用。
因为端口不固定,这样一来就会造成NFS客户端与NFS服务器端的通信障碍,因为NFS客户端必须要知道NFS服务器端的数据传输端口才能进行通信,才能交互数据。
要解决上面的困扰,就需要通过远程过程调用RPC服务来帮忙了,NFS的RPC服务最主要的功能就是记录每个NFS功能所对应的端口号,并且在NFS客户端发出请求时将该端口和功能对应的信息传递给请求数据的NFS客户端,从而确保客户端可以连接到正确的NFS端口上去,达到实现数据传输、交互数据目的。这个RPC服务类似NFS服务器端和NFS客户端之间的一个中介,NFS工作流程如下图所示:

NFS工作流程图

这就好比我们要找房子,这里的我们就相当于NFS客户端,中介介绍房子,中介就相当于RPC服务,房子所有者房东就相当于NFS服务,租房的人找房子就要找中介,中介要预先存有房东的信息,才能将房源信息高速租房的人。
那么RPC服务又是如何知道每个NFS端口的呢?
当NFS服务器端启动服务时会随机取用若干端口,并主动向RPC服务注册取用的相关端口及功能信息,如此一来,RPC服务就知道NFS每个端口对应的NFS功能了,然后RPC服务使用固定111端口来监听NFS客户端提交的请求,并将正确的NFS端口信息回复给请求的NFS客户端,这样一来,NFS客户端就可以与NFS服务器端进行数据传输了。
在启动NFS Server之前,首先要启动RPC服务(CentOS7环境下位rpcbind服务),否则NFS Server就无法向RPC服务注册了。另外,如果RPC服务重新启动,原来已经注册好的NFS端口数据就会丢失,因此,此时RPC服务管理的NFS程序也需要重新启动以重新向RPC注册。要特别注意,修改NFS配置文件后是不需要启动NFS的,直接在命令行执行systemctl reload nfs或exportfs -rv即可使修改的/etc/exports生效。

3. NFS的工作原理

NFS工作原理简图

当访问程序通过NFS客户端向NFS服务器端存取文件时,其请求数据流程大致如下:
1)用户访问网站程序,由程序在NFS客户端上发出存取NFS文件请求,这时NFS客户端(执行程序的服务器)的RPC服务(rpcbind服务)就会通过网络向NFS服务器端的RPC服务的111端口发出NFS文件存取功能的询问请求。
2)NFS服务器RPC服务找到对应已注册的NFS端口后,通知NFS客户端RPC服务。
3)此时NFS客户端获取到正确的端口,并与NFS daemon联机存取数据。
4)NFS客户端将数据存取成功后返回给前端访问程序,告知给用户存取结果,就完成了一次存取操作。
因为NFS的各项功能都需要向RPC服务注册,所以只有RPC服务才能获取到NFS服务的各项功能对应的端口号、PID、NFS在主机所监听的IP等信息,而NFS客户端也只能通过向RPC服务询问才能找到正确的端口。也就是说,NFS需要有RPC服务的写住才能成功对外提供服务。因此,无论是NFS客户端还是NFS服务器端,当要使用NFS时都需要首先启动RPC服务,NFS服务必须在RPC服务启动之后启动,客户端无须启动NFS服务,但需要启动RPC服务。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,911评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,014评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,129评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,283评论 1 264
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,159评论 4 357
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,161评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,565评论 3 382
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,251评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,531评论 1 292
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,619评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,383评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,255评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,624评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,916评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,199评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,553评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,756评论 2 335

推荐阅读更多精彩内容

  • 《鸟哥Linux私房菜》《老男孩Linux运维》 NFS介绍 NFS维基百科:网络文件系统(英语:Network ...
    Zhang21阅读 4,079评论 0 13
  • NFS 什么是NFS服务器 NFS就是Network File System的缩写,它最大的功能就是可以通过网络,...
    SRE1阅读 3,859评论 0 9
  • NFS简介 nfs是Network File System的缩写,中文意思就是网络文件系统。主要功能就是通过网络(...
    波波波波哥阅读 786评论 0 0
  • 第1章 存储与nfs存储概述 1.为什么用共享存储2.存储有哪些工具3.共享存储应用场景有哪些4.部署nfs共享存...
    被运维耽误的厨子阅读 2,363评论 0 6
  • 第二天回学校,阳就好像什么也 没有发生过一样。仔细看就会发现, 他眼窝深陷,不副萎靡不振的样子。 雪看...
    稻谷姐姐阅读 428评论 1 1