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

news2025/9/21 1:38:47

目录

一、介绍

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,即可看到共享内容

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1592831.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【蓝桥杯】2024年第15届真题题目

试题 A: 握手问题 本题总分: 5 分 【问题描述】 小蓝组织了一场算法交流会议,总共有 50 人参加了本次会议。在会议上, 大家进行了握手交流。按照惯例他们每个人都要与除自己以外的其他所有人进 行一次握手(且仅有一次&a…

【数据恢复软件】:Magnet AXIOM V8.0

Magnet AXIOM V8.0重大更新 1、全新的UI设计 2、更快的相应速度 3、补全工件分析 4、支持亚马逊AWS云数据( 获取同一帐户或安全帐户上下文中的快照。 支持Windows实例、加密卷和超过1 TB的卷、具有多个卷的实例等等! ) 5、Bug修复 6、AI支持…

【QT+QGIS跨平台编译】099:【QGIS_CORE跨平台编译】—【错误处理:qgscoordinatereferencesystem.cpp编译不通过】

点击查看专栏目录 文章目录 一、错误信息二、原因分析三、错误处理3.1 qgscoordinatereferencesystem_legacy.h3.2 qgscoordinatereferencesystem.cpp一、错误信息 macOS操作系统中,Release环境下编译qgscoordinatereferencesystem.cpp,出现错误,详细信息如下: 二

【软件设计师】计算机软考下午题试题六,Java设计模式之简单工厂模式。

【软件设计师】计算机软考下午题试题六,Java设计模式之简单工厂模式。 代码如下: //简单工厂模式 public class SimpleFactory {public static void main(String[] args) {Product ProductAFactory.createProduct("A");ProductA.info();Produc…

LeetCode 2924.找到冠军 II:脑筋急转弯——只关心入度

【LetMeFly】2924.找到冠军 II:脑筋急转弯——只关心入度 力扣题目链接:https://leetcode.cn/problems/find-champion-ii/ 一场比赛中共有 n 支队伍,按从 0 到 n - 1 编号。每支队伍也是 有向无环图(DAG) 上的一个节…

Docker Image (镜像) 常见命令

Docker Image (镜像) 常用命令 docker images 功能:列出本地所有的镜像。如果镜像 ID 相同,但是 Tag 标签不同,也会被当作不同的条目被列出来。 语法: docker images [options] [REPOSITORY[:TAG]] 别名: docker ima…

使用Pandas实现股票交易数据可视化

一、折线图:展现股价走势 1.1、简单版-股价走势图 # 简洁版import pandas as pdimport matplotlib.pyplot as plt# 读取CSV文件df pd.read_csv(../数据集/格力电器.csv)data df[[high, close]].plot()plt.show() 首先通过df[[high,close]]从df中获取最高价和收盘…

本地PC安装eNSP Pro完成简单的WLAN实验

前言 上个月底华为更新一版eNSP Pro,新增了AC、AP、STA等设备,也就是说可以在eNSP中进行WLAN相关的实验了。之前写过一篇文章《将eNSP Pro部署在华为云是什么体验》介绍了怎么在华为云上部署eNSP Pro,这次使用本地PC机在虚拟机中安装eNSP Pr…

配置交换机端口安全

1、实验目的 通过本实验可以掌握: 交换机管理地址配置及接口配置。查看交换机的MAC地址表。配置静态端口安全、动态端口安全和粘滞端口安全的方法。 2、实验拓扑 配置交换机端口安全的实验拓扑如图所示。 配置交换机端口安全的实验拓扑 3、实验步骤 &#xff…

excel中能不能用substitute函数把文本中某个字符起始的数据全部替换?

希望将A2单元格中,以光交开始的字符全部替换,本以为可以用公式SUBSTITUTE(A2,"光交",""),好像*不起作用。 很可惜的是,不仅SUBSTITUTE函数不支持通配符,像LEFT、RIGHT、MID、REPLACE函数都不支持通…

2024年大唐杯官网模拟题

单选(出题角度很奇怪,不用太纠结) 5G NR系统中,基于SSB的NR同频测量在measconfig里最多可以配置( )个SMTC窗口。 A、3 B、4 C、1 D、2 答案:D 2个 5G 中从BBU到AAU需要保证( )Gbps…

DHCP服务器的高可靠、高可用+负载均衡配置

一、适用场景 1、DHCP地址池集中化的管理环境中(本例建立了200个C类网24位的地址池); 2、全网仅1台合法的DHCP服务器(要是它宕机全部断网,本例旨在提高服务器的可靠性、可用性,双DHCP服务器性能上负载均衡…

FastAPI - uvicorn设置 logger 日志格式

怎么将日志打印到文件 在main.py加入log_config“./uvicorn_config.json” import uvicornif __name__ "__main__":uvicorn.run("app:app", host"0.0.0.0", port8000, log_config"./uvicorn_config.json")uvicorn_config.json {&qu…

zookeeper和kafka消息队列

zookeeper zookeeper介绍 Zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目 zookeeper特点 zookeeper是由一个领导者(leader),多个跟随者(follower)组成的集群 Zookeepe集群中只要有半数以上节点存活,Zookeeper集群…

数字乡村探索:引领农村未来发展新方向——科技创新赋能乡村现代化与农民生活品质提升之旅

目录 一、数字乡村的内涵与特点 二、数字乡村的探索进展 三、数字乡村面临的挑战与机遇 四、数字乡村的未来发展方向与路径 五、数字乡村助力农村产业升级 六、数字乡村促进城乡融合发展 七、数字乡村激发农民创新创业活力 八、数字乡村提升农民获得感和幸福感 九、展…

遥感卫星:探索地球的科技之旅

遥感卫星是人类探索地球、理解地球、保护地球的重要工具,其发展历程承载了人类对地球的探索与认知的历程。从最初的概念到如今的高科技应用,遥感卫星技术的发展见证了人类科技的不断进步与创新。 初心萌芽: 遥感卫星的发展始于20世纪中叶&…

Eureka-搭建Eureka步骤

简介: Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实…

N-149基于微信小程序网上商城系统

开发工具:IDEA、微信小程序 服务器:Tomcat9.0, jdk1.8 项目构建:maven 数据库:mysql5.7 前端技术:vue、uniapp 服务端技术:springbootmybatisredis 本系统分微信小程序和管理后台两部分&a…

【系统分析师】操作系统部分

文章目录 1、进程状态2、前趋图3、PV操作4、死锁问题5、存储管理5.1 页式存储5.2 段式存储5.3 段页式存储5.4 页面置换算法 6、文件管理6.1 索引文件结构6.2 空闲存储空间管理 7、设备管理7.1数据传输控制7.2 虚设备和SPOOLING技术7.3 微内核操作系统7.4 嵌入式操作系统 说明&a…

Spring框架第一篇(Spring概述与IOC思想)

文章目录 一、Spring概述二、Spring家族三、Spring Framework四、IOC思想五、IOC容器在Spring中的实现 一、Spring概述 Spring 是最受欢迎的企业级 Java 应用程序开发框架,数以百万的来自世界各地的开发人员使用 Spring 框架来创建性能好、易于测试、可重用的代码。…