NFS共享存储 完整超详笔记(含原理+流程+命令详解+案例)

一、前置知识:集群网关架构流程(理解NFS场景)

1.1 正向业务访问流程(面试常考)

用户访问网站/服务的完整链路:

用户 → 防火墙 → 负载均衡LB → 代理节点Proxy → 缓存 → 后端数据库/存储(NFS)

  • 防火墙:过滤非法请求,只放行合法端口/IP

  • 负载均衡LB:根据节点状态,智能分发用户请求,避免单点压力过大

  • 代理Proxy(反向代理):代替用户向后端发起请求,隐藏后端真实节点

  • 缓存服务器

    • 第一次请求:缓存无数据 → 代理去后端数据库/存储取数据,同时写入缓存

    • 第二次请求:缓存有数据 → 直接返回,速度极快,减轻后端压力

  • NFS共享存储:统一存放后端业务文件、静态资源,多节点共用一份数据

1.2 关键词释义

  • Proxy 代理:代替用户发起请求,隐藏后端真实服务

  • Load Balance 负载均衡:流量分发、调度请求、高可用

  • Denied 拒绝:权限不足、策略拦截、访问被禁止


二、NFS 核心工作原理(必背)

NFS(Network File System)网络文件系统:实现Linux多主机文件共享,客户端可以像访问本地磁盘一样访问远程服务端目录。

2.1 NFS 依赖两大核心服务

  1. rpcbind(核心端口调度)

    1. 固定监听:111端口

    2. 作用:统一管理NFS所有动态端口,做"端口注册+请求调度"

  2. nfs(文件共享服务)

    1. 启动后会随机开启多个工作端口

    2. 主动把自己的端口信息注册到 rpcbind(111)

2.2 完整工作流程(必考)

  1. 服务端先启动 rpcbind,监听111端口

  2. 服务端再启动 nfs,把自身所有工作端口注册给 rpcbind

  3. 客户端发起NFS挂载/访问请求,先访问服务端 111端口(rpcbind)

  4. rpcbind 查询注册表,告诉客户端:可用的NFS工作端口

  5. 客户端再通过对应NFS端口,正式传输、读写共享文件


三、NFS 服务端部署完整流程(带命令作用+案例)

3.1 安装依赖包

复制代码

yum -y install rpcbind nfs-utils

命令作用:安装NFS运行必需的两个组件

  • rpcbind:端口注册调度服务

  • nfs-utils:NFS共享服务主程序

3.2 开机自启 + 立即启动服务

复制代码

systemctl enable rpcbind --now systemctl enable nfs --now

命令作用

  • enable:设置开机自启

  • --now:立刻启动服务(不用重启机器)

启动顺序必须注意:先rpcbind、后nfs(否则端口注册失败)

3.3 配置NFS共享文件(核心配置)

复制代码

vi /etc/exports

写入配置(标准企业案例):

复制代码

/data 192.168.91.0/24(rw,sync)

配置详解(逐段解释)

  • /data:服务端要共享的本地目录

  • 192.168.91.0/24:允许哪个网段的客户端挂载访问

  • rw:读写权限(read+write)

  • sync:同步写入(数据实时写入硬盘,安全,防止断电丢失)

3.4 服务端创建共享目录

复制代码

mkdir -p /data

作用 :创建被共享的目录,必须和 /etc/exports 里的路径一致

3.5 权限优化(写业务必须做)

NFS默认使用nfs用户运行,如需客户端可写入,必须授权:

复制代码

chown -R nfs:nfs /data

作用:把目录归属权交给NFS程序用户,解决客户端写入报错 Permission denied


四、NFS 客户端挂载流程(命令+作用+案例)

4.1 客户端也要安装工具

复制代码

yum -y install nfs-utils

作用:客户端需要nfs工具才能识别nfs文件系统、执行挂载

4.2 客户端创建本地挂载点

复制代码

mkdir -p /mnt/nfs_data

作用:本地空目录,用于对接远程NFS共享目录

4.3 执行远程挂载(核心命令)

复制代码

mount -t nfs 服务端IP:/data /mnt/nfs_data

命令拆解

  • mount:挂载命令

  • -t nfs:指定文件系统类型为nfs

  • 服务端IP:/data:远程共享路径

  • /mnt/nfs_data:客户端本地挂载路径

真实案例(可直接抄)

服务端IP:192.168.91.100

复制代码

mount -t nfs 192.168.91.100:/data /mnt/nfs_data


五、常用检查命令(排错必备)

服务端检查共享是否生效

复制代码

exportfs -v

作用:查看本机所有NFS共享目录和权限

客户端查看远程共享

复制代码

showmount -e 服务端IP

作用:查看服务端开放了哪些共享目录,排查挂载失败原因

客户端取消挂载

umount /mnt/nfs_data


六、最终总结(考试背诵版)

  1. rpcbind 111端口:负责注册、调度、分发NFS端口

  2. nfs服务:负责真正的文件读写共享

  3. 部署顺序:装包 → 启rpcbind → 启nfs → 写exports → 建目录授权 → 客户端挂载

  4. sync 安全同步写入,rw读写权限

  5. 客户端挂载后,读写本地/mnt目录 = 直接操作服务端/data共享目录

相关推荐
xcLeigh1 小时前
鸿蒙平台 NixNote2 富文本笔记应用适配实战:从 Linux 到 鸿蒙PC 的 Electron 迁移
linux·笔记·harmonyos·富文本·nixnote2·evernote
kdxiaojie1 小时前
Linux 驱动研究 —— SPI (2)
linux·运维·笔记·学习
星恒随风1 小时前
C++ 模板初阶:从泛型编程、函数模板到类模板,一篇打通基础概念
开发语言·c++·笔记·学习
LuminousCPP2 小时前
数据结构 - 单链表第二篇:单链表进阶操作
c语言·数据结构·笔记·链表
Zhan8611244 小时前
数据接口的序列号机制与丢包检测:西班牙行情数据IBEX指数实时行情接入笔记
大数据·数据结构·笔记·区块链
闪闪发亮的小星星12 小时前
开普勒三大定律
笔记
自传.13 小时前
尚硅谷 Vibe Coding|第一章 AI 编程基础理论 学习笔记
笔记·学习·尚硅谷·vibe coding
chase。15 小时前
【学习笔记】SimpleVLA-RL:通过强化学习扩展 VLA 训练
笔记·学习