统信UOS安装NFS共享文件夹

在 UOS ARM 架构系统上安装和配置 NFS 服务,实现与局域网中其他服务器共享文件夹的步骤如下:

1. 安装 NFS 服务

首先更新系统并安装 NFS 服务器组件:

bash

# 更新软件包列表
sudo apt update# 安装NFS服务器
sudo apt install nfs-kernel-server -y

2. 创建共享目录

bash

# 创建要共享的目录(示例路径)
sudo mkdir -p /data/nfs_share# 设置适当的权限(根据需求调整)
sudo chmod -R 777 /data/nfs_share
sudo chown -R nobody:nogroup /data/nfs_share

3. 配置共享目录

编辑 NFS 配置文件/etc/exports

bash

sudo nano /etc/exports

添加以下内容(根据实际情况修改):

plaintext

# 允许192.168.1.0/24网段的所有主机访问
/data/nfs_share 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash)# 如果只允许特定IP访问,例如192.168.1.100
# /data/nfs_share 192.168.1.100(rw,sync,no_subtree_check,no_root_squash)

参数说明:

  • rw:读写权限
  • sync:同步写入磁盘
  • no_subtree_check:关闭子目录检查
  • no_root_squash:允许 root 用户操作

4. 生效配置并重启服务

bash

# 使配置生效
sudo exportfs -a# 重启NFS服务
sudo systemctl restart nfs-kernel-server# 设置开机自启
sudo systemctl enable nfs-kernel-server

5. 配置防火墙(如果启用)

bash

# 允许NFS相关端口
sudo ufw allow from 192.168.1.0/24 to any port nfs
sudo ufw allow mountd
sudo ufw allow rpc-bind
sudo ufw reload

6. 客户端挂载(其他服务器操作)

在局域网中的其他服务器上执行:

bash

# 安装NFS客户端
sudo apt install nfs-common -y# 创建挂载点
sudo mkdir -p /mnt/nfs_client# 挂载共享目录(替换为NFS服务器IP)
sudo mount -t nfs 192.168.1.10:/data/nfs_share /mnt/nfs_client# 设置开机自动挂载(编辑/etc/fstab)
echo "192.168.1.10:/data/nfs_share /mnt/nfs_client nfs defaults 0 0" | sudo tee -a /etc/fstab

完成以上步骤后,局域网中的其他服务器就可以通过挂载点访问 UOS ARM 服务器上的共享文件夹了。可以通过创建测试文件来验证共享是否正常工作。

如果服务器更换了网段和ip怎么办

当 NFS 服务器更换网段或 IP 后,需要同步更新服务器端的配置和客户端的挂载设置,否则会导致共享连接失败。以下是具体操作步骤:

一、服务器端(UOS ARM)配置调整

  1. 更新 NFS 共享配置(/etc/exports
    由于网段或 IP 变更,需修改允许访问的客户端范围:

    bash

    sudo nano /etc/exports
    

    将原配置中的网段 / IP 替换为新的网段 / IP,例如:

    • 原配置:/data/nfs_share 192.168.1.0/24(...)
    • 新配置(假设新网段为192.168.2.0/24):

      bash

      /data/nfs_share 192.168.2.0/24(rw,sync,no_subtree_check,no_root_squash)
      

    若只允许特定新 IP(如192.168.2.20),则改为:

    bash

    /data/nfs_share 192.168.2.20(rw,sync,no_subtree_check,no_root_squash)
    
  2. 重新加载 NFS 配置
    使新的共享规则生效:

    bash

    sudo exportfs -ra  # 重新导出所有共享并刷新
    sudo systemctl restart nfs-kernel-server  # 重启服务确保生效
    
  3. 更新防火墙规则
    若服务器启用了防火墙(如ufw),需允许新网段 / IP 访问 NFS 相关端口:

    bash

    # 先删除旧规则(假设旧网段为192.168.1.0/24)
    sudo ufw delete allow from 192.168.1.0/24 to any port nfs
    # 添加新规则(新网段192.168.2.0/24)
    sudo ufw allow from 192.168.2.0/24 to any port nfs
    sudo ufw allow from 192.168.2.0/24 to any port mountd
    sudo ufw allow from 192.168.2.0/24 to any port rpc-bind
    sudo ufw reload
    

二、客户端(局域网其他服务器)配置调整

  1. 先卸载旧的 NFS 挂载(若已挂载)
    避免残留连接导致冲突:

    bash

    sudo umount /mnt/nfs_client  # 替换为实际挂载点
    或者强制卸载:sudo umount -lf /zkys_data/
    
  2. 更新临时挂载命令
    使用服务器的新 IP重新挂载:

    bash

    # 示例:新IP为192.168.2.10,共享目录和客户端挂载点不变
    sudo mount -t nfs 192.168.2.10:/data/nfs_share /mnt/nfs_client
    
  3. 更新开机自动挂载配置(/etc/fstab
    编辑fstab文件,替换旧 IP 为新 IP:

    bash

    sudo nano /etc/fstab
    

    找到原 NFS 挂载行并修改:

    • 原配置:192.168.1.10:/data/nfs_share /mnt/nfs_client nfs defaults 0 0
    • 新配置:192.168.2.10:/data/nfs_share /mnt/nfs_client nfs defaults 0 0
  4. 验证自动挂载
    重新加载fstab配置并检查是否生效:

    bash

    sudo mount -a  # 加载所有fstab中的挂载
    df -h  # 查看是否成功挂载(应显示新IP对应的共享)
    

三、验证共享可用性

在服务器端的共享目录创建测试文件,然后在客户端挂载点查看是否能正常读取 / 修改,确认网络连通性和权限是否正常:

bash

# 服务器端创建测试文件
sudo touch /data/nfs_share/test_after_ip_change# 客户端检查
ls -l /mnt/nfs_client/test_after_ip_change  # 应能看到文件

通过以上步骤,即可在服务器网段 / IP 变更后重新恢复 NFS 共享功能。核心是确保服务器端的访问规则、防火墙和客户端的挂载目标同步更新为新的网络信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/918869.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/918869.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【完整源码+数据集+部署教程】孔洞检测系统源码和数据集:改进yolo11-RetBlock

背景意义 研究背景与意义 随着工业自动化和智能制造的快速发展,孔洞检测作为关键的质量控制环节,受到了广泛关注。孔洞的存在可能会影响产品的强度、密封性和整体性能,因此,准确、快速地检测孔洞对于保障产品质量至关重要。传统的…

k8s环境使用Operator部署Seaweedfs集群(一)

#作者:闫乾苓 文章目录4.1 前置条件4.2 部署seaweedfs-operator4.3 准备operator镜像SeaweedFS Operator是一个Kubernetes Operator,用于自动化部署和管理SeaweedFS集群 README.md:6-8 。部署分为两个阶段:首先部署Operator本身,然…

实践基地落地:成都影像产业园与重庆五一职院强实训

近日,成都国际影像产业园与重庆五一职业技术学院合作的实践基地正式落地,这一举措为双方强化实训合作、培养高素质技能人才注入了新的活力。实践基地的落地,是双方基于各自优势资源的深度融合。成都国际影像产业园作为影像行业的重要聚集地&a…

算法----滑动窗口

滑动窗口 什么是滑动窗口 滑动窗口是一种常用的技术,主要用于处理连续数据序列(如数组、字符串或时间序列数据),通过动态调整一个固定大小的“窗口”来高效地解决问题。窗口在序列上“滑动”,每次移动一个位置&#xf…

Rust学习笔记(三)|所有权机制 Ownership

本篇文章包含的内容1 重新从堆和栈开始考虑2 所有权规则3 变量和数据(值)的交互方式3.1 移动 Move3.2 克隆 Clone3.3 复制 Copy4 函数与所有权4.1 参数传递时的所有权转移4.2 函数返回时的所有权转移5 引用和借用6 切片前面两篇仅仅介绍了一些Rust的语法…

Redis 知识点与应用场景

1. Redis 简介与核心特性Redis(Remote Dictionary Server)是一款开源的内存数据存储系统,支持多种数据结构,兼具高性能、持久化、分布式等特性,广泛用于缓存、数据库、消息中间件等场景。其核心特性包括:高…

日常反思总结

1.group by和order by的区别

易贝 (eBay (eBay) 关键字搜索 API 实战:从认证到商品列表获取全流程解析

在跨境电商开发领域,eBay 作为全球最大的在线交易平台之一,其开放 API 为开发者提供了丰富的商品数据获取能力。本文将聚焦 eBay 关键字搜索商品列表接口的实现,涵盖 OAuth2.0 认证、高级搜索参数配置、分页策略及完整代码实现,帮…

敏捷数据开发实践:基于 Amazon Q Developer + Remote MCP 构建本地与云端 Amazon Redshift 交互体系

敏捷数据开发实践:基于 Amazon Q Developer Remote MCP 构建本地与云端 Amazon Redshift 交互体系 新用户可获得高达 200 美元的服务抵扣金 亚马逊云科技新用户可以免费使用亚马逊云科技免费套餐(Amazon Free Tier)。注册即可获得 100 美元的…

【SpringBoot】11 概念理解 - 深入理解 Java 和 Spring 中的容器、组件、类、对象与 Bean

文章目录引言1. 基本概念解析1.1 类(Class)1.2 对象(Object)1.3 组件(Component)1.4 Bean 实例(Bean Instance)1.5 容器(Container)2. 运行时 vs. 非运行时的…

【学习嵌入式day-25-线程】

exec函数族exec函数族利用进程空间执行另一份代码#include "../head.h"int main(void) {char *parg[5] {"./hello","how","are","you",NULL,};printf("execl-up\n");//execl("./hello", "./hello…

Rust 中 Box 的深度解析:作用、原理与最佳实践

Rust 中 Box 的深度解析:作用、原理与最佳实践 Box 是 Rust 中最基础且最重要的智能指针类型,它在 Rust 的内存管理和所有权系统中扮演着核心角色。以下是关于 Box 的全面解析: Box 的核心作用 #mermaid-svg-m6liFZlmqOHRfIZB {font-family:&…

【测试用例】

需求背景部分金融/政企等行业客户,企业内部安全要求较高,且因为某些原因未接入 sso 登录,会要求 MG 提供较为复杂的密码规则甚至提供强更机制;且每个客户的安全要求不一样目前 MG 线上密码规则: 8 位以上,包…

Klipper-probe模块

配置信息[probe] pin: !PD4 x_offset: 0 y_offset: 0 z_offset: -0.20 #the distance between nozzle and level switch speed: 10 samples: 2 #probe one point three times get an average samples_result: average sample_retract_dist: 5 samples_tolerance: 0.05 # …

Excel多级数据结构导入导出工具

Excel多级数据结构导入导出工具 这是一个功能强大的Excel导入导出工具库,专门用于处理复杂的多级嵌套数据结构。通过自定义注解配置,可以轻松实现Java对象与Excel文件之间的双向转换。 核心功能特性 1. 多级数据结构支持 嵌套对象处理: 支持任意层级的对…

基于UniApp的新大陆物联网平台温湿度检测系统开发方案

新大陆物联网平台对接要点 认证方式: 使用AccessToken进行API认证 Token存储在本地缓存中 数据格式: 温度数据单位:摄氏度(C) 湿度数据单位:百分比(%) 时间格式:ISO 8601或时间戳 设备状态: online:…

Git、JSON、MQTT

GIT简介:Git是什么?Git是目前世界上最先进的分布式版本控制系统作用:版本控制(版本的备份--->版本的回溯和前进)多人协作优势:SVN(集中式)劣势:过度依赖服务器和网络,容灾性差Git…

yolo目标检测技术之yolov11项目实战(三)

yolo目标检测技术之yolov11项目实战(三) 文章目录yolo目标检测技术之yolov11项目实战(三)一、 基于 YOLO11 的火焰与烟雾检测系统(实战代码)项目目标环境搭建创建虚拟环境安装依赖1.1 数据集准备1. 下载地址…

CF思维小训练(二)

清晰的缤纷的都可以 脏兮兮的甜的也都有转机 不想太小心 错过第一百零一场美丽 CF思维小训练(二) 书接上回CF思维小训练-CSDN博客 虽然代码很短,都是每一道题的背后都思维满满; 目录CF思维小训练(二)Arbo…

分布式锁:从理论到实战的深度指南

1. 分布式锁是啥?为什么它比单机锁更“硬核”?分布式锁,听起来高大上,其实核心问题很简单:在多个机器、进程或服务同时抢夺资源时,怎么保证不打架? 想象一下,你在双十一抢购限量款球…