openEuler 22.03 NFS + mergerfs 存储池部署与性能调优完整文档
openEuler 22.03 NFS mergerfs 存储池部署与性能调优完整文档文档概述本文档基于实际生产环境部署经验详细记录了在 openEuler 22.03 系统上使用NFS mergerfs构建超大容量统一存储池的完整流程。特别针对NFS 写入性能瓶颈进行了深度排查与优化最终将 NFS 写入速度从642 KB/s提升至342 MB/s峰值并实现了长期稳定运行。文档结构系统架构概述存储服务器NFS 服务端配置客户端服务器NFS 客户端 mergerfs配置性能调优核心章节监控与运维常见故障排查附录完整配置清单1. 系统架构概述1.1 硬件环境角色IPCPU内存存储客户端合并节点192.168.20.364核188GB本地 138TB/dev/mapper/vgdata-lvdata存储服务器1192.168.20.1464核188GB本地 139TB/bak存储服务器2192.168.20.1964核188GB本地 139TB/bak存储服务器N192.168.20.x64核188GB本地 139TB/bak1.2 软件版本操作系统openEuler 22.03 (LTS-SP1)NFS 版本v4.2客户端/ v4.2服务端mergerfs 版本2.40.21.3 架构示意图┌─────────────────────────────────────────────────────────────────┐ │ 客户端服务器 (192.168.20.3) │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ /bak (mergerfs 统一挂载点) │ │ │ │ 总容量 本地138T 多个NFS分支各139T │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ ▼ ▼ ▼ ▼ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │localbak │ │ nfs14 │ │ nfs19 │ │ nfs20 │ │ │ │(本地存储)│ │(NFS挂载) │ │(NFS挂载) │ │(NFS挂载) │ │ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ ▼ ▼ ▼ ▼ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ 本地存储设备 │ │192.168.20.14│ │192.168.20.19│ │192.168.20.20│ │ /bak 138T │ │ /bak 139T │ │ /bak 139T │ │ /bak 139T │ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘2. 存储服务器NFS 服务端配置适用于所有 NFS 服务端192.168.20.14、192.168.20.19 等。2.1 安装 NFS 服务sudodnfinstall-ynfs-utils2.2 启动并启用服务sudosystemctlenablerpcbind nfs-serversudosystemctl start rpcbindsudosystemctl start nfs-server2.3 配置共享目录/etc/exports编辑/etc/exportssudovi/etc/exports添加以下内容将192.168.20.3替换为实际客户端 IP/bak 192.168.20.3(rw,async,no_root_squash,no_subtree_check)⚠️ 关键参数说明asyncvssyncasync能大幅提升写入性能测试中从 6MB/s 提升至 342MB/s但存在数据丢失风险服务器意外断电时可能丢失未落盘数据。sync数据安全但性能极低。no_root_squash允许客户端 root 用户保持 root 权限按需使用有安全风险。no_subtree_check禁用子目录检查提升性能。2.4 使配置生效sudoexportfs-rsudoexportfs-v# 验证2.5 配置防火墙sudofirewall-cmd--permanent--add-servicenfssudofirewall-cmd--permanent--add-servicemountdsudofirewall-cmd--permanent--add-servicerpc-bindsudofirewall-cmd--reload2.6 优化 NFS 服务线程数关键编辑/etc/nfs.confsudovi/etc/nfs.conf在[nfsd]段添加[nfsd] threads128重启服务sudosystemctl restart nfs-server验证cat/proc/net/rpc/nfsd|grepth# 应显示 th 128 ...说明默认线程数仅为 8对于 64 核 CPU 严重不足。调高至 128 后并发处理能力大幅提升。2.7 优化内核脏页参数用于 async 模式性能调优编辑/etc/sysctl.confsudovi/etc/sysctl.conf添加vm.dirty_background_ratio 5 vm.dirty_ratio 10 vm.dirty_expire_centisecs 1000生效sudosysctl-p参数说明dirty_background_ratio5脏页占内存 5% 时后台开始刷盘。dirty_ratio10脏页占内存 10% 时前台写入被阻塞强制刷盘。dirty_expire_centisecs1000脏页存活超过 10 秒后强制刷盘。3. 客户端服务器配置192.168.20.33.1 安装 NFS 客户端和 mergerfs# 安装 NFS 客户端sudodnfinstall-ynfs-utils# 安装 mergerfs以 2.40.2 为例wgethttps://github.com/trapexit/mergerfs/releases/download/2.40.2/mergerfs-2.40.2-1.el8.x86_64.rpmsudodnfinstall-y./mergerfs-2.40.2-1.el8.x86_64.rpm3.2 准备挂载点# 本地存储挂载点sudomkdir-p/mnt/localbak# 远程 NFS 挂载点sudomkdir-p/mnt/nfs14 /mnt/nfs19 /mnt/nfs20# 按需添加# mergerfs 合并挂载点sudomkdir-p/bak3.3 挂载本地存储# 假设本地存储设备为 /dev/mapper/vgdata-lvdatasudomount/dev/mapper/vgdata-lvdata /mnt/localbak3.4 挂载远程 NFS性能优化版挂载参数说明rsize4194304,wsize4194304读写块大小设为 4MB提升大文件吞吐量。vers4.2使用 NFSv4.2支持nconnect特性。nconnect8为单个挂载点建立 8 个 TCP 连接充分利用多核 CPU。noatime,nodiratime禁用访问时间更新减少元数据开销。sudomount-tnfs-orw,hard,intr,rsize4194304,wsize4194304,noatime,nodiratime,vers4.2,nconnect8192.168.20.14:/bak /mnt/nfs14sudomount-tnfs-orw,hard,intr,rsize4194304,wsize4194304,noatime,nodiratime,vers4.2,nconnect8192.168.20.19:/bak /mnt/nfs19验证挂载df-h/mnt/nfs14 /mnt/nfs193.5 配置 mergerfs 合并存储池sudomergerfs-odefaults,allow_other,category.createmfs,minfreespace10240G /mnt/localbak:/mnt/nfs14:/mnt/nfs19 /bak验证df-h/bak# 应显示总容量约为 138T 139T 139T 416T4. 开机自动挂载systemd fstab4.1 配置 /etc/fstab编辑/etc/fstabsudovi/etc/fstab添加# 本地存储挂载到 /mnt/localbak /dev/mapper/vgdata-lvdata /mnt/localbak xfs defaults 0 0 # 远程 NFS 存储 192.168.20.14:/bak /mnt/nfs14 nfs rw,hard,intr,rsize4194304,wsize4194304,noatime,nodiratime,vers4.2,nconnect8,_netdev 0 0 192.168.20.19:/bak /mnt/nfs19 nfs rw,hard,intr,rsize4194304,wsize4194304,noatime,nodiratime,vers4.2,nconnect8,_netdev 0 0测试 fstabsudomount-a4.2 创建 systemd 服务编辑/etc/systemd/system/mergerfs-bak.servicesudovi/etc/systemd/system/mergerfs-bak.service写入[Unit] DescriptionMergerfs pool for /bak Requiresnetwork-online.target Afternetwork-online.target remote-fs.target Wantsremote-fs.target [Service] Typesimple ExecStartPre/bin/mount -a ExecStart/usr/bin/mergerfs -f -o defaults,allow_other,category.createmfs,minfreespace10240G /mnt/localbak:/mnt/nfs14:/mnt/nfs19 /bak ExecStop/bin/umount /bak Restarton-failure [Install] WantedBymulti-user.target启用并启动服务sudosystemctl daemon-reloadsudosystemctlenablemergerfs-bak.servicesudosystemctl start mergerfs-bak.servicesudosystemctl status mergerfs-bak.service5. 性能调优核心章节5.1 排查过程总结阶段操作速度结果说明初始状态服务端sync 默认参数642 KB/s极慢无法接受调整服务端线程数threads1286.2 MB/s提升 10 倍但仍不理想服务端改为asyncsync→async342 MB/s峰值瓶颈解除性能飞跃长期持续写入100GB 持续写入~80 MB/s受限于物理磁盘速度内核参数调优dirty_ratio10%稳定运行防止内存溢出5.2 关键优化点优化 1服务端 /etc/exports —sync改为async# 修改前/bak192.168.20.3(rw,sync,no_subtree_check,no_root_squash)# 修改后/bak192.168.20.3(rw,async,no_subtree_check,no_root_squash)优化 2服务端 NFS 线程数# /etc/nfs.conf[nfsd]threads128优化 3客户端挂载参数mount-tnfs-orw,hard,intr,rsize4194304,wsize4194304,noatime,nodiratime,vers4.2,nconnect8IP:/bak /mountpoint优化 4服务端内核脏页参数# /etc/sysctl.confvm.dirty_background_ratio5vm.dirty_ratio10vm.dirty_expire_centisecs10005.3 性能验证命令写入测试客户端# 10GB 写入测试ddif/dev/zeroof/mnt/nfs14/test.ddbs1Mcount10240oflagdirectstatusprogress# 100GB 持续写入测试ddif/dev/zeroof/mnt/nfs14/longtest.ddbs1Mcount102400oflagdirectstatusprogress读取测试客户端ddif/mnt/nfs14/test.ddof/dev/nullbs1Mcount10240iflagdirectstatusprogress网络带宽测试# 服务端iperf3-s# 客户端iperf3-c192.168.20.146. 热添加新 NFS 分支在线扩容当需要添加新的存储服务器如 192.168.20.20时6.1 挂载新 NFSsudomkdir-p/mnt/nfs20sudomount-tnfs-orw,hard,intr,rsize4194304,wsize4194304,noatime,nodiratime,vers4.2,nconnect8192.168.20.20:/bak /mnt/nfs206.2 热添加到 mergerfsechoadd /mnt/nfs20|sudotee/bak/.mergerfs/ctl6.3 验证扩容df-h/bak6.4 持久化配置更新/etc/fstab和 systemd 服务的ExecStart分支列表。7. 监控与运维7.1 监控命令查看脏页状态服务端watch-n2cat /proc/meminfo | grep -E Dirty|Writeback|DirtyThreshold查看 NFS 统计信息nfsstat-c# 客户端nfsstat-s# 服务端查看 NFS 服务线程数服务端cat/proc/net/rpc/nfsd|grepth查看磁盘 I/Oiostat-x1查看 mergerfs 状态客户端mount|grepmergerfsdf-h/bak7.2 服务管理# 启动/停止/重启 mergerfs 服务sudosystemctl start mergerfs-bak.servicesudosystemctl stop mergerfs-bak.servicesudosystemctl restart mergerfs-bak.service# 查看服务状态和日志sudosystemctl status mergerfs-bak.servicesudojournalctl-xeumergerfs-bak.service-n507.3 取消 mergerfs 恢复原始挂载# 停止服务sudosystemctl stop mergerfs-bak.servicesudosystemctl disable mergerfs-bak.service# 卸载 mergerfs 挂载点sudoumount/bak# 恢复本地存储到 /baksudomount/dev/mapper/vgdata-lvdata /bak8. 常见故障排查问题现象可能原因解决方案NFS 写入速度极慢1MB/s服务端 /etc/exports 使用了sync改为async注意数据风险NFS 服务启动失败线程数配置错误或端口冲突检查/etc/nfs.conf语法查看systemctl status nfs-servermergerfs 服务启动后立即退出systemd 服务类型错误或缺少-f参数确保Typesimple且ExecStart包含-fumount: target is busy有进程正在使用挂载点使用sudo fuser -km /bak强制终止或cd /后重试热添加失败No such file or directorymergerfs 控制接口未启用删除/bak/.mergerfs文件重新挂载 mergerfs写入速度波动大间歇性卡顿脏页阈值设置不合理调整dirty_ratio和dirty_background_ratio网络带宽不足物理链路或交换机限制使用iperf3测试检查网卡速率和 MTU9. 附录9.1 最终配置文件清单服务端192.168.20.x/etc/exports/bak 192.168.20.3(rw,async,no_root_squash,no_subtree_check)/etc/nfs.conf[nfsd] threads128/etc/sysctl.conf追加vm.dirty_background_ratio 5 vm.dirty_ratio 10 vm.dirty_expire_centisecs 1000客户端192.168.20.3/etc/fstab/dev/mapper/vgdata-lvdata /mnt/localbak xfs defaults 0 0 192.168.20.14:/bak /mnt/nfs14 nfs rw,hard,intr,rsize4194304,wsize4194304,noatime,nodiratime,vers4.2,nconnect8,_netdev 0 0 192.168.20.19:/bak /mnt/nfs19 nfs rw,hard,intr,rsize4194304,wsize4194304,noatime,nodiratime,vers4.2,nconnect8,_netdev 0 0/etc/systemd/system/mergerfs-bak.service[Unit] DescriptionMergerfs pool for /bak Requiresnetwork-online.target Afternetwork-online.target remote-fs.target Wantsremote-fs.target [Service] Typesimple ExecStartPre/bin/mount -a ExecStart/usr/bin/mergerfs -f -o defaults,allow_other,category.createmfs,minfreespace10240G /mnt/localbak:/mnt/nfs14:/mnt/nfs19 /bak ExecStop/bin/umount /bak Restarton-failure [Install] WantedBymulti-user.target9.2 性能基准参考场景速度服务端本地磁盘写入80 MB/s物理磁盘极限NFS 写入峰值async 内存缓存342 MB/sNFS 写入持续稳定80 MB/s网络带宽iperf38.79 Gbits/secmergerfs 写入底层 NFS 优化后≈ NFS 写入速度9.3 参考文档openEuler 官方文档mergerfs GitHubNFS 性能调优指南文档版本2.0 | 最后更新2026-07-14 | 适用环境openEuler 22.03

相关新闻

链接表能删了:Access 直连 SQL Server,DAO 绑窗体 + ADO 参数查询完整代码

链接表能删了:Access 直连 SQL Server,DAO 绑窗体 + ADO 参数查询完整代码

摘要: 后台是 SQL Server 却不想用链接表?本文介绍 DAO 直连绑定窗体和 ADO 参数化查询两种方案,配完整可运行代码,直接拿走用。access开发|access培训|access框架|请添加edonsoft。Hi,大家好! 上一篇讲了 …

2026/7/23 22:01:37阅读更多 →
AI 协作完整流程:从任务输入到可验证产出

AI 协作完整流程:从任务输入到可验证产出

AI 协作完整流程:从任务输入到可验证产出 版本:2026-07-16 适用对象:使用 AI 处理写作、研究、代码和知识工作的个人或小团队 核心目标:让 AI 不只是“生成答案”,而是参与一套可审阅、可验证、可回写、可演化的协作闭…

2026/7/23 22:01:37阅读更多 →
51单片机从零到实战(13)——毕设常用ADC模块

51单片机从零到实战(13)——毕设常用ADC模块

第 13 篇:ADC 模数转换——让单片机"感知"模拟世界 温度、光线、声音、电压——这些是连续的"模拟量"。ADC 把它们变成单片机懂的"数字量"。STC89C52 没有内置 ADC,我们用 PCF8591 模块(I2C 接口,5…

2026/7/23 22:01:36阅读更多 →
三森沃智能文件柜|告别人工台账,开启档案智慧管理新时代

三森沃智能文件柜|告别人工台账,开启档案智慧管理新时代

三森沃智能文件柜|告别人工台账,开启档案智慧管理新时代档案室还在用传统铁皮柜?钥匙保管麻烦、文件借阅无记录、盘点耗时耗力、涉密资料管控难。文件丢失、调档缓慢、审计追溯无凭证,一直困扰机关单位、企业、院校档案管理人员。…

2026/7/23 23:26:00阅读更多 →
K3爆火触发算力“熔断”,Kimi多维度“摸高”挑战与机遇并存!

K3爆火触发算力“熔断”,Kimi多维度“摸高”挑战与机遇并存!

【K3爆火,Kimi暂停新用户订阅】这一次,K3爆火, Kimi 却不得不按下暂停键。7月19日深夜,月之暗面 Kimi 团队发布公告,因 Kimi K3上线48小时内,用户请求量大幅超出预估,由于算力资源紧张&#xff…

2026/7/23 23:26:00阅读更多 →
太原不锈钢岗亭

太原不锈钢岗亭

好的,遵照您的要求,我将以“太原不锈钢岗亭”为主题,撰写一篇800-1000字的深度分析文章,内容符合主流平台审核标准,并自然融入品牌信息。在城市管理的精细化与智能化浪潮中,岗亭早已超越了“值班小屋”的单…

2026/7/23 23:26:00阅读更多 →
初识C语言 | 第6篇

初识C语言 | 第6篇

文章目录调试调试目标核心调试方法(使用 VS 集成调试器)设置断点启动调试单步执行与观察C语言的语句if语句语法结构if语句书写推荐if...else实例switch语句switch语句的特点(核心)switch语句与if...else语句的相同点switch语句与i…

2026/7/23 23:26:00阅读更多 →
【00003】

【00003】

二、C语言2.2常用的输入输出函数1.常用的输入输出函数&#xff08;1&#xff09;输入输出函数头文件#include <stdio.h>&#xff08;2&#xff09;输入输出函数1. 单个字符的输入输出函数&#xff08;1&#xff09;putchar功能&#xff1a;在终端打印一个字符使用示例put…

2026/7/23 23:26:00阅读更多 →
光电幕墙简介

光电幕墙简介

光电幕墙 光电幕墙,即粘贴在玻璃上,镶嵌于两片玻璃之间,通过电池可将光能转化成电能。这就是--太阳能光电幕墙。它是用光电池、光电板技术,把太阳光转化为电能,它关键的技术是太阳能光电池技术。太阳能光电池是利用太阳光的光子能量,使得被照射的电解液或者半导体材料的电…

2026/7/23 23:24:00阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中&#xff0c;我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源&#xff0c;还是配置文件、证书等&#xff0c;都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下&#xff0c;但这…

2026/7/23 0:56:31阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP&#xff08;轻量级目录访问协议&#xff09;作为企业级身份认证的黄金标准&#xff0c;已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时&#xff0c;发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/23 0:56:31阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”&#xff0c;而是以可解释、可审计、可迭代的方式&#xff0c;赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/23 0:56:31阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南&#xff1a;免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:00:28阅读更多 →
从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;从单点好评到指数级传播&#xff1a;AI副业主理人必须掌握的4层口碑渗透模型&#xff08;含ROI测算表&#xff09; 当AI副业主理人不再仅满足于单次服务交付&#xff0c;而是主动构建可复用、可裂变、可…

2026/7/23 0:00:28阅读更多 →
油泥处理设备哪里能买到

油泥处理设备哪里能买到

油泥处理设备哪里有&#xff1f;这是许多从事油田、炼化、清罐业务的从业者最关心的问题。根据河南三丰环保设备有限公司的行业经验&#xff0c;选购油泥处理设备的核心在于设备能否适配当地环保法规与原料特性&#xff0c;而非单纯看价格。该公司总经理王钦田先生指出&#xf…

2026/7/23 0:00:28阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时&#xff0c;发现推理速度只有可怜的 1-2 FPS&#xff0c;而别人的演示视频却能跑到 30 FPS 以上&#xff0c;那么问题很可能不在模型本身&#xff0c;而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后&#xff0c;会直接使用官方示例…

2026/7/23 22:58:43阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一&#xff1a;为什么你需要了解 Coze 和 Dify&#xff1f;如果你对 AI 应用开发感兴趣&#xff0c;但一看到“大模型”、“智能体”、“工作流”这些词就头疼&#xff0c;觉得门槛太高&#xff0c;那这篇文章就是为你准备的。很多开发者&#xff0c;包括我自己&#…

2026/7/23 18:58:18阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会&#xff1a;配图一直是个让人头疼的问题。2026年&#xff0c;AI生图工具已经非常成熟了&#xff0c;但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1&#xff1a;速度之王2026年6月11日&#xff0c…

2026/7/23 18:58:18阅读更多 →