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共享目录

相关推荐
XGeFei8 小时前
【AI应用/Agent智能体搭建平台2】Dify——自部署
人工智能·笔记·学习
祈禾9 小时前
Redis三大缓存问题与分布式锁
运维·数据库·redis·笔记·分布式·缓存
IT古董12 小时前
【MES学习笔记系列】MES 厂商与产品对比
笔记·学习
wangyue_msn_8612 小时前
Agent知识学习笔记——03 RAG
笔记·学习·ai编程
嘶哈哈哈12 小时前
# 异构十电机机架数学建模:从单电机力矩到受约束控制分配
笔记
呱呱巨基13 小时前
Linux 查找命令
linux·笔记·学习·查找命令
zhangrelay14 小时前
ROS 2 Lyrical 第4章 URDF机器人建模与Gazebo Garden仿真
linux·笔记·学习·ubuntu·机器人·ros2
疯狂打码的少年14 小时前
【数据结构】串的模式匹配:KMP算法(重点)
数据结构·笔记·算法
一米阳光866114 小时前
软考(中级)软件设计师核心笔记(8)数据结构——线性结构、数组、矩阵
数据结构·笔记·职场发展·软考·软件设计师·中级职称
疯狂打码的少年16 小时前
【数据结构】树的基本概念与二叉树定义
java·数据结构·笔记·算法