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

Linux【实战篇】—— NFS服务搭建与配置

目录

一、介绍

1.1什么是NFS?

1.2客户端与服务端之间的NFS如何进行数据传输?

1.3RPC和NFS的启动顺序

1.4NFS服务 系统守护进程

二、安装NFS服务端

2.1安装NFS服务

2.2 创建共享目录

2.3创建共享目录首页文件

2.4关闭防火墙

2.5启动NFS服务

2.6配置文件的编写格式

2.7配置NFS服务

2.8服务端管理NFS相关命令

三、安装NFS客户端

3.1安装NFS客户端和httpd服务

3.2关闭防火墙

3.3启动服务

3.4查看NFS服务器共享的目录

3.5 将共享目录挂载到客户端目录

3.6浏览器访问客户端IP


一、介绍

1.1什么是NFS?

        NFS(Network File System)网络文件系统,是通过网络来进行服务端与客户端之间的数据传输,仅Linux/Unix系统之间共享文件的一种协议。NFS服务一般用来存储静态数据,例如:脚本、视频、图片等这些不会有太大变化的文件。

特性:

  • NFS的客户端为Linux;
  • 支持多节点同时挂载,以及并发写入;

1.2客户端与服务端之间的NFS如何进行数据传输?

RPC服务:Remove Procedure call 远程过程调用服务/协议

  1. 首先服务端会先启动RPC服务,并开放111端口,等待客户端的RPC服务进行连接;
  2. 其次服务端的NFS再启动,然后向RPC服务注册与客户端NFS连接使用的端口(大于1024),RPC服务会记录这些端口信息;
  3. 当客户端需要读取服务端NFS的共享目录时,客户端的RPC会连接服务端RPC服务开放的111端口,并向服务端RPC服务发送请求;
  4. 服务端的RPC会将记录的服务端NFS端口信息反回给客户端的RPC服务;
  5. 客户端的RPC再将接收到的端口信息给客户端NFS;
  6. 客户端NFS再通过这些端口信息与服务端NFS进行数据传输;

通信原理图:

查看RPC服务管理的端口

rpcinfo -p IP地址

1.3RPC和NFS的启动顺序

        首先,一定是要先启动了RPC服务后才能启动NFS服务,否则NFS服务无法向RPC服务进行端口注册。请注意,如果RPC服务重新启动了,那么原来记录的NFS服务的端口信息都将全部丢失。因此NFS服务也需要重新启动,再向RPC服务进行端口注册。

特别注意:修改完NFS服务配置文件后,不需要重启NFS服务,直接重新加载配置文件即可systemctl reload nfs-server

1.4NFS服务 系统守护进程

nfs:它是基本的NFS守护进程,主要功能是管理客户端能否登录服务器;

rpcbind:主要功能是进行端口映射工作。当客户端尝试连接并使用RPC服务器提供的服务(如NFS服务)时,rpcbind会将所管理的服务的对应端口提供给客户端,从而使客户端可以通过该端口连接服务器。

二、安装NFS服务端

2.1安装NFS服务

yum install -y nfs-utils

2.2 创建共享目录

mkdir /webdata chmod o+w /webdata         # 赋予其它用户拥有写入权限

2.3创建共享目录首页文件

echo "NFS_test" 1> index.txt

2.4关闭防火墙

systemctl stop firewalld # 关闭防火墙

systemctl disable firewalld # 开机不自启动防火墙

setenforce 0 # 关闭selinux

2.5启动NFS服务

# 在启动NFS服务之前先启动RPC服务

systemctl start rpcbind         # 开启RPC服务

systemctl start nfs-server         # 开启nfs服务

systemctl reload nfs-server         # 重新加载nfs服务配置文件

systemctl restart nfs-server         # 重启nfs服务

systemctl stop nfs-server         # 关闭nfs服务

systemctl status nfs-server         # 查看nfs服务

2.6配置文件的编写格式

NFS服务的配置文件为:/etc/exports

/etc/exports 配置文件的内容格式:

/共享目录 客户端1(访问权限,用户映射,其它) 客户端2(访问权限,用户映射,其它)

a.共享目录:共享目录是指NFS服务器共享给客户端的目录;

b.客户端:客户端是指的网络中可以访问NFS服务器共享目录的主机;

客户端常用指定的方式

  • 指定某一个主机:192.168.1.1;
  • 指定子网中所有的主机:192.168.1.0/24;
  • 指定域名主机:www.baidu.com;
  • 指定域名中的所有主机:*.baidu.com;
  • 任何主机都能访问:*;

c.设置共享目录的访问权限

  • 共享目录访问权限为只读:ro;
  • 共享目录访问权限为读写:rw;

d.用户映射

  1. root_squash:NFS客户端root用户创建的文件/目录所有主、所有组,被服务端映射成匿名用户(nfsnobody);(默认选项)
  2. no_root_squash:NFS客户端root用户创建的文件/目录所有主、所有组,保留为root用户;
  3. all_squash:NFS客户端任何用户创建的文件/目录所有主、所有组,被服务端映射成指定的匿名用户;
  • anonuid=xxx:映射成服务端指定的所有主;
  • anongid=xxx:映射成服务端指定的所有组;

e.其它选项

工作常用sync(同步传输);

2.7配置NFS服务

vim /etc/export

# 添加以下内容

/webdata 192.168.157.0/24(rw)

注释

  • /webdata 指的是共享的目录
  • 192.168.157.0/24 指的是允许访问NFS服务器的客户主机网段
  • rw 指的是客户端拥有读写权限

2.8服务端管理NFS相关命令

命令:exportfs

-a:全部挂载或全部卸载 /etc/exports中的内容;

-r:重新挂载/etc/exports中的内容;

-u:取消一个或多个目录的共享;

-v:输出详细信息;

# 卸载所有共享目录

exportfs -au

# 重新挂载所有共享目录

exportfs -ar

# 查看服务器中所有的共享目录信息

exportfs -v

三、安装NFS客户端

3.1安装NFS客户端和httpd服务

yum install -y nfs-utils httpd

3.2关闭防火墙

systemctl stop firewalld # 关闭防火墙

systemctl disable firewalld # 开机不自启动防火墙

setenforce 0 # 关闭selinux

3.3启动服务

# 启动httpd服务

systemctl start httpd

# 启动rpc服务

systemctl start rpcbind

# 启动nfs服务

systemctl start nfs-server

3.4查看NFS服务器共享的目录

showmount -e 服务器IP

-e:查看NFS服务器共享的目录

3.5 将共享目录挂载到客户端目录

mount -t nfs 服务器IP:/共享目录名 /var/www/html

3.6浏览器访问客户端

将共享目录挂载到httpd网站服务的工作目录下 /var/www/html后,在浏览器中访问客户端IP,即可看到共享内容

相关文章:

Linux【实战篇】—— NFS服务搭建与配置

目录 一、介绍 1.1什么是NFS? 1.2客户端与服务端之间的NFS如何进行数据传输? 1.3RPC和NFS的启动顺序 1.4NFS服务 系统守护进程 二、安装NFS服务端 2.1安装NFS服务 2.2 创建共享目录 2.3创建共享目录首页文件 2.4关闭防火墙 2.5启动NFS服务 2.…...

Edge的使用心得与深度探索

Microsoft Edge 是微软推出的一款网页浏览器,基于 Chromium 开源项目开发。从 2020 年开始,Edge 浏览器经历了一次重大更新,采用了与 Google Chrome 相同的浏览器引擎,这使得它在性能、兼容性和扩展支持方面都得到了显著改善。以下…...

逆向案例二十八——红某点集登录接口逆向序

网址:aHR0cHM6Ly93d3cuaHJkanl1bi5jb20vIy9sb2dpbj9yZWRpcmVjdD0lMkZyZWFsVGltZUxpdmluZw 登录接口,发现两个参数加密,分别是pwd和sig,t很明显是时间戳。 观察pwd,发现很像md5加密,我输入的密码是123456,在在线加密网…...

我的创作纪念日20240418

机缘 我的技术博客起源于对编程的深深热爱和对知识的渴望。从一开始,我就被编程世界的无限可能所吸引,而这种热情也推动我开始了技术创作之旅。我创建博客的初衷有以下几点: 分享实战经验:在工作中,我遇到了许多技术…...

计算机视觉入门

计算机视觉是人工智能的一个分支,它涉及研究如何使计算机能够理解和解释图像和视频中的视觉信息。这个领域结合了计算机科学、工程学、神经科学和认知科学等多个学科的知识。以下是计算机视觉入门的一些关键点: 1. 基础概念 - **图像处理**:对…...

CTFHUB-技能树-Web前置技能-文件上传(前端验证—MIME绕过、00截断、00截断-双写后缀)

CTFHUB-技能树-Web前置技能-文件上传(前端验证—MIME绕过、00截断、00截断-双写后缀) 文章目录 CTFHUB-技能树-Web前置技能-文件上传(前端验证—MIME绕过、00截断、00截断-双写后缀)前端验证—MIME绕过有关MIMEMIME的作用 解题时有…...

Java面试题笔记(持续更新)

Java基础 java中的Math.round(-1.5)等于多少? Math的round方法是四舍五入,如果参数是负数,则往大的数如,Math.round(-1.5)-1,如果是Math.round(1.5)则结果为2 JDK和JRE的区别? JDK 是 Java Development ToolKit 的简称,也就是…...

格式化字符串漏洞学习笔记

简单介绍 格式化字符串漏洞和栈溢出有相似之处,但又有所不同,都是利用了程序员的疏忽大意来改变程序运行的正常流程。 1、格式化字符串的介绍 printf()、fprint()等print()系列的函数可以按照一定的格式将数据进行输出。 实例…...

用友NC avatar接口文件上传漏洞

产品简介 用友NC是一款企业级ERP软件。作为一种信息化管理工具,用友NC提供了一系列业务管理模块,包括财务会计、采购管理销售管理、物料管理、生产计划和人力资源管理等,帮助企业实现数字化转型和高效管理。 漏洞介绍 用友 NC avatar接口处…...

【Go语言快速上手(二)】 分支与循环函数讲解

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:Go语言专栏⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习更多Go语言知识   🔝🔝 Go快速上手 1. 前言2. 分支与循环2.1…...

动手写sql 《牛客网80道sql》

第1章:SQL编写基础逻辑和常见问题 基础逻辑 SELECT语句: 选择数据表中的列。FROM语句: 指定查询将要从哪个表中检索数据。WHERE语句: 过滤条件,用于提取满足特定条件的记录。GROUP BY语句: 对结果进行分组。HAVING语句: 对分组后的结果进行条件过滤。O…...

Node.js、Java、Python、PHP在构建BS系统时的特点比较

在现代软件开发领域,构建一个稳定、高效的B/S(浏览器/服务器)系统对于企业的信息化发展至关重要。Node.js、Java、Python和PHP是当下流行的几种后端开发技术,它们各自具有独特的特点和优势。本文将对这几种技术在构建B/S系统时的特…...

快速入门深度学习9.1(用时20min)——GRU

速通《动手学深度学习》9.1 写在最前面九、现代循环神经网络9.1 门控循环单元(GRU)9.1.1. 门控隐状态9.1.1.1. 重置门和更新门9.1.1.2. 候选隐状态9.1.1.3. 隐状态 9.1.3 API简洁实现小结 🌈你好呀!我是 是Yu欸 🌌 20…...

基于51单片机的步进电机调速系统设计

基于51单片机的步进电机调速系统 (仿真+程序+原理图+设计报告) 功能介绍 具体功能: 1.按键可以控制电机正、反转,加、减速,停止; 2.一位7段数码管实时显示档位&#xf…...

postcss概述

PostCSS是一个用于转换CSS的工具,它使用插件来处理CSS,并提供了一种方式来编写可扩展的CSS代码。其主要特点如下: 插件驱动:PostCSS的核心非常轻量级,大部分功能都是通过插件来实现的。这意味着用户可以根据项目的需求…...

【Proteus】51单片机对直流电机的控制

直流电机:输出或输入为直流电能的旋转电机。能实现直流电能和机械能互相转换的电机。把它作电动机运行时是直流电动机,电能转换为机械能;作发电机运行时是直流发电机,机 械能转换为电能。 直流电机的控制: 1、方向控制…...

JET毛选学习笔记:如何利用《实践论》学习实验

一、个人背景介绍 本人本科读的是预防医学专业(因为没考上临床),硕博连读(报名人少,我报了就得了)的时候专业是流行病与卫生统计学,除了学习流行病学、统计学(忘得差不多了&#xf…...

FinalShell 远程连接 Linux(Ubuntu)系统

Linux 系列教程: VMware 安装配置 Ubuntu(最新版、超详细)FinalShell 远程连接 Linux(Ubuntu)系统Ubuntu 系统安装 VS Code 并配置 C 环境 ➡️➡️➡️提出一个问题:为什么使用 FinalShell 连接&#xff0…...

Python零基础从小白打怪升级中~~~~~~~多线程

线程安全和锁 一、全局解释器锁 首先需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念。 GIL全称global interpreter lock,全局解释器锁。 每个线程在执行的时候都需要先获取GIL,保证同一时刻只…...

【机器学习300问】67、均方误差与交叉熵误差,两种损失函数的区别?

一、均方误差(Mean Squared Error, MSE) 假设你是一个教练,在指导学生射箭。每次射箭后,你可以测量子弹的落点距离靶心的差距(误差)。MSE就像是计算所以射击误差的平方后的平均值。它强调了每一次偏离靶心的…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...

NPOI操作EXCEL文件 ——CAD C# 二次开发

缺点:dll.版本容易加载错误。CAD加载插件时,没有加载所有类库。插件运行过程中用到某个类库,会从CAD的安装目录找,找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库,就用插件程序加载进…...

作为测试我们应该关注redis哪些方面

1、功能测试 数据结构操作:验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化:测试aof和aof持久化机制,确保数据在开启后正确恢复。 事务:检查事务的原子性和回滚机制。 发布订阅:确保消息正确传递。 2、性…...

Python 训练营打卡 Day 47

注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...

Vue 模板语句的数据来源

&#x1f9e9; Vue 模板语句的数据来源&#xff1a;全方位解析 Vue 模板&#xff08;<template> 部分&#xff09;中的表达式、指令绑定&#xff08;如 v-bind, v-on&#xff09;和插值&#xff08;{{ }}&#xff09;都在一个特定的作用域内求值。这个作用域由当前 组件…...

二维FDTD算法仿真

二维FDTD算法仿真&#xff0c;并带完全匹配层&#xff0c;输入波形为高斯波、平面波 FDTD_二维/FDTD.zip , 6075 FDTD_二维/FDTD_31.m , 1029 FDTD_二维/FDTD_32.m , 2806 FDTD_二维/FDTD_33.m , 3782 FDTD_二维/FDTD_34.m , 4182 FDTD_二维/FDTD_35.m , 4793...