当前位置: 首页 > news >正文

NFS - Network FileSystem网络文件系统的实现原理

文章目录

  • Pre
  • NFS简介
  • NFS共享数据结构图
  • NFS服务器的实现原理
  • 是否安装nfs
  • 安装配置NFS

在这里插入图片描述


Pre

NFS - MIPS架构下构建NFS共享目录服务


NFS简介

NFS的全称是Network FileSystem,即网络文件系统

NFS最初是由 Sun Microsytem 公司开发出来的,主要实现的功能是让网络上的不同操作系统之间共享数据。

  • NFS首先在远程服务器端(共享数据的操作系统)共享出文件或者目录

  • N然后远端共享出来的文件或者目录就可以通过挂载(mount)的方式挂接到本地的不同操作系统上

  • N最后,本地系统就可以很方便地使用远端提供的文件服务,操作起来像在本地操作一样,从而实现了数据的共享。


NFS共享数据结构图

在这里插入图片描述

NFS由两个部分组成,NFS服务器和NFS客户端。

  • NFS服务器端主要负责共享数据和相关的权限设定,
  • 而多个NFS客户端可以同时挂载共享出来的数据到自己指定的一个目录。

例如,NFS客户端A将NFS服务器共享的目录挂载到了自己指定的/home/share目录下,而NFS客户端B将共享的目录挂载到了/data目录。接着进入挂载点目录,就能看到从服务器端共享出来的文件了。

如果有足够的权限,还可以对这些共享资源进行复制、移动、修改、删除等操作。


NFS服务器的实现原理

NFS服务器启动后,都会开启对客户端连接对应的端口号,端口号的范围是1~1024,但每次启动NFS服务器,相应服务器端口号都各不相同。

为了确保客户端每次都能正确连接到NFS 服务器端,NFS通过一个远程过程调用(Remote Procedure Call,RPC)的协议来协助NFS服务器完成连接。

程序可以通过使用这种协议向网络中另一台计算机上的程序请求服务,在NFS中,RPC 最主要的功能就是指定并监控NFS守护进程对应的端口号,并将端口信息通知给客户端,让客户端可以连接到正确的端口上来,因此也可以说,NFS是一个RPC服务器。

需要注意的是,远程挂载NFS服务器的本地主机也需要同步启用RPC协议。

在这里插入图片描述

要使用NFS服务器,需要在NFS服务器端至少启用两个系统守护进程(daemons),分别是rpc.nfsd和rpc.mountd。

  • rpc.nfsd:用于分析和管理客户端PC是否有权限登录NFS服务器端主机,可以通过登入者的IP地址、用户ID等来判别。

  • rpc.mountd:用于管理NFS,在客户端PC通过rpc.nfsd的认证登录系统后,还必须要取得文件的使用权才能成功挂载进而使用文件。

要启动NFS服务器同样需要有两个系统服务才行,它们分别是portmap和nfs-utils。

  • portmap:RPC的 portmap管理器,它管理基于RPC服务的连接。
  • nfs-utils:提供rpc.nfsd及rpc.mountd这两个NFS守护进程的系统服务。

是否安装nfs

几乎所有的Linux发行版在安装系统时,都默认安装了NFS服务器。

这里以CentOS 7.1系统为例,介绍NFS的使用方法。首先通过下面的命令查看NFS服务器对应的rpm包是否安装。

[root@NFS Server ~]# rpm -qa|grep rpcbind
rpcbind-0.2.0-26.el7.x86_64 
[root@NFS Server ~]# rpm -qa|grep nfs  
nfs-utils-1.3.0-0.8.el7.x86_64
libnfsidmap-0.25-11.el7.x86_64

如果有类似上面的输出,表示NFS软件包已经安装。如果没有输出,就需要寻找NFS对应的rpm包,然后进行安装即可。


安装配置NFS

NFS - MIPS架构下构建NFS共享目录服务

在这里插入图片描述

相关文章:

NFS - Network FileSystem网络文件系统的实现原理

文章目录PreNFS简介NFS共享数据结构图NFS服务器的实现原理是否安装nfs安装配置NFSPre NFS - MIPS架构下构建NFS共享目录服务 NFS简介 NFS的全称是Network FileSystem,即网络文件系统 NFS最初是由 Sun Microsytem 公司开发出来的,主要实现的功能是让网络…...

C#【汇总篇】语法糖汇总

文章目录0、语法糖简介1、自动属性2、参数默认值和命名参数3、类型实例化4、集合4.1 初始化List集合的值4.2 取List中的值5、隐式类型(var)6、扩展方法【更换测试实例】7、匿名类型(Anonymous type)【待补充】8、匿名方法&#xf…...

高完整性系统工程(一): Safety Engineering, HAZOP Fault Tree Analysis

目录 1. 因果性不等同于相关性 2. HAZOP 2.1 学习HAZOP 2.2 HAZOP概览 2.3 Assessing Hazard Risks 评估 2.4 示例场景 2.5 HAZOP Guidewords 2.6 HAZOP Process 2.7 HAZOP Outcomes 2.8 HAZOP Summary 3. FAULT TREE ANALYSIS 3.1 Analysis Outcomes 1. 因果性不等…...

VGG16分类模型的网页界面(Flask,keras)

开发一个网页版的VGG16模型界面可以分为以下几个步骤: 步骤1:数据准备 首先要准备一组图片数据集,建议使用ImageNet数据集,该数据集包含超过1000个类别和100万张图像。您可以将ImageNet数据集转换为Keras的格式。如果您没有Imag…...

互联网摸鱼日报(2023-03-12)

互联网摸鱼日报(2023-03-12) InfoQ 热门话题 又拍云邵海杨:25年Linux老兵聊DevOps八荣八耻 快猫来炜:如何端好运维的饭碗 作业帮聂安:运维如何转型,听听作业帮的OPaS思路 CTO药方:如何搭建运…...

SpringBoot异常处理?用这两个就够啦!

​ 在日常项目中,我们难免会遇到系统错误的情况。如果对系统异常的情况不做处理,Springboot本身会默认将错误异常作为接口的请求返回。 GetMapping("/testNorError") public void testNorError() {try {throw new MyException(6000, "我…...

mysql-查询重复数据的条数-count

查询重复数据的条数 select name , count(*) from table group by name; 查询结果:查询表table中name相同重复的个数 补充:count的用法 查询一个表中总共多少行(多少条数据) select count (*) from table 小结 …...

【Java枚举类】使用enum关键词定义枚举类

使用说明 1.使用 enum 定义的枚举类默认继承了 java.lang.Enum类,因此不能再继承其他类 2.枚举类的构造器只能使用 private 权限修饰符 3.枚举类的所有实例必须在枚举类中显式列出(, 分隔 ; 结尾)。列出的 实例系统会自动添加 public static final 修饰 4.必须在…...

第十四届蓝桥杯三月真题刷题训练——第 8 天

目录 第 1 题:分数 题目描述 运行限制 代码: 第 2 题:回文日期 题目描述 输入描述 输出描述 输入输出样例 运行限制 代码: 第 3 题:迷宫 代码: 第 1 题:分数 题目描述 本题为填空题…...

鼎阳SDS2074X Plus免费“升级”(破解)备忘录

鼎阳SDS2074X Plus从基础参数来看,在一众国产示波器里并不出彩。但作为一款可以免费“升级”到【1】4通道2GSa/s的采样率,500MHz分析带宽,200Mpts存储深度的数字示波器(可惜原配的是200MHz的探头,500MHz的探头还是贵&a…...

【C++】C++标准模板库STL (一) string类的使用详解

前言 在前一章种我们介绍了C中的模板的使用,这是一种泛型编程,模板的使用能让我们减少大量的相似代码,减少我们的代码量与工作量,写出更加高效简洁的代码,模板如此好用,但还是要我们先出写一个泛型类或函数…...

如何用SpringBoot+Thymeleaf+Echart生成好看的柱状图,折线图,饼状图

一、前言 上篇文章我们用POI技术读取Excel并生成了相应的图表。但是实际的效果比较一般,因为本身WPS生成图表就比较简单,如果用程序操作远比人工耗时费力,效果远不如一些付费模板。如下图所示: 然后我就想到前端不是有一个简单易…...

LeetCode819. 最常见的单词(python)

题目 给定一个段落 (paragraph) 和一个禁用单词列表 (banned)。返回出现次数最多,同时不在禁用列表中的单词。 题目保证至少有一个词不在禁用列表中,而且答案唯一。 禁用列表中的单词用小写字母表示,不含标点符号。段落中的单词不区分大小写。…...

【深入理解C指针】经典笔试题——指针和数组

🔹内容专栏:【C语言】进阶部分 🔹本文概括:一些指针和数组笔试题的解析 。 🔹本文作者:花香碟自来_ 🔹发布时间:2023.3.12 目录 一、指针和数组练习题 1. 一维数组 2. 字符数组 …...

雷达散射截面

雷达散射截面(Radar Cross Section, RCS)是表征目标散射强弱的物理量。 σ = 4 π R 2 ∣ E s ∣ 2 ∣ E i ∣ 2 \sigma = 4\pi R^2 \frac{|E_s |^2}{|E_i|^2}...

希腊棺材之谜——复盘

文章目录梗概推导伪解答虽然花费6-8小时来看小说,是一件很奢侈的事情。但是再荒诞的事情终归有它背后的逻辑链条。这正如Ellery所坚持的那样,逻辑为王。希腊棺材之谜是Ellery Queen首次展露头角, 因此作者特地给他安排了3次伪解答和1次真解答…...

CentOS的下载和安装

文章目录前言一、CentOS的下载二、如何下载1.选择下载版本2.选择isos3.点击isos后,进入如下页面,接着点击X86_644.一般选择下面框住的进行下载三、安装软件选择设置接着进行分区设置设置网络和主机名前言 在学习Linux时,记录下CentOS的安装 …...

new bing的chatGPT如何解析英文论文pdf

昨天我的new bing申请下来了,有了聊天的界面: 但是解析pdf的英文文献,还是不行,没有对话窗口。就问了一下chatGPT,方案如下: 要使用New Bing解析PDF文献,你需要以下几个步骤: 1&a…...

学会这12个Python装饰器,让你的代码更上一层楼

学会这12个Python装饰器,让你的代码更上一层楼 Python 装饰器是个强大的工具,可帮你生成整洁、可重用和可维护的代码。某种意义上说,会不会用装饰器是区分新手和老鸟的重要标志。如果你不熟悉装饰器,你可以将它们视为将函数作为输…...

企业使用ERP的好处

ERP系统是企业管理信息系统的简称,它是以信息技术为手段,以物流、资金流、信息流为主线,以企业的核心业务流程为对象,建立的一套适用于企业管理的、高效的企业管理信息系统。它是通过科学方法和计算机信息技术,将企业运…...

GPU硬件操作强度与LLM推理效率优化实践

1. 硬件操作强度(HOI)与LLM推理效率的深度解析在GPU加速的大型语言模型推理场景中,我们常常遇到一个看似矛盾的现象:计算单元利用率不足的同时,显存带宽却成为瓶颈。这种现象的根源在于硬件操作强度(Hardwa…...

7个HTTP API分离关注点设计技巧:从理论到实战指南

7个HTTP API分离关注点设计技巧:从理论到实战指南 【免费下载链接】http-api-design HTTP API design guide extracted from work on the Heroku Platform API 项目地址: https://gitcode.com/gh_mirrors/ht/http-api-design 在API开发中,分离关注…...

解决Modelsim SE 10.6c仿真Vivado 2019乘法器IP核的“.vhd only”难题(附完整脚本)

解决Modelsim SE 10.6c仿真Vivado 2019乘法器IP核的“.vhd only”难题(附完整脚本) 在FPGA设计流程中,Xilinx Vivado与Mentor Modelsim的组合是许多工程师的首选工具链。但当Vivado 2019生成的乘法器IP核仅提供VHDL接口文件(.vhd)时&#xff…...

本地化AI编码助手codex-assistant:部署、实战与安全指南

1. 项目概述:一个本地化的AI编码助手最近在折腾一个挺有意思的开源项目,叫codex-assistant。简单来说,它就是一个能让你用自然语言直接驱动本地代码任务的工具。想象一下,你对着一个命令行窗口说“给我写个Python函数,…...

uni-app iOS后台运行 uni-app App如何实现后台定位或音乐播放

iOS上uni.startBackgroundTask基本无效,仅音频播放、定位更新、后台数据刷新三类能力合规;后台定位需manifest声明原生权限地理围栏事件;无声音频保活须onLaunch配置AudioSession并延迟播放。uni.startBackgroundTask 在 iOS 上基本无效&…...

别再手动折腾了!用Stack Builder一键搞定PostGIS 2.1 for PostgreSQL 9.2 (Windows 64位)

告别繁琐配置:用Stack Builder轻松部署PostGIS空间数据库 在Windows环境下配置PostgreSQL的空间扩展PostGIS,传统方式往往需要手动下载安装包、配置环境变量、执行SQL脚本等一系列操作。对于刚接触空间数据库的开发者来说,这个过程既耗时又容…...

从仿真到论文图表:手把手教你用FDTD参数扫描和Matlab处理WO3薄膜光学数据

从仿真到论文图表:FDTD参数扫描与Matlab数据可视化全流程解析 在光电材料研究中,WO₃薄膜因其优异的电致变色特性备受关注。当我们需要系统研究薄膜厚度对光学性能的影响时,FDTD Solutions的参数扫描功能配合Matlab的数据处理能力&#xff0c…...

从噪声中捕捉节拍:基于PLL的CDR电路如何重塑光通信数据流

1. 当光信号遇上噪声:CDR电路为何成为关键救星 想象一下你正在嘈杂的菜市场里试图听清朋友说话——周围此起彼伏的叫卖声就像光通信中的噪声,而朋友说话的节奏就是需要提取的时钟信号。这就是光接收机面临的真实困境:传输过来的NRZ信号往往带…...

python算法毕设课题100例

文章目录🚩 1 前言1.1 选题注意事项1.1.1 难度怎么把控?1.1.2 题目名称怎么取?1.2 开题选题推荐1.2.1 起因1.2.2 核心- 如何避坑(重中之重)1.2.3 怎么办呢?🚩2 选题概览🚩 3 项目概览题目1 : 基于协同过滤的…...

Cesium三维地形剖切与开挖:从原理到可复用组件封装

1. 为什么需要地形剖切与开挖功能? 在三维地理信息系统中,地形剖切与开挖是最常用的分析功能之一。想象一下,你正在规划一条地下隧道,或者需要分析某处地质构造,这时候如果能把地表"切开"查看内部情况&#…...