NFS服务介绍

article/2025/9/26 13:20:21

1. NFS服务介绍

1.1什么是NFS服务

NFS(Network File System)即网络文件系统,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样,也就是说客户端PC可以挂载NFS服务器所提供的目录并且挂载之后这个目录看起来如同本地的磁盘分区一样,可以使用cp、cd、mv、rm及df等与磁盘相关的命令。

1.2 NFS服务的优缺点

1.2.1优点

a.节省本地存储空间将常用的数据存放在一台服务器可以通过网络访问

b.简单容易上手

c.方便部署非常快速,维护十分简单

1.2.2缺点

a.局限性容易发生单点故障,及server机宕机了所有客户端都不能访问

b.在高并发下NFS效率/性能有限

c.客户端没用用户认证机制,且数据是通过明文传送,安全性一般(一般建议在局域网内使用)

d.NFS的数据是明文的,对数据完整性不做验证

e.多台机器挂载NFS服务器时,连接管理维护麻烦

2. NFS服务工作原理

2.1 NFS原理简单介绍

NFS Server服务器上设定/data目录被分享,而客户端可以通过internet将/data目录挂载到本地的挂载点(常用mnt)后,客户端就可以进入挂载点目录进行文件的读写。NFS客户端所开放的端口是随机的我们不知道,那该怎么办呢?那是不是就不能进行数据传输了呢?

2.2 RPC简单介绍

2.2.1什么是rpc服务

RPC(Remote Procedure Call)即远程过程调用。RPC 最主要的功能就是在指定每个 NFS 功能所对应的 port number ,并且回报给客户端,让客户端可以连结到正确的port上去。

2.2.2 RPC服务原理

a.执行顺序:1(注册端口)--à2(达成协议)-à3(直接建立联系)--à4(达成协议)--à5(建立连接)

b.那为啥rpc能够找到对应的port呢?这是因为当服务器在启动NFS时会随机取用数个port,并且主动的向RPC注册,因此RPC可以知道每个NFS的port对应的NFS功能,然后RPC又是固定使用port111来监听客户端的需求并汇报客户端的正确的port。

2.2.3 portmap

功能:主要是把RPC程序号转化为Internet的端口号。

特点:只在第一次建立连接时候帮助网络应用程序找到正确的port,当当双方正确连接时,端 口就和应用绑定,portmap就无用。相当于媒婆。

                   RPC:Remote Procedure Call,远程过程调用,如NFS

如:window—服务--

如打印机,是由你计算机上对应的程序去调用打印机上相应的程序来进行工作的。

二、部署

1、进程

rpc.nfsd        NFS守护进程

rpc.mountd        管理文件系统和权限

portmap        端口映射

uid,gid

2、常用目录和文件

/etc/exports

/usr/sbin/exportfs

/usr/sbin/showmount

/var/lib/nfs/*tab

etab        记录NFS分享出来的目录的完整权限设定值

xtab        记录曾经链接到此NFS主机的相关客户端数据

3、配置文件

/etc/exports

格式

输出目录        客户端 选项        [访问权限,用户映射,其他]   

输出目录:        需要共享的目录路径

客户端:        服务的用户对象

选项:        共享的权限,紧跟客户端列

例:

cat /etc/exports

/test *(ro)

#共享/test目录,*所有用户(ro)权限为只读权限

4、客户端

指定ip地址的主机:192.168.171.144

指定子网中的所有主机:192.168.171.0/24, 192.168.171.0/255.255.255.0

指定域名的主机:www.baidu.com

指定域中的所有主机:*.baidu.com

所有主机:*                                                张三                      李四 S

5、选项                                               root   

访问权限选项:

ro        只读

rw        读写

A

/test   

用户映射选项:(张三用了李四家的nfs服务,但是张三用root的身份在李四上面创建了一个文件,这个文件默认的所属用户所属组都是root,但是对于李四来说他可能将这个文件认为是自己服务端上的root创建的文件所以张三创建的这个root用户的文件在nfs上会默认映射为匿名用户和组。还有如果张三用redhat用户在李四上创建但是李四端就没有redhat用户,默认创建就不会显示为redhat了。)

no_all_squash                      对普通用户不映射(默认设置)

all_squash                将所有普通用户和组映射为匿名用户和组

root_squash                将root用户和组映射为匿名用户和组(默认设置)

no_root_squash        对root用户和组不映射

anonuid=xxx                将用户映射为服务器上的指定UID

anongid=xxx                将用户组映射为服务器上的指定GID

其他选项:

secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);

insecure:允许客户端从大于1024的tcp/ip端口连接服务器;

sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;

async:将数据先保存在内存缓冲区中,必要时才写入磁盘;

wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置);

no_wdelay:若有写操作则立即执行,应与sync配合使用;

subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);

no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;

案例一:

服务端

配置#vim /etc/exports

/data *(ro)                        :wq

#mkdir /data

配置完成后重启服务

#systemctl restart nfs

用以下命令来查看共享的nfs

#showmount -e 192.168.221.250  

Export list for 192.168.140.250:

/data *

关闭防火墙

#systemctl stop firewalld

客户端

#mount (服务端地址)192.168.140.250:/data /mnt

服务端

[root@r ~]# exportfs -r  重新读一遍

#ehco haha >> /data/haha

客户端

[root@hehe mnt]# ll /mnt

总用量 4

-rw-r--r--. 1 root root 5 2月  11 10:28 haha

注意:在客户端如果要删除haha文件需要在服务端的主配置文件更改为

data *(rw)

将ll -d /data 权限更改为如下

[root@r ~]# ll -d /data

drwxr-xrwx. 2 root root 17 2月  11 10:28 /data

然后在客户端删除/mnt/haha

在客户端写入文件

[root@hehe mnt]# echo hehe >> /mnt/hehe.txt

[root@hehe mnt]# ll /mnt

总用量 4

-rw-r--r--. 1 nfsnobody nfsnobody 5 2月  11 10:55 hehe.txt   root用户直接映射为匿名用户

如果是在客户端用普通用户创建文件在/mnt 在服务端查看/data的权限是客户端普通用户的uid,gid 如果在服务端有与客户端相对应的uid gid就显示用户名。

/data  *(rw,all_squash)

exportfs -r

练习:

架设一台NFS服务器,并按照以下要求配置

1、开放/nfs/shared目录,供所有用户查询资料

2、开放/nfs/upload目录作为192.168.171.0/24网段的数据上传目录,

并将所有用户及所属的用户组映射为nfs-upload,其UID和GID均为210

3、将/home/tom目录仅共享给192.168.171.144这台主机,并只有用户tom可以完全访问该目录

注意:tom是一个用户目录,并且在客户端创建tom用户一定与服务端的tom用户的uid/gid保持一致。

#案例配置示例

[root@localhost tom]# cat /etc/exports

/nfs/shared                *(ro)

/nfs/upload                192.168.171.0/24(rw,all_squash,anonuid=201,anongid=201)

/home/tom                192.168.171.144(rw)

B

/home/tom    700

Tom 1003 1003    

333

Nfs:     333

A                   B

Root   123           root   haha

B

Mount /test/

A

/3

abc 1003 1003


http://chatgpt.dhexx.cn/article/23p91wHB.shtml

相关文章

【ubuntu】nfs服务搭建

一、开篇 在嵌入式linux开发过程中,由于目标平台的资源限制,开发环境一般都不会放到目标板卡上(需要放在开发宿主机上),如果需要宿主机与目标板卡之间进行文件传输,该怎么办呢。这时候nfs就派生用场了。nf…

linux上搭建nfs服务

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

Linux的nfs服务

目录 一、NFS 1、介绍NFS 2、NFS服务的实现 3、NFS服务的特点 4、NFS服务的作用 二、NFS案例 1、安装RPC依赖和nfs服务(rpcbind、nfs-utils) 2、修改配置文件( /etc/exports ) 3、开启服务并查看端口 4、挂载查看共享 …

NFS服务详解

文章目录 一.NFS概述二.NFS工作原理2.1NFS工作流程2.2挂载原理 三.NFS服务部署3.1常用命令3.2服务器端配置3.3客户端配置3.4服务测试 四.总结 一.NFS概述 1.概述 NFS是一种基于TCP/IP 传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远…

格兰因果模型可以分析哪些东西_论文实证经验分享|VAR模型实操步骤(上)

VAR模型操作步骤指南 简单来说,VAR模型就是用模型刻画向量间的数量关系。它的适用前提可概括为以下两点:①能进行回归。②向量之间存在一定数量关系(统计意义上的因果关系-格兰杰因果检验)。而满足以上两点的条件则是数据平稳,否则会发生伪回归,且无法进行格兰杰因果检验。…

用神经网络修正系统误差笔记

用神经网络综合修正传感器静态误差的连接方法如下图所示: 即误差修正模型的输出z与被测非电量x成线性关系,且与各环境参数无关。 只要使误差修正模型, 即可实现传感器静态误差的综合修正。 通常传感器模型 f(x;t) 及其反函数是复杂的&…

多元线性回归与高斯误差模型的同源关系

机器学习的起点——线性回归 一、线性回归的地位 首先,线性回归中最基础的概念是一元线性回归模型。 在回归模型中,线性回归模型是最简单的。其具备两个优势:第一是线性回归模型适合于大数据。训练时消耗的计算资源较少。第二是模型本身具备…

用R语言做单方程的误差修正模型(ECM)

># 单方程误差修正模型案例分析 > ########################### > # 数据的生成 > set.seed(12345) > u<-rnorm(500) > x<-cumsum(u)#求累积和&#xff0c;返回一个变量&#xff0c;它的第i个元素是从U&#xff08;1&#xff09;到U&#xff08;i&…

单方程误差修正模型案例分析

单方程误差修正模型案例分析数据的生成set.seed(12345) u<-rnorm(500) x<-cumsum(u) y<-xu E-G协整估计及检验model.lm<-lm(y~x) summary(model.lm)Call: lm(formula y ~ x)Residuals:Min 1Q Median 3Q Max -2.65130 -0.65274 0.02012 0.60…

StataIC——协整检验与误差修正模型

一、简介 这篇博文是在博主写的上一篇《StataIC——数据描述性统计分析、平稳性检验、平稳化》的基础上的建立的传送门&#xff0c;这篇博文主要是做协整检验和误差修正模型。本篇博文是一篇关于线性回归的基本操作&#xff1b;时间序列的平稳性检验、协整检验和误差修正模型&…

误差修正ECM模型怎么分析?

在宏观计量经济研究中&#xff0c;通常会使用VAR模型研究多个时间经济变量之间的数量关系情况&#xff0c;当数据不平稳但满足同阶单整时&#xff0c;通常使用协整检验研究长期均衡关系。与此同时&#xff0c;还可使用误差修正模型ECM&#xff08;error correction model&#…

时间序列分析(13)| 误差修正模型、协整检验(完结篇)

本篇为「时间序列分析」系列推文的最后一篇。 1 协整的概念 「协整」&#xff08;cointegrated&#xff09;描述的是两个及以上时间序列变量之间的关系。 若一个时间序列变量的阶差分是平稳的&#xff0c;则称该变量为阶单整&#xff1b;若多个阶时间序列变量的线性组合的单整阶…

误差修正模型

误差修正模型通常作为协整模型的补充模型出现。协整模型度量解释的是序列间的长期关系,而误差修正模型解释的是序列之间的短期关系。 1.模型简介 误差修正模型,简称ECM模型,构造原理如下: 假设非平稳响应序列{yt}与非平稳输入序列{xt}之间具有协整关系,即: 则回归残差序…

时间序列研(part10)--误差修正模型

学习笔记&#xff0c;仅供参考&#xff0c;有错必纠 文章目录 时间序列误差修正模型F检验似然比&#xff08;LR&#xff09;检验W检验LM乘数检验LR, W和LM检验自相关的LM检验 时间序列 误差修正模型 在用“一般到特殊”方法建立模型时的&#xff0c;首先应对初始模型&#xff0…

pyspider框架之Tripadvisor酒店数据爬取

需求 网站入口&#xff1a;www.tripadvisor.com 网页下端&#xff0c;遍历点开进入所有城市链接&#xff1a; 点击后进入该城市的所有hotel 代码 #!/usr/bin/env python # -*- encoding: utf-8 -*- # Created on 2018-09-06 11:16:59 # Project: trip_hotelfrom pys…

爬取携程和蚂蜂窝的景点评论数据\携程评论数据爬取\旅游网站数据爬取

本人长期出售超大量微博数据、旅游网站评论数据,并提供各种指定数据爬取服务,Message to YuboonaZhang@Yahoo.com。同时欢迎加入社交媒体数据交流群:99918768 前言 为了获取多源数据需要到各个网站获取一些景点的评论信息和图片,首先选到了携程和蚂蜂窝这两个网站,将一些…

Python爬虫实战--TripAdvisor爬虫

目标站点分析 目标URL&#xff1a;https://www.tripadvisor.cn/Attractions-g60763-Activities-New_York_City_New_York.html#FILTERED_LIST 明确内容&#xff1a; 在图中&#xff0c;我们明确爬去的内容为&#xff1a;title&#xff0c;comment, cate&#xff08;即绿色框中的…

如何用Python从TripAdvisor抓取数十万条酒店评论

我从TripAdvisor抓取一些酒店评论&#xff0c;然后发现了一种从它们那里刮掉数十万条酒店评论的好方法。 让我们假设&#xff0c;例如&#xff0c;我们要从大加那利岛刮掉酒店评论。如果转到TripAdvisor&#xff0c;我们将看到URL为&#xff1a; https://www.tripadvisor.com…

美通企业日报 | 猫途鹰联手携程打造中国顶级旅行平台;强生战略合作阿里旗下Lazada...

今日看点 TripAdvisor与携程集团联手打造面向中国出境旅行者的顶级旅行平台。全球领先的旅游平台TripAdvisor&#xff08;猫途鹰&#xff09;宣布其中国子公司已与携程集团达成战略合作&#xff0c;以打造中国顶级的旅行计划和预订网站&#xff0c;为渴望探索世界的中国旅行者提…

Python爬取TripAdvisor

直接上代码&#xff1a; #爬取tripadvisor纽约市酒店超值排名#引入requests 获取html文件&#xff0c;才能从html获取信息 import requests #利用BeautifulSoup解析文件&#xff0c;获取想要的到的数据 from bs4 import BeautifulSoup #这段代码只用在获取等待&#xff0c;避免…