NFS详细介绍

2023-11-08

NFS介绍

网络文件系统(network files system)简称NFS是一种基于TCP传输协议的文件共享习通。
NFS的CS体系中的服务端启用协议将文件共享到网络上,然后允许本地NFS客户端通过网络挂载服务端共享的文件。
应用场景:
为web服务器作为视频,图片资源的服务器。域用户家目录服务器。内容文件存储服务器。

NFS部署

安装:
yum install nfs-utils -y
启动:
systemctl status rpcbind.server 确保rpc启动
systemctl start nfs 启动nfs
systemctl enable nfs 确保开机启动
验证:
systeam is-active nfs
配置共享文件
vim /etc/exports
共享格式: 共享目录绝对路径 授权的ip或网段(权限1,权限2)
权限说明

权限 用途
ro 只读
rw 读写访问
sync 客户端写入数据同步到服务器后才会返回
no_root_squash 客户端root用户具有完全的权限
root_squash root用户权限被映射成服务端上的普通用户nobody
anonuid 指定匿名用户的UID
anongid 指定匿名用户的GID

NFS管理

通过exportfs对NFS进行管理
exportfs 管理NFS共享文件列表
-a 打开或取消所有目录共享
-o options 指定选项
-r 重读
-v 详细
通过showmount检查是否共享成果

NFS原理

在这里插入图片描述
当NFS服务器设置好一个共享目录,且设置好授权ip以及权限后,有访问权的客户机就可以将此目录挂载到自己某个挂载点。
例
既然NS的客户及服务器是基于TCP会话建立访问的,那么两者能够互访的前提是知道互相的IP和程序的端口号。
对于IP,服务器是设置对某一IP网段授权的;客户机是设置挂载某个网络目录的。所以他们IP互知。
对于端口号。NFS的端口号大概位于2049,但是因为文件系统非常复杂,往往的情况是端口号不固定(2049+的形式),以及NFS需要启动额外的端口,这些端口是1024以下的随机端口。那么客户机如何知道服务器的端口号呢?答案是:通过rpcbind实现

RPC机制介绍

rpc程序会随着nfs启用而自动开启,默认端口号为固定的111.
当nfs启动后,会随机占用一些端口。
然后nfs会找rpcbind进行注册,记录这些端口信息。
rpc的固定端口是111,当rpc记录到nfs的端口号后会沟通客户机的111端口,并且通知nfs的端口。
当客户端知道了rpc通知的nfs端口号,就可以不依靠rpc进行工作了。
在这里插入图片描述
1)首先服务器端启动RPC服务,并开启111端口
2)服务器端启动NFS服务,并向RPC注册端口信息
3)客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口
4)服务端的RPC(portmap)服务反馈NFS端口信息给客户端。
5)客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。
在这里插入图片描述
注:rpc重启后,nfs的注册信息会丢失,因此需要重启nfs完成注册。

利用autofs自动挂载
/etc/aotu.master 定义本地挂载点
/etc/auto.misc 配置挂载的文件系统 以及 选项

master
/服务器共享的目录 /子配置目录(可以自己创建)
子配置文件格式
【挂载点目录】【参数】【:/文件系统】

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NFS详细介绍 的相关文章

  • DHCP 服务器将任何 url 重定向到登陆页面

    我有一个 Linux DHCP 服务器 我需要将所有网络流量重定向到一个登陆页面 该页面将包含有关如何在网络上注册计算机的说明 无论用户输入什么 URL 都需要将用户重定向到网页 在 DHCP 服务器上 即 用户输入 google com
  • 访问单个结构体成员是否会将整个结构体拉入缓存?

    我一直在读乌尔里希 德雷珀的书 每个程序员都应该了解的内存知识 http lwn net Articles 250967 并在部分3 3 2 缓存效果的测量 http lwn net Articles 252125 页面中间 它给我的印象是
  • ELF 文件头

    关于 elf 文件头的一个简单问题 我似乎找不到任何关于如何在 elf 头中添加 更改字段的有用信息 我希望能够更改幻数并向标题添加构建日期 以及可能的其他一些内容 据我了解 链接器创建标头信息 但我在 LD 脚本中没有看到任何引用它的内容
  • 如何在 linux bash shell 中对字符串数组进行排序? [复制]

    这个问题在这里已经有答案了 例如 数组是 link2 pathname link1 pathname link3 pathname 我怎样才能得到像下面这样的数组 link1 pathname link2 pathname link3 pa
  • 编辑 CMakeLists.txt 以使用 -fPIC 进行编译

    我正在尝试为名为 libnifalcon 的 NOVINT Falcon 安装驱动程序 我使用 cmake 创建 make 文件 但是当我运行 make 时出现错误 Linking CXX shared library lib libnif
  • Ansible 权限问题

    我正在尝试将当前用户添加到系统中的某个组 然后执行需要该组权限的命令 我的剧本是这样的 name Add this user to RVM group sudo true user state present name vagrant ap
  • 如何保护Linux中的堆内存?

    我想将一块堆内存设置为只读 为此我尝试过memalign with mprotect 但是从 memalignment 中我能得到什么 memalign 从进程堆中分配内存 我想将堆的某些部分设为只读 有什么帮助吗 malloc gt mm
  • 如何在 ssh 命令中使用长输入参数正确转义 qsub 命令?

    我有一个复杂的 qsub 命令可以远程运行 PROJECT NAME TEXT TEST PROJECT PACK ORGANIZATION source organization MY ORGANIZATION CONTACT NAME
  • 编写 AMD64 SysV 程序集时使用哪些寄存器作为临时寄存器?

    我正在使用实现一个功能cpuid根据 AMD64 SysV ABI 进行组装 我需要在函数本身中使用 2 个临时寄存器 第一个用于累积返回值 第二个用作计数器 我的功能目前如下所示 zero argument function some c
  • 不同 Perl 安装造成的混乱

    我尝试升级 Perl 却把我的电脑搞得一团糟 我目前运行的是 RHEL6 5 64 位 事情是这样的 我安装了 perl 5 10 1 并且运行良好 这是安装好的 我可以从百胜看到它 我想安装 Padre 一个 Perl IDE 但这至少需
  • 在我的 Linux 机器上安装 lisp

    我使用 Vim 作为我的编辑器 Practical common Lisp 建议安装 Lispbox 我不知道如何使用 emacs 不知道如何用那个 T T 运行 lisp 代码 之后我找到了一个名为 limp vim 的 vim lisp
  • 从 Linux 内核模块的文件描述符获取文件名/路径?

    在Linux内核模块中 有没有一种方法可以从文件名 路径中获取文件名 路径 unsigned int fd 我知道这个答案 如何从内核模块内的文件描述符获取文件名 https stackoverflow com questions 8250
  • 哪个信号被传递到信号处理程序中死锁的进程

    我有一个来自调用信号处理程序后死锁的进程的核心转储 如何确定传送了哪个信号以及是谁发送的 GDB 为接收信号的线程生成的回溯如下 信号处理程序在第 15 帧中被调用 gdb bt 0 0x00007fa9c204654b in sys fu
  • 如何在没有 root 访问权限的情况下在 Ubuntu 上安装 Google Test?

    我正在尝试根据以下方式安装 Google Test这个答案 https stackoverflow com a 21314020 6560773在没有 root 访问权限的 Ubuntu 上 因为我需要在工作中学习和使用它 设法在我自己的用
  • c 中的分叉和管道过程

    所以我有一个项目要做 但我完全被难住了 我花了十个小时却一无所获 我并不是特别想要答案的代码 但是一些伪代码和正确方向的良好提示将有帮助 它分叉多个进程 k 命令行参数 通过管道连接 每个进程都连接到下一个进程 最后一个进程连接到第一个进程
  • Bash:更新文件中的变量

    我知道这是一个简单的答案 在找到答案之前我可能可以继续在谷歌上进行挖掘 但我的日程很紧 我希望能得到一个轻松的答复 我需要在安装时更新 ifcfg eth0 中的变量 换句话说 这就是需要发生的事情 以下变量需要更改 ONBOOT no B
  • 为什么我的 Linux 应用程序引入了错误的 .so 库?

    我正在构建一个使用 NetCDF C 库的应用程序 并且 NetCDF 正在引入 HDF 4 库 然而 它正在拉动wrongHDF 4 库 我的应用程序的链接方式如下 apps1 intel bin icpc gxx name apps1
  • “排序文件名 | uniq”不适用于大文件

    我可以从小文本文件中删除重复条目 但不能从大文本文件中删除重复条目 我有一个 4MB 的文件 文件的开头如下所示 aa aah aahed aahed aahing aahing aahs aahs aal aalii aalii aali
  • 更改子进程中的 iostream

    现在 我正在开发一个项目 其中我需要启动一个子进程来使用 C 在 Linux 中执行一个新程序 并且我需要重定向标准输入和输出 就像在 C 中一样 它们是cin and cout 到一个文件 这意味着在子进程中 标准输入和输出都是文件 子进
  • 是否可以允许jenkins访问只有root或某些特定程序可以访问的文件?

    我基本上想做的是允许 jenkins 访问我的 android sdk linux 文件夹和所有子目录 我的老板不想自己更改文件夹的权限 我应该在构建过程中这样做 我见过一些在构建过程中在执行 shell 中运行一些命令的示例 是否可以在该

随机推荐

  • 配置类安全问题学习小结

    目录 一 前言 二 漏洞类型 目录 一 前言 二 漏洞类型 2 1 Strict Transport Security Not Enforced 2 2 SSL Certificate Cannot Be Trusted 2 3 SSL A
  • ZYNQ PL与PS交互的最大带宽

    PL与PS的交互使用AXI HP接口可以达到最大的带宽 在典型的150MHz的时钟速度下 AXI HP接口的读写带宽最高均可达到1200MB s 在Zynq 7000系列的器件中包含有4个AXI HP接口 因此总的带宽最高可达到9600MB
  • 面试系列之线程篇

    线程和进程 进程是资源分配和调度的最小独立单元 线程是CPU调度的基本单元 一个进程可以包含多个线程 多个线程共享该进程的资源 线程可以看作是轻量级的进程 进程间通信的方式 volatile synchronized wait notify
  • 学习光线追踪(3)---相机

    0 简介 相机应该都用过吧 手机上面有 数码相机什么的 原理是相机里面有接收光线的元件 就是感光元件 然后将光信号转换成电信号 之后就变成了我们拍摄出来的图像 这里我们来模拟一个相机 只不过我们的相机不是像真实的那样接收光线 而是要从相机发
  • 深入浏览器之浏览器中的进程与线程

    1 进程与线程 进程 process 和线程 thread 是操作系统的基本概念 但是它们比较抽象 不容易掌握 为了不把概念性的东西说的太枯燥 这里我引用了阮一峰老师进程与线程的文章 用一个形象的例子来说明 首先 计算机的核心是CPU 它承
  • 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)

    在这里插入代码片输入一个链表的头节点 从尾到头反过来返回每个节点的值 用数组返回 示例 1 输入 head 1 3 2 输出 2 3 1 Definition for singly linked list public class List
  • Dart基础语言 — 布尔

    Dart基础语言 布尔 声明 为了代表布尔值 Dart 有一个名字为 bool 的类型 只有两个对象是布尔类型的 true 和 false 所创建的对象 这两个对象也都是编译时常量 bool bool a print a 只有 true 对
  • 涵盖大部分核心组件使用的 Spring Cloud 教程,一定要收藏哦!

    耗时2个多月 周更两篇的Spring Cloud 全套教程终于完成了 想学习 Spring Cloud 的小伙伴们抓紧了 简介 这是一套涵盖大部分核心组件使用的Spring Cloud教程 包括Spring Cloud Alibaba及分布
  • 3、Mybatis通过注解的形式实现增、删、改、查

    上一节介绍了通过XML配置的形式实现增 删 该 查 本节介绍通过注解的形式实现增 删 该 查 还是以数据库中的users表为例 1 首先建立users表对应的bean package com lzj mybaits test1 public
  • 使用 Stable Diffusion 生成的仿旧照片和二次元图片

    这几天在电脑上运行 Stable Diffusion 玩了玩 这是我机器上的测试页面 https qizhen xyz genimg 这个模型比 Dall E 的小很多 所以才能在配置不高的个人电脑上跑 而且 我的电脑也只能勉强生成小尺寸的
  • 2023深圳杯(东三省)数学建模D题思路 - 基于机理的致伤工具推断

    1 赛题 D题 基于机理的致伤工具推断 致伤工具的推断一直是法医工作中的热点和难点 由于作用位置 作用方式的不同 相同的致伤工具在人体组织上会形成不同的损伤形态 不同的致伤工具也可能形成相同的损伤形态 致伤工具品种繁多 形态各异 但大致可分
  • 基于JAVA+SpringBoot+Vue+ElementUI中学化学实验室耗材管理系统

    全网粉丝20W csdn特邀作者 博客专家 CSDN新星计划导师 java领域优质创作者 博客之星 掘金 华为云 阿里云 InfoQ等平台优质作者 专注于Java技术领域和毕业项目实战 文末获取项目下载方式 一 项目背景介绍 当前 中学的化
  • MATLAB的统计每个列向量的个数

    tabulate 变量名 例子 统计age列向量里面有多少个不同年龄的个数 tabulate age 下面还有很多太长了 没有截图
  • [Unity3D]关于Android真机调测Profiler

    Unity3D 关于Android真机调测Profiler 2013 08 25 13 28 50 转载 标签 android profiler adb it 分类 Unity3d U3D中的Profile也是可以直接在链接安卓设备运行游戏
  • 280场周赛

    6004 得到 0 的操作数 给你两个 非负 整数 num1 和 num2 每一步 操作 中 如果 num1 gt num2 你必须用 num1 减 num2 否则 你必须用 num2 减 num1 例如 num1 5 且 num2 4 应
  • 悬赏百万美金检测Deepfake假视频,数据集470G:比赛很久没这么壕

    2019 12 13 13 51 52 车栗子 发自 凹非寺 量子位 报道 公众号 QbitAI 谁说Kaggle比赛都那么穷 穷不穷 还要看做的是什么任务 比如 有左右两段视频 你能分辨哪个是修过的么 动图结尾公布了答案 右是原始视频 左
  • 刷视频课的脚本

    是不是不想上视频课 是不是被迫要上视频课 是不是视频课很长 是不是如果挂机短短几分钟就会出现自动暂停的情况 是不是还在为这些烦恼 那么 掌声 只需一台空置的电脑 这个代码可以为你解决这些烦恼 话不多说 上代码 import time imp
  • QT moveToThread线程理解

    一 moveToThread创建开启线程步骤 1 创建继承自QObject类 实现槽函数 2 将QObject类通过moveToThread方法移到QThread线程中 使QObject类依附于线程 3 连接信号槽 槽必须是QObject类
  • [LeetCode-70]-Climbing Stairs(爬楼梯,斐波那契数列问题)

    文章目录 题目相关 Solution 题目相关 题目解读 该题就是斐波那契数列问题 可以使用递归方法实现 原题描述 原题链接 You are climbing a stair case It takes n steps to reach t
  • NFS详细介绍

    NFS介绍 网络文件系统 network files system 简称NFS是一种基于TCP传输协议的文件共享习通 NFS的CS体系中的服务端启用协议将文件共享到网络上 然后允许本地NFS客户端通过网络挂载服务端共享的文件 应用场景 为w