【云计算学习之路】学习Centos7系统:服务搭建(NFS)

news2026/5/24 12:58:02
文章目录【云计算学习之路】学习Centos7系统:服务搭建(NFS)前言一、NFS 核心原理与架构1.1 NFS 服务简介1.2 NFS 核心依赖与守护进程、端口机制1.2.1 基础依赖组件1.2.2 NFS 核心守护进程1.2.3 核心通信端口规则1.3 NFS 完整工作流程附原理图解1.4 常用 NFS 权限参数核心重点二、实验环境准备基础环境优化必做三、NFS 服务端完整部署3.1 安装依赖组件3.2 创建共享目录并配置权限3.3 配置 NFS 核心配置文件3.4 启动服务并设置开机自启3.5 服务端共享规则验证四、NFS 客户端挂载配置4.1 客户端安装工具4.2 客户端测试连通性4.3 手动挂载共享目录4.4 挂载验证与读写测试4.5 设置开机自动挂载五、常用运维命令5.1 服务端重载配置5.2 查看共享状态5.3 客户端卸载挂载六、常见故障排查6.1 showmount 报错Connection refused6.2 客户端挂载成功但无法写入文件6.3 开机挂载失败七、生产环境优化建议八、总结【云计算学习之路】学习Centos7系统:服务搭建(NFS)前言在云计算、服务器集群、分布式存储架构中文件共享服务是最基础、最核心的能力之一。相比于本地磁盘存储网络文件共享可以实现多台服务器数据统一读写、资源复用大幅降低集群部署的存储成本与运维复杂度。而NFSNetwork File System网络文件系统是 CentOS 体系下最常用的轻量级网络共享服务协议简单、部署便捷、兼容性极强广泛应用于中小企业服务器集群、云计算测试环境、业务数据同步、静态资源共享等场景。本文将基于CentOS 7系统从零完成 NFS 服务原理讲解、环境部署、服务端配置、客户端挂载、开机自启、权限调优、故障排查全流程实战适合云计算初学者、运维入门人员夯实基础服务搭建能力。一、NFS 核心原理与架构1.1 NFS 服务简介NFS 是Network File System网络文件系统的缩写由 Sun 公司于 1984 年推出是一款经典的分布式文件系统通信协议。其核心能力是打破设备与操作系统壁垒实现不同 Linux/UNIX 主机之间的跨网络文件共享客户端可像访问本地磁盘一样读写服务端共享目录是 Linux 运维中最基础、最常用的文件共享方案。初学者需重点掌握 NFS 与 RPC 的核心关系NFS 仅负责管理共享目录、定义文件访问权限不具备数据传输能力所有跨主机的数据交互均依赖 RPC远程过程调用协议实现。简单概括NFS 管规则RPC 传数据二者缺一不可服务端、客户端均需依赖 RPC 服务才能正常通信。在应用场景上NFS 轻量化、部署简单、原生兼容 Linux 系统适用于中小企业简易高可用文件共享、集群静态资源同步、测试环境数据统一存储等场景。但 NFS 可扩展性弱、原生高可用方案不完善不适配高并发、超大容量生产场景海量数据环境可替换使用 MFS、TFS、HDFS、GFS 等专业分布式文件系统。综合以上特性NFS 核心优势可总结为无需部署复杂数据库、无需额外认证、Linux 原生支持、传输稳定、资源占用低是中小型 Linux 集群轻量文件共享的首选方案。1.2 NFS 核心依赖与守护进程、端口机制CentOS 7 环境下 NFS 服务正常运行不仅依赖基础安装包还依赖 RPC 端口映射服务及专属守护进程同时存在固定端口与动态端口的区分是运维排查的核心要点详细说明如下1.2.1 基础依赖组件与前文一致NFS 必备两大核心组件nfs-utilsNFS 核心服务程序提供文件共享、权限控制、文件管理核心功能包含 NFS 专属守护进程rpcbindRPC 端口映射服务监听固定端口统一管理 NFS 各类动态端口实现客户端与服务端的通信对接1.2.2 NFS 核心守护进程NFS 启动后默认常驻两个核心守护进程分工明确共同支撑服务运行rpc.nfsdNFS 主守护进程核心作用是身份校验负责识别接入的客户端主机、校验客户端身份信息判断该客户端是否有权限连接 NFS 服务端rpc.mountdNFS 挂载管理守护进程负责解析服务端/etc/exports共享配置客户端连接成功后该进程会匹配客户端 IP 对应的权限规则管控目录挂载与文件访问权限1.2.3 核心通信端口规则NFS 与 RPC 通信分为固定端口和动态端口也是生产环境防火墙放行、故障排查的关键RPC 服务固定监听111TCP/UDP端口负责端口注册、查询与分发nfsd 进程NFS 核心数据传输端口固定2049TCP/UDPmountd 进程无固定端口NFS 启动后会默认从32768~65535高端口随机选取端口通信可通过修改/etc/nfsmount.conf配置文件指定固定端口适配防火墙严格放行场景1.3 NFS 完整工作流程附原理图解结合前文讲解的 NFS 守护进程、端口机制与 RPC 依赖关系本节通过原理架构图 标准化分步流程完整梳理 NFS 客户端与服务端的通信全过程清晰拆解端口发现、身份校验、权限匹配、数据交互全链路。1.查询端口信息 TCP/UDP:1112.返回 nfsd/mountd 端口3.身份校验 TCP/UDP:20493.权限匹配 动态端口4.读取 /etc/exports 配置4.读取 /etc/exports 配置5.双向数据读写交互客户端主机服务端 rpcbind端口映射服务服务端 rpc.nfsd客户端身份鉴权服务端 rpc.mountd挂载权限校验服务端共享目录/data/nfs_shareA原理图核心逻辑NFS 通信分为端口发现和数据交互两大阶段。先通过 RPC 111 端口解决动态端口寻址问题再通过 nfsd、mountd 双进程完成身份与权限双重校验最终实现跨主机文件共享。完整工作流程如下服务端初始化注册严格按照先 rpcbind、后 NFS的顺序启动服务rpcbind 监听 111 端口NFS 的 rpc.nfsd、rpc.mountd 进程主动向 RPC 服务注册自身端口与服务功能。客户端端口查询客户端需要挂载共享目录时首先访问服务端 RPC 111 端口查询 NFS 数据传输端口2049和挂载服务动态端口。端口信息响应服务端 rpcbind 校验客户端合法性后将注册好的 nfsd、mountd 端口信息返回给客户端。权限校验与数据交互客户端通过获取的端口连接服务端由rpc.nfsd校验客户端主机身份由rpc.mountd解析/etc/exports配置匹配对应权限校验通过后客户端即可正常读写服务端共享目录数据。1.4 常用 NFS 权限参数核心重点配置共享目录时权限参数直接决定服务安全性生产环境必须精准配置参数作用说明rw读写权限客户端可读写文件ro只读权限客户端仅可查看无法修改all_squash所有客户端用户均压缩为 nfsnobody 匿名用户生产推荐提升安全性no_root_squash客户端 root 用户不压缩拥有服务端目录最高权限测试环境使用生产禁止sync数据同步写入内存与硬盘数据安全性能稍低async数据异步写入先写内存再落盘性能高异常易丢数据生产最优组合rw,sync,all_squash测试环境组合rw,async,no_root_squash二、实验环境准备本次实战采用两台 CentOS 7 虚拟机关闭防火墙与 SELinux 规避基础报错适配学习与生产测试场景NFS 服务端CentOS 7IP 192.168.10.10NFS 客户端CentOS 7IP 192.168.10.20系统状态关闭防火墙、关闭 SELinux、网络互通基础环境优化必做关闭防火墙systemctl stop firewalld systemctl disable firewalld关闭 SELinuxsetenforce0sed-is/^SELINUXenforcing/SELINUXdisabled//etc/selinux/config三、NFS 服务端完整部署3.1 安装依赖组件服务端必须安装 nfs-utils 和 rpcbind 两个组件执行 yum 一键安装yuminstall-ynfs-utils rpcbind安装完成后可通过rpm -qa | grep nfs和rpm -qa | grep rpcbind验证安装成功。3.2 创建共享目录并配置权限自定义共享目录统一用于客户端挂载访问同时修改目录属主为 nfs 匿名用户避免权限拒绝# 创建共享目录mkdir-p/data/nfs_share# 修改目录属主、属组为nfsnobodychown-Rnfsnobody:nfsnobody /data/nfs_share# 配置基础权限chmod-R755/data/nfs_share3.3 配置 NFS 核心配置文件NFS 主配置文件为/etc/exports默认为空文件所有共享规则均在此配置。备份默认配置文件运维好习惯cp/etc/exports /etc/exports.bak编辑配置文件添加共享规则vim/etc/exports写入如下配置允许 192.168.10.0/24 网段所有客户端读写共享目录/data/nfs_share 192.168.10.0/24(rw,sync,all_squash)配置格式解析共享目录 允许访问网段(权限参数)网段可指定单IP、网段、全网段*3.4 启动服务并设置开机自启启动顺序先 rpcbind 后 nfs否则端口注册失败服务异常# 启动rpcbind并设置开机自启systemctl start rpcbind systemctlenablerpcbind# 启动nfs并设置开机自启systemctl start nfs systemctlenablenfs# 验证服务状态systemctl status rpcbind systemctl status nfs显示 active (running) 即为服务启动成功。3.5 服务端共享规则验证通过以下命令查看本机生效的 NFS 共享目录确认配置无误showmount-e输出结果/data/nfs_share 192.168.10.0/24代表服务端配置生效。四、NFS 客户端挂载配置客户端无需启动 NFS 服务仅需安装工具包即可远程挂载服务端共享目录。4.1 客户端安装工具yuminstall-ynfs-utils4.2 客户端测试连通性查看服务端可共享目录验证网络与权限连通正常showmount-e192.168.10.10若正常输出共享目录说明客户端与服务端通信正常。4.3 手动挂载共享目录客户端创建本地挂载点远程挂载服务端目录# 创建本地挂载目录mkdir-p/mnt/nfs# 远程挂载NFS共享目录mount-tnfs192.168.10.10:/data/nfs_share /mnt/nfs4.4 挂载验证与读写测试查看挂载状态df-h可看到 192.168.10.10:/data/nfs_share 已挂载到 /mnt/nfs。读写测试验证权限生效cd/mnt/nfstouchtest.txtechoNFS Share Testtest.txtcattest.txt文件创建、写入、读取正常代表 NFS 共享服务搭建成功。4.5 设置开机自动挂载手动挂载重启后失效生产环境需配置/etc/fstab实现开机自动挂载编辑开机挂载配置文件vim/etc/fstab添加如下内容192.168.10.10:/data/nfs_share /mnt/nfs nfs defaults,_netdev 0 0参数说明_netdev代表等待网络就绪后再挂载避免开机挂载失败。验证 fstab 配置无误避免开机故障mount-a无报错即为配置正常。五、常用运维命令5.1 服务端重载配置修改 /etc/exports 后无需重启服务直接重载生效exportfs-r5.2 查看共享状态# 查看本机共享列表showmount-e# 查看已连接客户端showmount-a5.3 客户端卸载挂载umount/mnt/nfs六、常见故障排查6.1 showmount 报错Connection refused原因rpcbind 服务未启动或启动顺序错误解决重启 rpcbind 和 nfs 服务严格遵循先 rpcbind 后 nfs 的启动顺序。6.2 客户端挂载成功但无法写入文件原因1共享目录权限不足未配置 nfsnobody 属主解决chown -R nfsnobody:nfsnobody /data/nfs_share原因2配置文件未添加 all_squash 参数权限不匹配解决修改 exports 权限为 rw,sync,all_squash 并重载配置。6.3 开机挂载失败原因开机网络未就绪就执行挂载解决fstab 中添加_netdev参数。七、生产环境优化建议权限最小化禁止使用 no_root_squash 参数避免客户端 root 权限越权操作服务端文件网段精准限制不使用 * 全网段开放仅放行业务所需服务器 IP/网段数据安全优先生产环境使用 sync 同步写入牺牲少量性能保障数据完整性定期备份配置备份 /etc/exports 配置文件避免配置误丢失防火墙放行生产环境不关闭防火墙放行 NFS 与 RPC 对应端口八、总结NFS 作为云计算、Linux 运维领域的基础核心文件共享服务具备部署简单、兼容性强、资源占用低的优势是中小企业集群数据共享、测试环境资源统一调度的首选方案同时也是后续学习分布式存储、K8s 集群存储持久化的重要前置技术。本文完整完成 NFS 原理解析、环境部署、权限配置、客户端挂载、开机自启、运维命令、故障排查与生产优化全流程实战梳理核心核心知识点如下服务依赖与启动规则NFS 无自主传输能力强依赖 RPC 协议与 rpcbind 服务必须遵循「先 rpcbind、后 NFS」的启动顺序否则端口注册失败、服务通信异常。权限配置核心/etc/exports 权限参数决定服务安全性生产环境优先使用 rw,sync,all_squash 组合杜绝 root 权限越权风险。目录权限适配共享目录必须授权 nfsnobody 属主属组否则会出现客户端挂载成功但无法读写的权限报错。熟练掌握 NFS 服务的搭建、权限调优与故障排查可快速解决集群文件共享、业务数据统一存储的基础运维场景为后续云计算高阶技术学习筑牢坚实基础。开机挂载避坑fstab 配置开机自动挂载必须添加 _netdev 参数确保网络就绪后再执行挂载规避开机挂载失败问题。

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

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

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…