当前位置: 首页 > news >正文

Linxu实验五——NFS服务器

一.NFS服务器介绍

NFS服务器(Network File System)是一种基于网络的分布式文件系统协议,允许不同操作系统的主机通过网络共享文件和目录3。其核心作用在于实现跨平台的资源透明访问,例如在Linux和Unix系统之间共享静态数据(如视频、图片等

核心作用

  1. 跨平台文件共享:使不同操作系统的客户端能像访问本地磁盘一样操作远程文件。
  2. 简化存储管理:集中存储数据,客户端通过挂载点访问,降低多节点数据冗余2
  3. 权限控制:通过RPC注册的守护进程(daemons)管理客户端登录和操作权限1
  4. 扩展性支持:可结合quota等机制实现磁盘配额管理

工作原理

  1. C/S架构
    NFS采用客户端-服务器模型,服务端配置共享目录(如/home/public),客户端通过挂载命令将其映射到本地文件系统(如/mnt/nfs

  2. RPC依赖

    • NFS启动时需向RPC(Remote Procedure Call)注册服务信息,包括端口号和功能。
    • 客户端通过RPC查询可用服务,再与NFS服务端建立通信5
  3. 工作流程

    客户端请求 → RPC查询NFS服务 → 获取端口信息 → 建立NFS连接 → 读写远程文件

  4. 权限与虚拟文件系统

    • 服务端通过/etc/exports定义共享规则(如 192.168.88.0/24(rw,sync)5
    • 客户端挂载后,通过VFS(虚拟文件系统)层将远程操作转换为网络请求3

技术特点

特性说明
RPC依赖必须运行rpcbind服务实现动态端口分配15
权限控制通过nfsdmountd守护进程分别管理访问权限和文件操作1
配置灵活性支持IP白名单、读写模式(ro/rw)、数据同步策略(sync/async)5
版本兼容性主流版本包括NFSv3(广泛兼容)和NFSv4(增强安全性)4

二.NFS服务器搭建

1.安装NFS服务器软件

在Ubuntu上安装NFS服务器软件,可以通过以下命令完成

sudo apt update
sudo apt install nfs-kernel-server  //这条命令会安装NFS服务器的核心组件。

2. 创建共享目录

选择一个目录作为共享目录,或者创建一个新的目录。例如,创建一个名为sudo mkdir -p /home/www/nfs/shared的目录:

sudo mkdir -p /home/www/nfs/shared

然后,设置该目录的权限。根据实际需求,可以将该目录的所有者设置为nobody用户组,并设置适当的读写权限:

sudo chown nobody:nogroup /home/www/nfs/shared
sudo chmod 777 /home/www/nfs/shared

3.配置NFS共享

编辑NFS配置文件/etc/exports,以定义哪些目录需要共享以及哪些主机能够访问这些目录。使用以下命令打开/etc/exports文件:

sudo vim /etc/exports

在文件末尾添加如下行,表示将/home/www/nfs/shared目录共享给网络中的任何主机(假设你的NFS客户端IP范围是192.168.168.128/24,你可以根据需要调整,我这里直接用主机的):

/home/www/nfs/shared 192.168.168.128/24(rw,sync,no_subtree_check)
  • /home/www/nfs/shared:NFS共享的目录。
  • 192.168.168.128/24:允许访问的客户端IP地址范围,也可以使用具体的IP地址或域名。
  • rw:读写权限。
  • sync:同步写入数据,保证数据的安全性。确保所有写入操作在返回前完成
  • no_subtree_check:不检查父目录的权限,提高效率。 

4.导出NFS共享

使配置生效,运行以下命令:

sudo exportfs -a

5.启动NFS服务

启动并启用NFS服务,使其在启动时自动运行:

sudo systemctl start nfs-kernel-server
sudo systemctl enable nfs-kernel-server

6.配置防火墙(可选)

如果系统使用了防火墙,需要确保允许NFS服务的相关端口。例如,可以使用ufw命令来允许特定IP地址范围的访问:

sudo ufw allow from 192.168.168.128/24 to any port nfs

或者,如果希望允许所有网络上的主机访问NFS服务:

sudo ufw allow from any to any port nfs

7. 检查NFS共享状态

确认NFS服务器正在运行,并检查共享目录:

sudo exportfs -v

(未完待续)

相关文章:

  • 再度深入理解PLC的输入输出接线
  • 计算机网络:什么是Mesh组网以及都有哪些设备支持Mesh组网?
  • 网页五子棋对战测试报告
  • Backdrops 5.1.8| 每日更新高质量原创壁纸,解锁高级版,去除所有广告
  • Vision Transformer(ViT)
  • 小程序多线程实战
  • Excel里面怎样批量去掉字串包含的标点符号
  • Kotlin 内联函数深度解析:从源码到实践优化
  • 基于 Q-learning 的城市场景无人机三维路径规划算法研究,可以自定义地图,提供完整MATLAB代码
  • Best Video下载器——抖音视频去水印工具
  • AI日报 · 2025年5月10日|OpenAI“Stargate”超级数据中心项目掀起美国各州争夺战
  • 致远A8V5-9.0安装包(包含信创版)【附百度网盘链接】
  • 【ML-Agents】ML-Agents示例项目导入unity报错解决
  • 关于汇编语言与程序设计——单总线温度采集与显示的应用
  • 解决 SQL Server 2008 导入 Excel 表卡在“正在初始化数据流”问题
  • 前端取经路——现代API探索:沙僧的通灵法术
  • Axure疑难杂症:统计分析页面引入Echarts示例动态效果
  • Dia浏览器:AI驱动浏览网页,究竟怎么样?(含注册申请体验流程)
  • VUE CLI - 使用VUE脚手架创建前端项目工程
  • Linux——MySQL约束与查询
  • 旅马大熊猫“福娃”“凤仪”平安回国
  • 波兰总统选举投票开始,将是对亲欧路线的一次严峻考验
  • 女子应聘文员被说“太丑”?官方回应:有关部门启动核查处置
  • 浙江一教师被指殴打并威胁小学生,教育局通报涉事人被行拘
  • 玛丽亚·凯莉虹口连唱两夜,舞台绽放唤醒三代人青春记忆
  • 出走的苏敏阿姨一路走到了戛纳,这块红毯因她而多元