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

相关推荐
小c君tt几秒前
linux学习笔记1
linux·笔记·学习
ysu_03141 小时前
高数期末复习笔记
笔记
疯狂打码的少年1 小时前
【操作系统】段式存储管理与段页式存储管理
笔记
半导体守望者3 小时前
MKS C系列MFC CMA10 CMA50快速紧凑型手侧与PC联网教程软件驱动USB
经验分享·笔记·功能测试·自动化·制造
小c君tt4 小时前
QT笔记记录
开发语言·笔记·qt
2601_962440844 小时前
计算机毕业设计之jsp教室管理系统
java·开发语言·笔记·分布式·算法·课程设计·推荐算法
十月的皮皮8 小时前
C语言学习笔记20260703-牛牛与后缀表达式(逆波兰表达式)
c语言·笔记·学习
RainCity5 天前
Java Swing 自定义组件库分享(十二)
java·笔记·后端
LinXunFeng13 天前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github
闪闪发亮的小星星17 天前
高斯光以及高斯光公式解释
笔记