在Linux中安装、配置和挂载NFS的完整指南

article/2025/8/11 12:49:39

一、NFS简介

NFS(Network File System) 是一种分布式文件系统协议,允许用户通过网络在不同主机间共享文件和目录。它适用于局域网环境,常用于服务器集群、数据共享等场景。本文详细介绍NFS服务端与客户端的安装、配置及挂载流程。

二、NFS服务端配置

1. 安装NFS服务

根据 Linux 发行版选择命令:

  • Ubuntu/Debian

    sudo apt update && sudo apt install nfs-kernel-server
  • CentOS/RHEL

    sudo yum install nfs-utils  # CentOS 7
    sudo dnf install nfs-utils  # CentOS 8+/RHEL

2. 创建共享目录

sudo mkdir -p /mnt/nfs_share
sudo chown nobody:nogroup /mnt/nfs_share  # 设置权限(根据需要调整)

3. 配置NFS导出规则

编辑配置文件 /etc/exports,定义共享目录及访问权限:

# 语法:<共享目录> <客户端IP/网段>(权限选项)
/mnt/nfs_share 192.168.1.0/24(rw,sync,no_subtree_check)
  • 常用权限选项

    • rw:读写权限。
    • ro:只读权限。
    • sync:同步写入磁盘(数据安全性高)。
    • async:异步写入(性能更好,但可能丢失数据)。
    • no_root_squash:允许客户端root用户保留权限(谨慎使用)。

示例:

/mnt/nfs_share  *(rw,sync,no_root_squash)

4. 生效配置并启动服务

sudo exportfs -a  # 重新加载 exports 配置
sudo systemctl start nfs-server  # 启动服务
sudo systemctl enable nfs-server  # 设置开机自启

5. 防火墙配置

开放 NFS 相关端口(NFSv4 默认使用 TCP 2049):

sudo ufw allow 2049/tcp  # Ubuntu
sudo firewall-cmd --permanent --add-service=nfs && firewall-cmd --reload  # CentOS

三、NFS客户端配置

1. 安装NFS客户端工具

  • Ubuntu/Debian

    sudo apt install nfs-common
  • CentOS/RHEL

    sudo yum install nfs-utils

2. 创建本地挂载点

sudo mkdir -p /mnt/nfs_client

3. 手动挂载NFS共享

sudo mount -t nfs <服务端IP>:/mnt/nfs_share /mnt/nfs_client

示例

sudo mount -t nfs 192.168.1.100:/mnt/nfs_share /mnt/nfs_client

4. 自动挂载(重启生效)

编辑 /etc/fstab 文件,添加以下行:

<服务端IP>:/mnt/nfs_share  /mnt/nfs_client  nfs  defaults  0  0

示例

192.168.1.100:/mnt/nfs_share  /mnt/nfs_client  nfs  defaults  0  0

5. 验证挂载

df -h | grep nfs  # 查看挂载状态
touch /mnt/nfs_client/test.txt  # 测试读写权限

四、高级配置与调试

1. 指定NFS版本

挂载时强制使用 NFSv4:

sudo mount -t nfs -o vers=4 192.168.1.100:/mnt/nfs_share /mnt/nfs_client

2. 用户身份映射

在服务端 /etc/exports 中配置 anonuid 和 anongid

/mnt/nfs_share 192.168.1.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)

3. 查看NFS共享状态

  • 服务端

    showmount -e localhost  # 查看已导出的共享目录
  • 客户端

    showmount -e <服务端IP>

4. 日志排查

  • 服务端日志:/var/log/syslog(Ubuntu)或 /var/log/messages(CentOS)。

  • 客户端日志:dmesg | grep nfs

五、常见问题解决

  • 权限被拒绝(Permission Denied)

    • 检查服务端 /etc/exports 的权限配置。

    • 确保客户端用户对挂载点有访问权限。

  • 连接超时或无法访问

    • 确认防火墙已放行NFS端口(尤其是NFSv3需要额外开放 rpcbind 端口)。

    • 使用 rpcinfo -p <服务端IP> 检查RPC服务状态。

  • 挂载后文件属主显示为nobody

    • 在服务端配置 no_all_squash 或指定 anonuid/anongid

六、总结

NFS 是 Linux 环境中高效的文件共享解决方案。通过配置服务端导出规则、客户端挂载目录,并合理设置权限与防火墙规则,即可实现稳定可靠的网络存储。对于生产环境,建议结合Kerberos增强安全性,并定期监控NFS性能。

注意:NFS默认不加密传输数据,公网环境建议使用VPN或SSH隧道保护通信。


http://www.hkcw.cn/article/ZedULwmliS.shtml

相关文章

Linux-Ubuntu下的git安装与配置

一、安装git 1.打开终端&#xff0c;运行以下命令&#xff08;需要联网&#xff09; sudo apt-get update sudo apt-get install git 2.验证安装 安装完成之后&#xff0c;通过运行以下命令验证git是否已经正确安装&#xff1a; git --version 二、配置git 2.1.配置用户名…

亲测可用:wsl2安装ubuntu22.04的GNOME桌面

本文主要介绍wsl安装的ubuntu如何配置图形化桌面&#xff0c;主要使用与windows操作系统环境&#xff0c;方便搭建Linux环境下的可视化开发环境&#xff0c;网上流传的很多教程都不能正确安装&#xff0c;以下是本人亲自验证可用的操作方法。 1、开始安装 1.1 配置源 sudo v…

个人健康中枢的多元化AI网络革新与精准健康路径探析

引言 随着数字化转型的深入推进,个人健康中枢作为集成化健康管理系统,正在从传统的单一功能向多元化的AI驱动方向快速发展。在这一背景下,新兴网络硬件技术,特别是DPU(数据处理单元)和全光网络的出现,为个人健康中枢的革新提供了前所未有的机遇。本研究将深入探讨这些技…

Linux《进程控制》

在之前的Linux《进程概念》当中我们已经了解了进程基本的概念&#xff0c;那么接下来在本篇当中我们将开始进程控制的学习&#xff1b;在本篇当中我们先会对之前的学习的创建子进程的系统调用fork再进行补充了解&#xff0c;并且再之后会重点的学习进程的终止、进程等待以及进程…

Java应用中 慢SQL导致内存无法回收,然后导致线程阻塞,CPU被撑爆

问题分析 慢SQL的直接危害 数据库连接池长时间被占用&#xff0c;导致线程堆积&#xff0c;请求阻塞。 未释放的 ResultSet、Statement 或 Connection 可能导致内存泄漏&#xff08;例如未正确关闭资源&#xff09;。 大结果集&#xff08;如一次性加载百万条数据到内存&…

高质量AI歌曲生成器ACE-Step一键启动整合包,AI自动谱曲自动演唱

本次分享一款AI歌曲创作利器&#xff1a;ACE-Step&#xff0c;ACE-Step是刚发布不久的AI自动谱曲AI自动演唱软件&#xff0c;软件在歌曲生成速度、音乐连贯性和可控性上相对同类软件有了较大提升。ACE-Step在3小时前刚发布了新版本&#xff0c;我基于当前最新版本制作了免安装一…

Facebook 的隐私保护措施是否足够?技术观点

在数字时代&#xff0c;隐私保护成为了公众关注的焦点&#xff0c;尤其是对于拥有数十亿用户的社交媒体巨头 Facebook 来说&#xff0c;其隐私保护措施的有效性更是备受瞩目。本文将从技术角度探讨 Facebook 的隐私保护措施是否足够。 数据收集与使用 Facebook 收集用户数据的…

多语种OCR识别系统,引领文字识别新时代

在全球化与数字化深度融合的今天&#xff0c;语言障碍成为企业跨国协作、信息管理的一大挑战。无论是跨国合同签署、多语言档案管理&#xff0c;还是跨境商务沟通&#xff0c;高效精准的文字识别技术已成为刚需。中安智能OCR多语种识别系统应运而生&#xff0c;凭借其强大的光学…

强化学习实战:训练AI玩转OpenAI Gym

强化学习实战&#xff1a;训练AI玩转OpenAI Gym 系统化学习人工智能网站&#xff08;收藏&#xff09;&#xff1a;https://www.captainbed.cn/flu 文章目录 强化学习实战&#xff1a;训练AI玩转OpenAI Gym摘要引言强化学习基础与算法分类1. 核心概念与数学表示2. 算法分类与…

前端实现导出element-plus表格和从后端获取数据导出,支持勾选导出

1. 纯前端实现导出 安装file-saver和xlsx file-saver&#xff1a; 用于在浏览器中触发文件的保存下载&#xff08;保存为本地文件&#xff09;。 使用场景&#xff1a; 当已经在 JavaScript 中生成了文件&#xff08;如 Blob 对象&#xff09;&#xff0c;并想让用户保存它时使…

Stable Diffusion学习指南【ControlNet上篇】- 功能介绍、安装和使用

&#xff08;注&#xff1a;文末扫码获取AI工具安装包和AI学习资料&#xff09; 自 SD 系列教程发布这几个月&#xff0c;已被大家多次催更 ControlNet 的教程&#xff0c;相信很多朋友也都听说过这款神奇的控图工具。ControlNet 到底是什么&#xff1f;为什么作为一款插件它可…

论文阅读 | CVPR | MambaOut:视觉任务真的需要 Mamba 吗?

文章目录 论文阅读 | CVPR | MambaOut&#xff1a;视觉任务真的需要 Mamba 吗&#xff1f;摘要引言创新点概念讨论Mamba到底适合处理什么样的任务&#xff1f;视觉任务具有很长的序列吗&#xff1f;如何计算Transformer 模块的浮点运算次数&#xff08;FLOPs&#xff09;?定义…

基于 Q-learning 的城市场景无人机三维路径规划算法研究,可以自定义地图,提供完整MATLAB代码

一、引言 随着无人机技术的不断发展&#xff0c;其在城市环境中的应用越来越广泛&#xff0c;如物流配送、航拍测绘、交通监控等。然而&#xff0c;城市场景具有复杂的建筑布局、密集的障碍物以及多变的飞行环境&#xff0c;给无人机的路径规划带来了巨大的挑战。传统的路径规…

Vivado IP核之定点数累加Accumulator使用说明

Vivado Accumulator IP核的使用说明 配置步骤 目录 前言 一、Accumulator IP配置步骤 二、仿真 三、仿真分析 总结 前言 在现代数字信号处理和通信系统中&#xff0c;对数据进行快速而精确的累加操作是至关重要的。Vivado Accumulator IP核提供了一种灵活、可配置的硬件累…

中科院自动化所万字长文最新综述!当无人机遇上大模型:低空机动性智能体的综述与展望

作者&#xff1a;Yonglin Tian, Fei Lin, Yiduo Li, Tengchao Zhang, Qiyao Zhang, Xuan Fu, Jun Huang, Xingyuan Dai, Yutong Wang, Chunwei Tian, Bai Li, Yisheng Lv, Levente Kovacs, Fei-Yue Wang 单位&#xff1a;中科院自动化所多模态人工智能系统国家重点实验室&…

(35)远程识别(又称无人机识别)(一)

文章目录 前言 1 更改 2 可用的设备 3 开放式无人机ID 4 ArduRemoteID 5 终端用户数据的设置和使用 6 测试 7 为OEMs添加远程ID到ArduPilot系统的视频教程 前言 在一些国家,远程 ID 正在成为一项法律要求。以下是与 ArduPilot 兼容的设备列表。这里(here)有一个关于远…

Uniapp 自定义TabBar + 动态菜单实现教程(Vuex状态管理详解)

大家好&#xff0c;我是一诺。今天跟大家分享一下uniapp 封装自定义底部导航栏&#xff08;TabBar&#xff09; 过程中的思考和实践。通过本文&#xff0c;你将学会如何打造一个功能完善、可自由定制的TabBar组件&#xff01; 先看效果&#xff1a; 支持自定义图标和样式动态…

图数据库Neo4j和JDK安装与配置教程(超详细)

目录 前言 一、Java环境配置 &#xff08;一&#xff09;JDK的下载与安装 &#xff08;二&#xff09;JDK环境配置 &#xff08;三&#xff09;检测JDK17是否配置成功 二、Neo4j的安装与配置 &#xff08;一&#xff09;Neo4j的下载与安装 &#xff08;二&#xff09;N…

【机器人-基础知识】欧拉角、旋转矩阵和四元数

文章目录 1. 欧拉角1.1. 欧拉角的定义1.2. 欧拉角的公式1.3. 欧拉角的常见问题 2. 旋转矩阵2.1. 旋转矩阵的定义2.2. 常见旋转矩阵的公式1. 二维旋转矩阵2. 三维旋转矩阵 2.3. 旋转矩阵的示例1. 二维示例2. 三维示例 2.4. 旋转矩阵的问题 3. 四元数3.1. 四元数的定义3.2. 四元数…

arcane:Docker 管理的现代 Web 界面

arcane&#xff1a;Docker 管理的现代 Web 界面 arcane Simple and Elegant Docker Management UI written in Typescript and SvelteKit 项目地址: https://gitcode.com/gh_mirrors/arcane2/arcane 项目介绍 在容器化技术日益普及的今天&#xff0c;Docker 已经成为开…