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

基于华为openEuler系统部署NFS文件共享服务

基于华为openEuler系统部署NFS文件共享服务【华为根技术】

  • 前言
  • 一、相关服务介绍
    • 1.1 openEuler系统介绍
    • 1.2 NFS介绍
  • 二、本次实践介绍
    • 2.1 本次实践介绍
    • 2.2 本次环境规划
  • 三、本地环境检查
    • 3.1 检查Docker服务状态
    • 3.2 检查Docker版本
    • 3.3 检查docker compose 版本
  • 四、服务端配置流程
    • 4.1 安装必要组件
    • 4.2 创建共享目录
    • 4.3 配置文件系统
    • 4.4 防火墙配置
    • 4.5 启动服务
    • 4.6 验证配置
  • 五、客户端配置
    • 5.1 安装客户端组件
    • 5.2 挂载远程目录
    • 5.3 验证挂载
    • 5.4 配置自动挂载
  • 六、高级配置技巧
    • 6.1 用户权限管理
    • 6.2 配额限制
    • 6.3 日志监控
    • 6.4 故障排查指南
  • 七、总结

前言


在现代计算环境中,文件共享服务是连接不同设备和操作系统之间的重要桥梁,而NFS(Network File System)作为其中的关键技术之一,在提供高效、便捷的文件共享解决方案方面发挥着重要作用。本篇文章基于华为openEuler系统,详细介绍如何部署和配置NFS文件共享服务,旨在帮助读者理解并掌握从基础安装到高级配置管理的全过程。


一、相关服务介绍

1.1 openEuler系统介绍

  • 简介

openEuler是华为发起并主导的一个开源操作系统项目,它基于Linux内核开发,致力于为企业级应用提供安全、稳定、可靠的操作环境。自2019年正式开源以来,openEuler迅速吸引了全球众多开发者和技术爱好者的关注,并逐渐形成了一个活跃的开源社区。该系统不仅支持多种处理器架构(如x86、ARM等),而且通过持续的技术创新,在性能优化、安全性增强以及容器化支持等方面展现了显著的优势。

  • 主要特点
  • 开源性:openEuler遵循开源协议,允许任何个人或组织自由获取、使用、修改及分发系统代码,这极大地促进了技术创新与共享。
  • 高性能与稳定性:通过对Linux内核进行深度优化,openEuler能够提供出色的运行效率和稳定性,满足企业级应用场景的需求。
  • 安全性:提供了包括安全启动、数据加密在内的多重安全保障措施,确保用户数据的安全性。
  • 容器化支持:兼容Docker和Kubernetes等容器技术,便于开发者构建、部署和管理容器化应用。
  • 丰富的生态系统:拥有庞大的开发者社区和丰富的软件库,为用户提供广泛的软件支持和服务。

1.2 NFS介绍

NFS,即网络文件系统(Network File System),是一种分布式文件系统协议,允许用户通过网络访问位于远程计算机上的文件,就像访问本地文件系统一样透明。它由Sun Microsystems在1984年开发,旨在允许不同计算机和操作系统之间共享文件。以下是NFS的一些主要特点:

  1. 透明性:NFS设计的初衷之一是提供对远程文件的透明访问,这意味着用户和应用程序不需要知道他们正在访问的文件实际位于远程服务器上。这极大地简化了跨平台文件共享。

  2. 简单性和灵活性:NFS易于设置和使用,并且非常灵活。它可以与各种操作系统兼容,包括Linux、Unix和Windows等,使得异构网络环境下的文件共享变得简单。

  3. 性能优化:NFS支持多种性能优化技术,如读写缓存机制,可以显著提高文件访问速度,尤其是在高延迟或低带宽的网络环境中。

  4. 安全性:尽管NFS最初的安全模型相对简单,但随着版本的更新,已经引入了更强的安全措施,例如NFSv4中增加了对Kerberos认证的支持,提供了更安全的数据传输保障。

  5. 高可用性:NFS可以通过多种方式配置以实现高可用性,比如使用负载均衡和故障转移策略来确保服务的持续可用。

  6. 可扩展性:NFS能够很好地适应从小型到大型网络的需求,使其成为企业环境中广泛使用的文件共享解决方案。

这些特性使NFS成为了需要高效、便捷地共享文件的网络环境中的理想选择。无论是用于小型办公室还是大型数据中心,NFS都能提供可靠的服务。

二、本次实践介绍

2.1 本次实践介绍

1.本次实践环境为个人测试环境,生产环境请谨慎;
2.本次实践主要是在openEuler系统下部署DailyNotes服务。

2.2 本次环境规划

本次环境规划如下所示:

服务器HostNameIP地址操作系统内核版本部署项目
VM虚拟机openEuler192.168.3.83openEuler 24.03 (LTS)6.6.0-28.0.0.34.oe2403.x86_64NFS服务端
VM虚拟机openEuler192.168.3.83openEuler 24.03 (LTS)6.6.0-28.0.0.34.oe2403.x86_64NFS客户端

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

[root@openEuler ~]# systemctl status docker
● docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: disabled)Active: active (running) since Sat 2025-03-29 20:58:28 CST; 1 day 20h ago
TriggeredBy: ● docker.socketDocs: https://docs.docker.comMain PID: 1382 (dockerd)Tasks: 10Memory: 115.9M ()CGroup: /system.slice/docker.service└─1382 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

3.2 检查Docker版本

检查Docker版本,当前安装版本为 26.1.3

[root@openEuler ~]# docker -v
Docker version 26.1.3, build b72abbb

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

[root@openEuler ~]# docker compose version
Docker Compose version v2.27.0

四、服务端配置流程

4.1 安装必要组件

执行以下命令,安装必要组件。

yum install -y nfs-utils rpcbind

4.2 创建共享目录

  • 创建以下共享目录
mkdir -p /data/nfs_share
chmod -R 777 /data/nfs_share
chown nobody:nobody /data/nfs_share

4.3 配置文件系统

在/etc/exports目录中,添加以下内容:

vim /etc/exports
/data/nfs_share 192.168.3.0/24(rw,sync,no_root_squash)

参数说明:

  • rw:读写权限
  • sync:同步写入
  • no_root_squash:保留root权限

4.4 防火墙配置

  • 放行相关服务或者在测试环境中停用防火墙
firewall-cmd --permanent --add-service={nfs,mountd,rpc-bind}
firewall-cmd --reload

4.5 启动服务

systemctl enable --now rpcbind nfs-server
systemctl status nfs-server

在这里插入图片描述

4.6 验证配置

  • 查看生效的共享配置
[root@openEuler ~]# exportfs -v
/data/nfs_share192.168.3.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)

五、客户端配置

5.1 安装客户端组件

执行以下命令,安装客户端组件。

yum  install -y nfs-utils

5.2 挂载远程目录

  • 客户端测试nfs文件共享服务
[root@openEuler ~]# showmount -e 192.168.3.83
Export list for 192.168.3.83:
/data/nfs_share 192.168.3.0/24
  • 挂载远程目录
mkdir /mnt/nfs_client
mount -t nfs 192.168.3.83:/data/nfs_share /mnt/nfs_client

5.3 验证挂载

通过在客户端执行 df -hT | grep nfs 命令,验证NFS共享目录已成功挂载到本地 /mnt/nfs_client 路径。

[root@openEuler ~]# df -hT | grep nfs
192.168.3.83:/data/nfs_share nfs4       69G  3.3G   62G   5% /mnt/nfs_client
  • 我们测试在挂载目录下新建文件,正常新建文件则配置成功。
[root@openEuler ~]# touch /mnt/nfs_client/testfile
[root@openEuler ~]# ll /mnt/nfs_client/testfile
-rw-r--r--. 1 root root 0 Mar 31 20:10 /mnt/nfs_client/testfile

5.4 配置自动挂载

编辑/etc/fstab

192.168.3.83:/data/nfs_share /mnt/nfs_client nfs defaults 0 0

六、高级配置技巧

6.1 用户权限管理

# 创建专用用户组
groupadd -g 2000 nfsusers
useradd -u 2001 -g nfsusers user1
chown -R user1:nfsusers /data/nfs_share

6.2 配额限制

yum install quota -y
quotacheck -cum /data
quotaon /data

6.3 日志监控

# 启用详细日志
echo "RPCNFSDARGS=\"-V 4\"" >> /etc/sysconfig/nfs# 查看访问日志
tail -f /var/log/messages | grep nfs

6.4 故障排查指南

常见问题分析:

  • 挂载失败:检查防火墙设置和路由可达性

  • 权限拒绝:验证exports配置和文件系统权限

  • 性能低下:尝试调整rsize/wsize参数

  • 诊断命令

# 检查RPC服务状态
rpcinfo -p# 测试端口连通性
telnet 192.168.1.100 2049# 查看NFS统计
nfsstat -c

七、总结

通过本次实践,我们在华为openEuler系统上成功部署并配置了NFS文件共享服务,验证了从服务端设置到客户端挂载的完整流程。过程中,我们不仅掌握了NFS的基本配置方法,还探索了权限管理、配额限制等高级功能,提升了对openEuler系统在实际应用中的理解与操作技能。最终,此次部署展示了NFS在促进文件资源共享方面的强大能力及其在多样的企业环境中的适用性。

http://www.dtcms.com/a/297558.html

相关文章:

  • 开疆智能ModbusTCP转Profient网关连接西门子PLC与川崎机器人配置案例
  • ModelWhale+数据分析 消费者行为数据分析实战
  • UE5多人MOBA+GAS 30、技能升级机制
  • 计算机体系结构中的中断服务程序ISR是什么?
  • Android 的16 KB内存页设备需要硬件支持吗,还是只需要手机升级到Android15系统就可以
  • Haproxy七层代理及配置
  • LabVIEW VI 脚本:已知与未知对象引用获取
  • 在 .NET 中使用 Base64 时容易踩的坑总结
  • iOS 日志查看实战指南,如何全面获取与分析 App 和系统日志
  • 栈与队列:数据结构核心解密
  • CurseForge中文官网 - 我的世界游戏MOD模组资源下载网站|下载入口|打不开
  • AMBA - CHI(2) 基本结构和对应通道信息
  • 基于深度学习的胸部 X 光图像肺炎分类系统(五)
  • 【Linux】进程切换与优先级
  • Mysql 索引下推(Index Condition Pushdown, ICP)详解
  • RK3588 HDMI-RX 驱动、RGA 加速与 OpenCV GStreamer 支持完整指南
  • 测试覆盖率:衡量测试的充分性和完整性
  • 巧用Proxy与异步编程:绕过浏览器安全限制实现文件选择器触发
  • JAVA同城服务家政服务家政派单系统源码微信小程序+微信公众号+APP+H5
  • 大语言模型生成式人工智能企业应用
  • 【Android】桌面小组件开发
  • 【通识】如何看电路图
  • Python 程序设计讲义(21):循环结构——while循环
  • C++ 常用的数据结构(适配器容量:栈、队列、优先队列)
  • centos 7 开启80,443端口,怎么弄?
  • CentOS 8 安装HGDB V4.5 psql命令执行报错
  • VR 污水处理技术赋能广州猎德污水处理厂,处理效率显著提升
  • 从0开始学习R语言--Day57--SCAD模型
  • 无需 Root 关闭联网验证 随意修改手机名称(适用于OPPO、一加、真我)
  • 图论水题日记