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

nfs配置

1.NFS介绍

NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操 作系统可以共享彼此的文件。 NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文 件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用 上相当便利;

NFS挂载原理:

当我们在NFS服务器设置好一个共享目录/home/public后,其他的有权访问NFS服务器的NFS客户 端就可以将这个目录挂载到自己文件系统的某个挂载点,这个挂载点可以自己定义,如上图客户端A与 客户端B挂载的目录就不相同。并且挂载好后我们在本地能够看到服务端/home/public的所有数据。如 果服务器端配置的客户端只读,那么客户端就只能够只读。如果配置读写,客户端就能够进行读写。挂 载后,NFS客户端查看磁盘信息命令:#df –h。 既然NFS是通过网络来进行服务器端和客户端之间的数据传输,那么两者之间要传输数据就要有想 对应的网络端口,NFS服务器到底使用哪个端口来进行数据传输呢?基本上NFS这个服务器的端口开在

2049,但由于文件系统非常复杂。因此NFS还有其他的程序去启动额外的端口,这些额外的用来传输数据 的端口是随机选择的,是小于1024的端口;既然是随机的那么客户端又是如何知道NFS服务器端到底使 用的是哪个端口呢?这时就需要通过远程过程调用(Remote Procedure Call,RPC)协议来实现了!

RPC与NFS通讯原理:

因为NFS支持的功能相当多,而不同的功能都会使用不同的程序来启动,每启动一个功能就会启用 一些端口来传输数据,因此NFS的功能对应的端口并不固定,客户端要知道NFS服务器端的相关端口才 能建立连接进行数据传输,而RPC就是用来统一管理NFS端口的服务,并且统一对外的端口是111,RPC

会记录NFS端口的信息,如此我们就能够通过RPC实现服务端和客户端沟通端口信息。PRC最主要的功能 就是指定每个NFS功能所对应的port number,并且通知客户端,记客户端可以连接到正常端口上去。 那么RPC又是如何知道每个NFS功能的端口呢? 首先当NFS启动后,就会随机的使用一些端口,然后NFS就会向RPC去注册这些端口,RPC就会记录 下这些端口,并且RPC会开启111端口,等待客户端RPC的请求,如果客户端有请求,那么服务器端的

RPC就会将之前记录的NFS端口信息告知客户端。如此客户端就会获取NFS服务器端的端口信息,就会以 实际端口进行数据的传输了。 注意:在启动NFS SERVER之前,首先要启动RPC服务否则NFS SERVER就无法向RPC服务区注册, 另外,如果RPC服务重新启动,原来已经注册好的NFS端口数据就会全部丢失。因此此时RPC服务管理的

NFS程序也要重新启动以重新向RPC注册。特别注意:一般修改NFS配置文档后,是不需要重启NFS的, 直接在命令执行systemctl reload nfs或exportfs –rv即可使修改的/etc/exports生效

NFS客户端和NFS服务器通讯过程:

1. 首先服务器端启动RPC服务,并开启111端口

2. 服务器端启动NFS服务,并向RPC注册端口信息

3. 客户端启动RPC,向服务端的RPC服务请求服务端的NFS端口

4. 服务端的RPC服务反馈NFS端口信息给客户端。

5. 客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。

2. NFS软件包

NFS服务需要nfs-utils和rpcbind两个软件包,V10服务器默认已经安装

3. 配置NFS

NFS主配置文件:/etc/exports

NFS配置参数

4. NFS挂载参数:

4.1 NFS通用设置

soft/hard

软挂载方式挂载系统,若NFS请求超时,则客户端向调用程序返回错误;如,果使用硬连接方式则客户端一直重 新请求直至成功。默认为hard。

bg/fg

设置挂载失败后的行为方式。默认的fg方式将立刻退出返回错误状态,bg方式是退出前将产生一个子进程在后 台继续尝试挂载。

timeo=n

timeo=n 客户端重传请求前等待时间。对于基于TCP的NFS服务,默认等待重传时间为60s。使用TCP协议 时,NFS Client不执行任何超时backoff。对于UDP协议,client使用一个合适的算法,为常用的请求类型estimate合适的超时时间。但对不常用的请求类型使用timeo设置。如果timeo没有设置,不常用的请求类 型1.1秒以后重试。在每次重发后,NFS Client会将timeout时间加倍,直到最大的60秒。

retrans=n

客户端返回错误前的重传次数。默认为重传3次。retrans与soft参数一起使用时才有效。

retry=n

设定当网络传输出现故障的时候,尝试重新连接多少时间后不再尝试。默认的数值是10000minutes

resize=n/wsize=n

每个read/write命令字向服务器读取文件的最大字节数。实际数据小于或等于此值。resize/wsize必须是1024倍数的正整数,小于1024时自动设为4096,大于1048576时自动设为1048576。默认时,服务器和客户 端进行协商后设置。

async/sync

同步、异步挂载,客户端默认异步(async)。对于异步挂载,客户端下发的写数据会先缓存在内存中,达到 一定大小或者其他条件(与客户端设置,状态有关),再一起发往服务端。而同步挂载,每次下发的写数据马 上发到服务端。

acregmin/acregmax

设置NFS客户端缓存普通文件属性的最短时间和最长时间,单位为秒。超过此时间后对其进行更新。默认最短 时间是3s,最长时间是60s

acdirmin/acdirmax

设置NFS客户端缓存目录属性的最短时间和最长时间,单位为秒。超过此时间后对其进行更新。默认最短时间 是3s,最长时间是60s。

ac/noac

设置是否缓存文件属性。为了提高性能,NFS客户端缓存文件属性(默认ac),然后每隔一段时间去检查文件 属性后更新。在缓存有效期内,客户端不检测服务器上文件属性是否改变。默认为ac。

actimeo

将acregmin/acregmax/acdirmin/acdirmax四个参数设置为相同时间,单位为秒。

sharecache/nosharecache

设置客户端并发挂载同一文件系统时数据缓存和属性缓存的共享方式。设置为sharecache时,多个挂载共享 共享同一缓存。设为nosharecache时,每个挂载各有一个缓存。默认为sharecache。

resvport/noresvport

设置连接服务器是否使用保密源端口。默认的resvport设置保密端口,noresvport设置为非保密端口。内 核2.6.28及以后版本支持。

lookupcache=mode

设置内核管理给定挂载点的目录项缓存方式。其中包括all/none/pos几种方式。客户端缓存LOOKUP命令字 请求结果。如果请求的目录项在服务器上,则返回结果为正,否则为负。all的管理方式是在父目录缓存的属 性失效前客户端缓存这两种目录项;pos是在父目录缓存的属性失效前客户端缓存结果为正的查询结果,总是 重新验证结果为负的查询结果。none总是重新验证目录缓存项。默认为all管理方式,内核2.6.28及以后版 本支持。

intr/nointr

设置是否允许信号中断挂载点的文件操作。如果指定intr,当NFS操作被信号中断时系统返回EINTR。指定nointr,信号不会中断NFS文件操作。默认为nointr。指定intr时,通常同时使用soft选项,防止数据损 坏。内核2.6.25及以后不再支持。

cto/nocto

设置是否使用“关闭打开”缓存一致的特性。通常客户端打开文件时检查是否存在以及是否有权限,当关闭文件 时刷新更改。当设置为nocto时,客户端使用非标准的试探来检查服务器上文件是否改变,对于只读和文件更 改较少时情形有助于提高性能。

4.2 对NFS(NFS2/NFS3)有效的选项

proto=transport

客户端向服务器发起传输请求使用的协议,可以为UDP或者TCP。未指定时,mount命令选择服务器支持的协 议

4.3 对NFS4有效的选项:

proto=transpro

客户端向服务器发起传输请求使用的协议,可以为UDP或者TCP。未指定时,选用TCP。

port=n

指定服务器NFS服务端口。如果NFS服务端口不在port上,则mount请求失败。未指定时,客户端使用NFS标 准的2049号端口。指定为0时,客户端选用服务器rpcbind服务支持的端口。

5. 范例

5.1 共享/nfs目录给192.168.1.0网段(完整范例)

服务器:

客户端:

5.2 客户端挂载192.168.1.164服务器的nfs目录,当网络质量不好时,客户端不会 因此卡顿(客户端挂载参数)

客户端

相关文章:

nfs配置

1.NFS介绍 NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操 作系统可以共享彼此的文件。 NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文 件系统中,而在本地端的系统中来看&#…...

说话人识别声纹识别CAM++,ECAPA-TDNN等算法

参考:https://www.modelscope.cn/models?page=1&tasks=speaker-verification&type=audio https://github.com/alibaba-damo-academy/3D-Speaker/blob/main/requirements.txt 单个声纹比较可以直接modelscope包运行 from modelscope.pipelines import pipeline sv_pi…...

某平台简单尝试一次密码逆向

1、查看表单数据 发现密码加密 2、控制台搜索password 发现他在欺负我看不懂拼音 3、第一次断点调试失败 断点后随便填写账号密码登录,发现失败 4、控制台搜索 jiami 又找到了一个函数 5、断点成功 重新登录后断点成功 jiami function(password) {var e passw…...

微信号绑定50个开发者小程序以后超额如何删除不用的

我们在开发微信小程序的时候,当前开发者工具登录的必须是该小程序的开发者才能进行小程序的开发,添加开发者的步骤是: 添加开发者 1、进入微信开放平台,然后扫码进入管理平台 2、找到下图所示位置 3:、输入要添加的微信账号&am…...

【Cheat Engine7.5】基础教程第三关(步骤4)

文章目录 一、简介二、操作步骤2.1、加载进程2.2、查找健康数据2.2.1、首次扫描(单浮点数100)2.2.2、点击打我,再次扫描数值97.112.2.3、修改数据值为50002.2.4、测试正常 2.3、查找弹药数据2.3.1、双浮点数1002.3.2、点击开火2.3.3、修改数据2.3.4、测试 2.4、通关…...

141. 环形链表 --力扣 --JAVA

题目 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置&#xf…...

电子元器件的结温壳温与环境温度经验总结

🏡《电子元器件学习目录》 目录 1,概述2,温度定义2.1结温2.2壳温2.3环境温度3,换算与设计经验原则3.1经验原则3.2换算公式3.2.1,结温与环境温度3.2.2,结温与壳温4,总结1,概述 随着电路功能和性能的提升,单位电路板面积内的电子元器件越来越密集,电子元器件的温度成为…...

Spring Gateway基础知识总结

本文主要总结Spring Gateway的基础用法,内容包括网关、Spring Gateway工作流程、Spring Cloud Gateway搭建、路由配置方式、负载均衡实现、断言工厂这几个部分 目录 1. 网关 1.1 网关介绍 1.2 网关对比 1.3 Spring Gateway 1.4 核心概念 1.6 总结 2. Spring …...

NFS文件系统共享服务器实战

架设一台NFS服务器,并按照以下要求配置 准备 两台Linux虚拟机一台作为服务端server,一台作为客户端client server IPV4:192.168.110.136/24 client IPV4:192.168.110.134/24 两台服务器都需要关闭防火墙和seLinux 服…...

CSS的概念和基本用法

CSS的作用: 页面美化和布局控制。 1.概念: Cascading Style Sheets 层叠样式表。 层叠:多个样式可以作用在同一个html的元素上,同时生效。 2.好处: (1).功能强大 (2).将内容展示和样式控制分离 * 降低耦合度&#xf…...

万字详解Java的三大特性:封装 | 继承 | 多态

前言:面向对象程序设计的三大特征就是:封装,继承,多态。在前文介绍了类和对象后,我们就可以继而学习什么是封装,怎么用类的子类来实现继承和多态 目录 一.面向对象的特性 1.封装性 2.继承性 3.多态性…...

TensorFlow学习笔记--(1)张量的随机生成

张量的生成 如何判断一个张量的维数:看张量的中括号有几层 0 1 2 :零维数列 [2 4 6] : 一维向量 [ [1 2 3] [4 5 6] ] : 二维数组 两行三列 第一行数据为 1 2 3 第二行数据为 4 5 6 以此类推 n维张量有n层中括号 tf.zeros(%指定一个张量的维数%) 生成一…...

如何防止IP和账户关联?

在当今信息时代,个人隐私安全变得尤为重要。保护个人IP地址和账户的隐私是防止隐私泄露、信息泄漏以及支付安全等问题的关键。VMLogin虚拟浏览器作为一种隐私工具,可以帮助您解决问题。本文将为您介绍如何使用它来保护隐私安全和防止IP和账户关联。 一、…...

进入网络安全行业有哪些大公司推荐

随着互联网的普及和数字化进程的加速,网络安全问题日益凸显。从个人信息的泄露到国家基础设施的被攻击,网络安全已经不再只是一个技术问题,而是关乎到每个人、每个企业和国家的核心利益。在这场没有硝烟的战争中,一些大公司凭借其…...

OpenHarmony 社区运营报告(2023 年 10 月)

● 截至 2023 年 10 月,OpenHarmony 社区共有 51 家共建单位,累计超过 6200 名贡献者产生 24.2 万多个 PR,2.3 万多个 Star,6.1 万多个 Fork,59 个 SIG。 ● OpenHarmony 4.0 版本如期而至,开发套件同步升级…...

Mybatis二级缓存源码整理

添加配置mybatis-plus.configuration.cache-enabledtrue在mapper.xml文件中添加cache标签<cache size"10240" eviction"LRU"/>同一个事务中二级缓存不生效&#xff0c;会使用一级缓存&#xff0c;因为事务未提交。 执行流程部分 Configuration创建…...

如何在 HarmonyOS 对数据库进行备份,恢复与加密

数据库备份与恢复 场景介绍 当应用在处理一项重要的操作&#xff0c;显然是不能被打断的。例如&#xff1a;写入多个表关联的事务。此时&#xff0c;每个表的写入都是单独的&#xff0c;但是表与表之间的事务关联性不能被分割。 如果操作的过程中出现问题&#xff0c;开发者可…...

js实现向上、向下、向左、向右无缝滚动

向左滚动 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, ini…...

6 Hive引擎集成Apache Paimon

更多Paimon数据湖内容请关注&#xff1a;https://edu.51cto.com/course/35051.html 在实际工作中&#xff0c;我们通查会使用Flink计算引擎去读写Paimon&#xff0c;但是在批处理场景中&#xff0c;更多的是使用Hive去读写Paimon&#xff0c;这样操作起来更加方便。 前面我们…...

发布版本自动化记录版本功能方法

# 安装commitizennpm install --save-dev commitizen# 初始化Conventional Commits规范适配器npx commitizen init cz-conventional-changelog --save-dev --save-exact最后一步&#xff0c;需要在package.json中添加一个script"scripts": {..., // 此处省略其它配置…...

从外网打到内网:手把手教你用MSF+Socks代理穿透CFS三层靶机网络

内网渗透实战&#xff1a;三层网络环境下的代理与横向移动技术解析 在安全攻防演练中&#xff0c;内网渗透能力往往是区分初级与高级安全研究者的关键分水岭。当攻击者突破边界服务器后&#xff0c;如何在内网中横向移动、穿透多层隔离网络&#xff0c;成为实战中最具挑战性的环…...

AI开发烂尾病有救了!Anthropic推出Harness多Agent框架

Anthropic 把 GAN 的思路搬过来&#xff0c;搞了三个 AI Agent&#xff0c;组成了一个打工天团&#xff0c;分工明确&#xff0c;互相配合&#xff1a;Planner 导演规划&#xff0c;Generator 演员干活&#xff0c;Evaluator 影评人挑毛病。 你有没有过这种经历&#xff1f; 兴…...

从ESP32到HIFI5:一文搞懂Cadence Xtensa处理器家族那些事儿(含DSP指令集差异)

从ESP32到HIFI5&#xff1a;Cadence Xtensa处理器家族全解析 在嵌入式处理器领域&#xff0c;Xtensa架构以其独特的可配置性和扩展能力脱颖而出。作为Cadence旗下的核心产品线&#xff0c;Xtensa处理器家族涵盖了从通用微控制器到专用DSP的广泛解决方案。本文将深入剖析这一技术…...

别再只用Matplotlib了!科研论文配图,试试这3个更优雅的Python库(附代码对比)

科研论文配图进阶指南&#xff1a;超越Matplotlib的三大优雅选择 当你在深夜修改论文第N稿时&#xff0c;是否曾被审稿人那句"Figures need improvement"刺痛过&#xff1f;科研图表不仅是数据的载体&#xff0c;更是学术表达的视觉语言。Matplotlib作为Python绘图的…...

从X86到鲲鹏:除了代码迁移,DevKit的性能分析和调优助手怎么用?

从X86到鲲鹏&#xff1a;DevKit性能调优实战指南 当应用从X86平台迁移到鲲鹏架构后&#xff0c;许多开发者会发现性能表现与预期存在差距。这种差异往往源于架构特性未被充分挖掘&#xff0c;或存在隐藏的内存问题。本文将深入解析如何利用鲲鹏DevKit中的四大核心工具——系统性…...

GetQzonehistory:用代码重拾QQ空间的时光记忆

GetQzonehistory&#xff1a;用代码重拾QQ空间的时光记忆 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 在数字化的时代浪潮中&#xff0c;我们的记忆逐渐被存储在云端平台&#xff0c…...

Excel插件开发实战:从零封装一个带自定义Ribbon的.xlam效率工具

Excel插件开发实战&#xff1a;从零封装一个带自定义Ribbon的.xlam效率工具 你是否经常在Excel中重复执行相同的VBA宏操作&#xff1f;是否希望将这些实用脚本打包成专业插件&#xff0c;一键调用并分享给同事&#xff1f;本文将带你从零开始&#xff0c;将一个普通的VBA宏升级…...

MySQL 8.0连接到底该不该用SSL?深入聊聊useSSL、truststore与服务器证书验证那点事

MySQL 8.0连接安全实战&#xff1a;从useSSL配置到证书验证的深度解析 当你在Java应用中看到那个熟悉的黄色警告——"Establishing SSL connection without servers identity verification is not recommended"时&#xff0c;是否曾思考过这行文字背后隐藏的安全哲学…...

如何用Sunshine搭建家庭游戏串流服务器:终极完整指南

如何用Sunshine搭建家庭游戏串流服务器&#xff1a;终极完整指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine Sunshine是一款强大的自托管游戏串流服务器&#xff0c;专为Moonl…...

如何让普通鼠标在macOS上获得超越触控板的体验:Mac Mouse Fix终极指南

如何让普通鼠标在macOS上获得超越触控板的体验&#xff1a;Mac Mouse Fix终极指南 【免费下载链接】mac-mouse-fix Mac Mouse Fix - Make Your $10 Mouse Better Than an Apple Trackpad! 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix 你是否曾为ma…...