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

举报
江湖有缘 发表于 2025/03/31 21:44:18 2025/03/31
【摘要】 基于华为openEuler系统部署NFS文件共享服务【华为根技术】


前言


在现代计算环境中,文件共享服务是连接不同设备和操作系统之间的重要桥梁,而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 本次环境规划

本次环境规划如下所示:

服务器 HostName IP地址 操作系统 内核版本 部署项目
VM虚拟机 openEuler 192.168.3.83 openEuler 24.03 (LTS) 6.6.0-28.0.0.34.oe2403.x86_64 NFS服务端
VM虚拟机 openEuler 192.168.3.83 openEuler 24.03 (LTS) 6.6.0-28.0.0.34.oe2403.x86_64 NFS客户端

三、本地环境检查

3.1 检查Docker服务状态

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

[root@openEuler ~]# systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: 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.socket
       Docs: https://docs.docker.com
   Main PID: 1382 (dockerd)
      Tasks: 10
     Memory: 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_share
		192.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在促进文件资源共享方面的强大能力及其在多样的企业环境中的适用性。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。