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

【服务器知识】如何在linux系统上搭建一个nfs

文章目录

    • NFS网络系统搭建
      • **1. 准备工作**
      • **2. 服务器端配置**
        • **(1) 安装 NFS 服务**
        • **(2) 创建共享目录**
        • **(3) 配置共享规则**
        • **(4) 生效配置并启动服务**
        • **(5) 防火墙配置**
      • **3. 客户端配置**
        • **(1) 安装 NFS 客户端工具**
        • **(2) 创建本地挂载点**
        • **(3) 挂载 NFS 共享目录**
        • **(4) 验证挂载**
        • **(5) 设置开机自动挂载**
      • **4. 常见问题排查**
        • **权限问题**
        • **防火墙或网络问题**
        • **挂载失败**
      • **5. 安全建议**
    • NAS挂载
      • **一、准备工作**
      • **二、手动挂载NAS**
        • **方法1:挂载NFS共享**
        • **方法2:挂载SMB/CIFS共享**
      • **三、自动挂载(开机自动挂载)**
        • **NFS自动挂载**
        • **SMB/CIFS自动挂载**
      • **四、验证挂载**
      • **五、卸载NAS**
      • **六、常见问题**

NFS网络系统搭建

在 Linux 系统上搭建 NFS(Network File System)的详细步骤如下:

1. 准备工作

  • 服务器端:提供共享目录的机器。
  • 客户端:访问共享目录的机器。
  • 网络互通:确保服务器和客户端在同一个网络,防火墙允许 NFS 相关流量(默认使用 TCP/UDP 2049 端口)。

2. 服务器端配置

(1) 安装 NFS 服务

根据 Linux 发行版选择安装命令:

  • Ubuntu/Debian

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

    sudo yum install nfs-utils
    
(2) 创建共享目录

选择一个目录作为共享存储(例如 /data/nfs_share):

sudo mkdir -p /data/nfs_share
sudo chown nobody:nogroup /data/nfs_share  # 设置权限(根据需求调整)
(3) 配置共享规则

编辑 NFS 配置文件 /etc/exports

sudo nano /etc/exports

添加以下内容(示例允许所有客户端读写):

/data/nfs_share *(rw,sync,no_subtree_check,no_root_squash)
  • 参数说明
    • rw:允许读写。
    • sync:同步写入,保证数据一致性。
    • no_subtree_check:禁用子目录检查(提高性能)。
    • no_root_squash:允许客户端 root 用户保留权限(谨慎使用)。
(4) 生效配置并启动服务
sudo exportfs -a  # 应用所有 exports 配置
sudo systemctl start nfs-server  # Ubuntu/Debian
sudo systemctl start nfs         # CentOS/RHEL
sudo systemctl enable nfs-server # 设置开机自启
(5) 防火墙配置

开放 NFS 相关端口(以 firewalld 为例):

sudo firewall-cmd --permanent --add-service=nfs
sudo firewall-cmd --permanent --add-service=mountd
sudo firewall-cmd --permanent --add-service=rpc-bind
sudo firewall-cmd --reload

3. 客户端配置

(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:/data/nfs_share /mnt/nfs_client
(4) 验证挂载

检查挂载是否成功:

df -h | grep nfs

或写入测试文件:

echo "NFS Test" > /mnt/nfs_client/test.txt
(5) 设置开机自动挂载

编辑 /etc/fstab 文件:

sudo nano /etc/fstab

添加以下行:

服务器IP:/data/nfs_share /mnt/nfs_client nfs defaults 0 0

4. 常见问题排查

权限问题
  • 确保服务器共享目录的权限允许客户端访问(可通过 chmodchown 调整)。
  • 若客户端无法写入,检查服务器端 /etc/exports 是否设置了 rw
防火墙或网络问题
  • 使用 rpcinfo -p 服务器IP 检查 NFS 服务是否正常。
  • 在服务器端执行 showmount -e 查看共享目录是否可见。
挂载失败
  • 检查 NFS 服务状态:systemctl status nfs-server
  • 查看日志:tail -f /var/log/messages(CentOS)或 /var/log/syslog(Ubuntu)。

5. 安全建议

  • 限制客户端范围:在 /etc/exports 中指定具体 IP 或网段(如 192.168.1.0/24)。
  • 避免使用 no_root_squash:防止客户端 root 用户拥有服务器 root 权限。
  • 启用 NFSv4:在 /etc/nfs.conf 中设置 vers4.2(性能更好且更安全)。

通过以上步骤,你可以在 Linux 系统上快速搭建并配置 NFS 共享服务。

NAS挂载

在Linux系统中挂载NAS(网络附加存储)通常可以通过NFS(Network File System)或SMB/CIFS(Server Message Block/Common Internet File System)协议实现。以下是详细步骤:

一、准备工作

  1. 确认NAS信息

    • NAS的IP地址(如 192.168.1.100
    • 共享路径(如 /share/data//nas-server/share
    • 访问协议(NFS/SMB)
    • 用户名和密码(如果需要认证)
  2. 安装依赖工具

    • NFS:确保已安装NFS客户端工具:
      sudo apt install nfs-common      # Debian/Ubuntu
      sudo dnf install nfs-utils       # Fedora/CentOS/RHEL
      
    • SMB/CIFS:安装cifs-utils
      sudo apt install cifs-utils      # Debian/Ubuntu
      sudo dnf install cifs-utils      # Fedora/CentOS/RHEL
      
  3. 创建本地挂载点

    sudo mkdir -p /mnt/nas
    

二、手动挂载NAS

方法1:挂载NFS共享
sudo mount -t nfs <NAS_IP>:/<共享路径> /mnt/nas

示例:

sudo mount -t nfs 192.168.1.100:/share/data /mnt/nas
方法2:挂载SMB/CIFS共享
sudo mount -t cifs -o username=<用户名>,password=<密码> //<NAS_IP>/<共享名> /mnt/nas

示例:

sudo mount -t cifs -o username=user1,password=pass123 //192.168.1.100/myshare /mnt/nas

常用选项

  • vers=3.0:指定SMB协议版本(如vers=2.0vers=3.0)。
  • uid=1000:设置挂载后文件的用户所有者。
  • gid=1000:设置挂载后文件的组所有者。
  • file_mode=0777:设置文件权限。
  • dir_mode=0777:设置目录权限。

三、自动挂载(开机自动挂载)

编辑 /etc/fstab 文件,添加挂载配置:

NFS自动挂载
sudo nano /etc/fstab

添加行:

<NAS_IP>:/<共享路径>  /mnt/nas  nfs  defaults,_netdev  0  0
SMB/CIFS自动挂载
//<NAS_IP>/<共享名>  /mnt/nas  cifs  username=<用户名>,password=<密码>,vers=3.0,_netdev  0  0

说明

  • _netdev:确保挂载在网络就绪后进行。
  • 若需隐藏密码,可将凭据保存到文件(如 /etc/smb.creds),并在fstab中使用credentials=/etc/smb.creds

四、验证挂载

  1. 查看已挂载的文件系统:
    df -hT
    
  2. 检查挂载点读写权限:
    touch /mnt/nas/testfile && rm /mnt/nas/testfile
    

五、卸载NAS

sudo umount /mnt/nas

六、常见问题

  1. 权限不足

    • 检查NAS共享的权限设置。
    • 在挂载命令中指定uid/gidfile_mode/dir_mode
  2. 协议版本不匹配

    • 对于SMB,尝试指定vers=2.0vers=3.0
  3. 网络不可达

    • 检查NAS的IP和防火墙设置(确保NFS/SMB端口开放)。

通过上述步骤,您可以轻松在Linux系统中挂载NAS存储,并根据需求选择手动或自动挂载方式。

相关文章:

【服务器知识】如何在linux系统上搭建一个nfs

文章目录 NFS网络系统搭建**1. 准备工作****2. 服务器端配置****(1) 安装 NFS 服务****(2) 创建共享目录****(3) 配置共享规则****(4) 生效配置并启动服务****(5) 防火墙配置** **3. 客户端配置****(1) 安装 NFS 客户端工具****(2) 创建本地挂载点****(3) 挂载 NFS 共享目录***…...

图片画质增强:轻松提升画质

前言&#xff1a; 今天给大家推荐一款非常实用的图片画质增强软件&#xff0c;它无需联网即可使用&#xff0c;完全离线操作&#xff0c;这款软件基于先进的深度学习技术&#xff0c;能够对模糊图片进行强大的高清处理&#xff0c;效果令人惊艳。 图片画质增强&#xff1a;一…...

vscode快速接入deepseek 实践操作

背景说明 在deepseek快速火爆的情况下&#xff0c;也想自己体验一把。看看在vscode中集成进来&#xff0c;方便平时的脚本开发。对于年纪大的人还是非常方便的。 操作过程 安装continue 打开vscode进入扩展市场&#xff0c;搜索安装 安装完成就是上面的样子&#xff0c;会…...

mapbox进阶,添加绘图扩展插件,绘制圆形

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性1.3 ☘️MapboxDraw 绘图控件二、🍀添加绘图扩…...

Cursor 与多语言开发:全栈开发的利器

引言 全栈开发要求开发者跨越前端、后端、数据库甚至数据科学等多个技术领域&#xff0c;而不同技术栈往往需要切换工具和思维方式。Cursor 作为一款 AI 驱动的智能编程助手&#xff0c;凭借其对 20 编程语言 和主流框架的深度支持&#xff0c;正在成为全栈开发的“瑞士军刀”…...

2025 CCF BDCI|“基于TPU平台的OCR模型性能优化”一等奖作品

2024年12月&#xff0c;中国计算机学会在海南博鳌成功举办了第十二届CCF大数据与计算智能大赛&#xff08;简称2024 CCF BDCI&#xff09;。本届比赛的算能赛道吸引了1748名选手报名&#xff0c;经过激烈角逐&#xff0c;北京航空航天大学的“常务副SOTA”团队脱颖而出&#xf…...

FPGA的IP核接口引脚含义-快解

疑问 手册繁琐&#xff0c;怎样快速了解IP核各输入输出接口引脚的含义。 答疑 不慌不慌&#xff0c;手册确实比较详细但繁琐&#xff0c;如何快速知晓该部分信息&#xff0c;涛tao道长给你们说&#xff0c;简单得很&#xff0c;一般新入门的道友有所不知&#xff0c;往往后面…...

数据库高安全—审计追踪:传统审计统一审计

书接上文数据库高安全—角色权限&#xff1a;权限管理&权限检查&#xff0c;从权限管理和权限检查方面解读了高斯数据库的角色权限&#xff0c;本篇将从传统审计和统一审计两方面对高斯数据库的审计追踪技术进行解读。 4 审计追踪 4.1 传统审计 审计内容的记录方式通…...

机器学习 - 需要了解的条件概率、高斯分布、似然函数

似然函数是连接数据与参数的桥梁&#xff0c;通过“数据反推参数”的逆向思维&#xff0c;成为统计推断的核心工具。理解它的关键在于区分“参数固定时数据的概率”与“数据固定时参数的合理性”&#xff0c;这种视角转换是掌握现代统计学和机器学习的基础。 一、在学习似然函…...

Spring Boot Web 入门

目录 Spring Boot Web 是 Spring Boot 框架的一个重要模块&#xff0c;它简化了基于 Spring 的 Web 应用程序的开发过程。以下是一个 Spring Boot Web 项目的入门指南&#xff0c;涵盖了项目创建、代码编写、运行等关键步骤。 1. 项目创建 使用 Spring Initializr 使用 IDE …...

神经网络|(八)概率论基础知识-二项分布及python仿真

【1】引言 前序已经学习了古典概型、条件概率、全概率公式和贝叶斯公式&#xff0c;它们作为基础&#xff0c;解释了事件发生及其概率的对应关系&#xff0c;相关文章链接为&#xff1a; 神经网络|(四)概率论基础知识-古典概型-CSDN博客 神经网络|(五)概率论基础知识-条件概…...

【面试场景】MySQL分布式主键选取

文章目录 一. MySQL的自增主键二. UUID三. 雪花ID(推荐) 我的博客地址 一. MySQL的自增主键 适合单表的情况, 在分布式分库分表下可能会有一些问题 主键冲突问题 在分布式系统中&#xff0c;多个数据库节点独立生成自增主键&#xff0c;很容易出现重复的主键值。例如&#xff…...

执行git stash drop stash@{x} 时出现error: unknown switch `e‘ 的解决方式

原因: 在 PowerShell 或某些 Shell 中&#xff0c;{} 是特殊符号&#xff0c;stash{0} 会被解析成 stash 0&#xff0c;而 后的字符可能被误认为选项&#xff08;如 -e&#xff09;&#xff0c;使 Git 收到意外的 -e 参数&#xff0c;导致报错 unknown switch ‘e’。 解决方…...

链表和 list

一、单链表的模拟实现 1.实现方式 链表的实现方式分为动态实现和静态实现两种。 动态实现是通过 new 申请结点&#xff0c;然后通过 delete 释放结点的形式构造链表。这种实现方式最能体 现链表的特性&#xff1b; 静态实现是利用两个数组配合来模拟链表。一个表示数据域&am…...

windows 蓝牙驱动开发-传输总线驱动程序常见问题

以下是驱动程序开发人员在开发总线驱动程序以支持蓝牙功能时可能会遇到的一些常见问题和方案。 我的串行总线驱动程序遇到了一些错误。 它意味着什么&#xff1f; 代码 10-49&#xff1a;设备管理器生成的错误代码。 代码 51&#xff1a;当串行总线驱动程序具有相关的控制器…...

Qt修仙之路2-1 炼丹初成

widget.cpp #include "widget.h" #include<QDebug> //实现槽函数 void Widget::login1() {QString userusername_input->text();QString passpassword_input->text();//如果不勾选无法登入if(!check->isChecked()){qDebug()<<"xxx"&…...

【含开题报告+文档+PPT+源码】基于SpringBoot+Vue宠物预约上门服务预约平台

开题报告 本研究论文旨在构建并阐述一个基于 SpringBoot 和 Vue 技术栈开发的宠物上门服务预约平台的设计与实现。该平台集成了丰富的功能模块&#xff0c;为用户提供一体化的便捷服务体验。首先&#xff0c;用户能够通过注册并登录系统&#xff0c;享受个性化的服务流程。在平…...

无线AP之详解(Detailed Explanation of Wireless AP)

无线AP是什么&#xff1f; 市场上的AP基本上分为两大类&#xff1a;单纯型AP和扩展型AP。扩展型AP除了基本的AP功能之外&#xff0c;还可能带有若干以太网交换口、路由、NAT、DHCP、打印服务器等功能。 无线AP也就是一个无线交换机 无线路由器就是一个带路由功能的无线AP&am…...

Spring Boot Actuator与JMX集成实战

在微服务架构中&#xff0c;监控和管理应用的运行状态是至关重要的。Spring Boot Actuator 提供了一种便捷的方式来监控和管理 Spring Boot 应用&#xff0c;而 JMX&#xff08;Java Management Extensions&#xff09;则是一种用于管理 Java 应用的标准技术。本文将通过一个实…...

mac环境下,ollama+deepseek+cherry studio+chatbox本地部署

春节期间&#xff0c;deepseek迅速火爆全网&#xff0c;然后回来上班&#xff0c;我就浅浅的学习一下&#xff0c;然后这里总结一下&#xff0c;我学习中&#xff0c;总结的一些知识点吧&#xff0c;分享给大家。具体的深度安装部署&#xff0c;这里不做赘述&#xff0c;因为网…...

从RGB-D到3D语义分割:用Scannet v2的25k帧子集快速上手你的第一个模型

从RGB-D到3D语义分割&#xff1a;Scannet v2实战指南 在计算机视觉领域&#xff0c;3D场景理解正成为研究热点。Scannet v2作为包含丰富标注的RGB-D数据集&#xff0c;为初学者和专业开发者提供了理想的实验平台。本文将带您快速上手这个强大的工具集&#xff0c;从数据获取到模…...

PyTorch模型的TensorRT优化:原理与实践

PyTorch模型的TensorRT优化&#xff1a;原理与实践 1. 背景与意义 在深度学习模型部署过程中&#xff0c;推理速度是一个关键指标。TensorRT是NVIDIA开发的高性能深度学习推理优化库&#xff0c;它可以显著提高模型的推理速度&#xff0c;降低延迟。本文将深入探讨TensorRT的工…...

构建自主海上防御系统:Mirai Robotics融资420万美元

Mirai Robotics已筹集420万美元的Pre-Seed轮资金&#xff0c;旨在构建自主和智能的海上系统。本轮融资由Primo Ventures、Techshop和40Jemz Ventures领投&#xff0c;并有来自意大利和国际的天使投资人参与。 海洋是地球上最关键的基础设施之一。全球超过80%的贸易通过海路运输…...

什么是 Harness Engineering?把 Prompt、Workflow、Eval 串成系统的那层骨架

点击上方 前端Q&#xff0c;关注公众号回复加群&#xff0c;加入前端Q技术交流群上一篇我们先把问题抛出来了&#xff1a; 为什么现在大家都在聊 Agent、Workflow、AI Coding&#xff0c;可真正决定系统上限的&#xff0c;往往不是模型本身&#xff0c;而是模型外那层工程骨架。…...

CameraFileCopy:手机摄像头传输文件的终极解决方案,让数据传输不再受限!

CameraFileCopy&#xff1a;手机摄像头传输文件的终极解决方案&#xff0c;让数据传输不再受限&#xff01; 【免费下载链接】cfc Demo/test android app for libcimbar. Copy files over the cell phone camera! 项目地址: https://gitcode.com/gh_mirrors/cfc/cfc 你是…...

告别打印烦恼:Anycubic i3 Mega定制Marlin固件的全方位升级方案

告别打印烦恼&#xff1a;Anycubic i3 Mega定制Marlin固件的全方位升级方案 【免费下载链接】Marlin-Ai3M &#x1f5a8; Marlin firmware optimized for the Anycubic i3 Mega 3D printer 项目地址: https://gitcode.com/gh_mirrors/ma/Marlin-Ai3M 场景引入&#xff1…...

墨语灵犀处理时序数据实战:基于LSTM的预测模型辅助开发

墨语灵犀处理时序数据实战&#xff1a;基于LSTM的预测模型辅助开发 最近在做一个销量预测的项目&#xff0c;团队里新来的同事看着一长串的时序数据和复杂的LSTM模型代码&#xff0c;有点无从下手。他问我&#xff1a;“这些参数到底该怎么调&#xff1f;预测出来的曲线波动这…...

Harness设计——Anthropic实战:规划器、生成器、评估器三角色协作详解

Harness 设计是实现智能体编码前沿性能的关键。本文介绍了Anhtropic如何推动 Claude 在前端设计和长期自主软件开发方面更进一步。 有两个相互关联的问题: 让 AI Agent 生成高质量的前端设计。 让它无需人工干预就能构建完整的应用程序。 这项工作源于我们早期在前端设计技能…...

GNSS/SINS组合导航实战:静基座精对准中的卡尔曼滤波参数调优技巧

GNSS/SINS组合导航实战&#xff1a;静基座精对准中的卡尔曼滤波参数调优技巧 在嵌入式导航系统开发中&#xff0c;静基座精对准是确保初始姿态精度的关键环节。许多工程师在调试卡尔曼滤波器时&#xff0c;常陷入参数试错的困境——Q矩阵该设多大&#xff1f;R矩阵如何匹配传感…...

GTE模型在法律文书智能检索中的突破性应用

GTE模型在法律文书智能检索中的突破性应用 1. 引言 在法律行业&#xff0c;文书检索一直是个让人头疼的问题。传统的检索方式主要依赖关键词匹配&#xff0c;但法律文书往往涉及复杂的语义关系和专业术语&#xff0c;简单的关键词搜索经常会出现"查不全"或"查…...