linuxer
linuxer
发布于 2026-05-09 / 51 阅读
0
0

Storage Health Plugin v3.5 - OpenWrt 存储健康监控插件

heart-test.png

Storage Health Plugin v3.5 - OpenWrt 存储健康监控插件

一款专为 OpenWrt 路由器打造的全方位存储健康监控与诊断工具
支持的硬件:eMMC | NAND Flash | 内存 | 网络端口 | CPU/SoC | CoreMark 跑分


📋 v3.5 更新内容

🛠 修复改进

  • CoreMark 显示优化 — 改用 13px 行内样式显示在大字体旁边,不再突兀

  • 智能空间选择 — 速度测试自动选取最大可用分区,不再硬编码特定分区号

  • 自动清理增强 — cleanup/trap 遍历 /mnt/* /overlay/* 全部子目录,不留临时文件

  • BIWIN 制造商确认 — 制造商 ID 0x88 确认为 佰维(BIWIN),去除问号标记

✨ 新增功能

  • NAND 坏块扫描器 — 新增专用 storage_nand_badblocks.sh,支持快速/深度双扫描模式

  • 分区查看器 — 支持 eMMC / NAND / 混合存储双栏并排显示

  • 网络端口实时监控 — 每个端口独立显示 🟢/🔴 状态、速率

  • WiFi 最大速率检测 — 自动识别 802.11ax/ac/n 频宽并计算理论速率

  • eMMC 总线模式 — 支持 HS200/HS400/DDR52 检测,覆盖 dmesg 简略信息

完整版本历史

版本

更新内容

v3.0

全新 7 卡仪表盘 + SoC 检测 + CoreMark + 网络端口

v2.5

速度测试 10 秒平均 + 4K 随机 IOPS + 内存带宽测试

v2.3

寿命预估优化 + 中文备注全覆盖 + 防重复单位

v2.2

中文本地化 + 生命周期估算 + Argon 主题适配

v2.1

LuCI 25.x + Argon 集成、AJAX 实时刷新


✨ 核心功能一览

💾 eMMC 健康检测

自动读取 ext_csd 寄存器,实时监控:

  • 寿命 — EOL 预警告 / SLC 磨损 / MLC 磨损

  • 总线模式 — HS400 / HS200 / DDR52 / SDR

  • 容量 — 精确到 GB

  • 协议版本 — eMMC 4.5 / 5.0 / 5.1

  • 制造商识别 — 数十种 eMMC 芯片自动识别

💿 NAND Flash 检测

  • 三层坏块扫描:sysfs 快速扫描 → dmesg 增量对比 → UBI PEB 统计

  • 制造商识别:Micron / Samsung / Toshiba / Winbond 等

  • ECC 纠正检测:统计已纠正的错误比特

  • UBI 健康统计:坏 PEB 数量

🧠 内存带宽测试

  • 多测试模式:info / quick / stress / full / burnin

  • DDR 类型检测:自动识别 DDR3/4/5 LPDDR4/4X/5

  • 纯 RAM 带宽测试:tmpfs 写入 / 读取

  • 自动恢复:测试后检查 uhttpd/rpcd 是否 OOM 被杀并自动重启

🖥 SoC / 系统信息

  • SoC 检测:Qualcomm / MediaTek / Rockchip / Allwinner

  • CPU 信息:核心数 + 运行频率

  • CoreMark 跑分:读取预缓存分数或手动跑分

  • 内核版本:Linux 内核 + OpenWrt 版本

🔌 网络端口监控

  • 物理端口过滤:自动跳过 docker / veth / tun / tap / br 等虚拟接口

  • 速率显示:每个端口实时显示连接速率

  • 链路状态:🟢 已连接 / 🔴 未连接

  • WiFi 检测:频段 + 频宽 + 最大理论速率

📂 分区查看器

  • 智能识别:自动检测 eMMC / NAND / 混合存储

  • 双栏并排:eMMC + NAND 同时显示

  • 详细信息:分区名 / 大小 / 标签 / 文件系统 / 挂载点


🚀 安装指南

在线安装(推荐)

# 通过 SSH 登录路由器后执行
curl -o /tmp/luci-app-storage-health_3.5_all.ipk \
  https://godsun.pro/upload/luci-app-storage-health_3.5_all.ipk

# 校验文件完整性
md5sum /tmp/luci-app-storage-health_3.5_all.ipk
# 期望值: 108bc5d82e93cdd4fcd02e0e6fb8f4f8

# 安装
opkg install /tmp/luci-app-storage-health_3.5_all.ipk

# 访问 LuCI → 服务 → Storage Health

直接部署(免安装)

# 从共享目录获取 tarball 解压
curl -o /tmp/storage-health-v3.5.tar.gz \
  https://godsun.pro/upload/storage-health-plugin-v3.5.tar.gz

tar -xzf /tmp/storage-health-v3.5.tar.gz -C /

# 重启 LuCI 缓存
rm -rf /tmp/luci-*
/etc/init.d/rpcd restart
/etc/init.d/uhttpd restart

验证安装

# 检查脚本是否完整
ls /usr/bin/storage_*.sh | wc -l
# 应该有 15 个脚本

# 运行快速诊断
/usr/bin/storage_health.sh
/usr/bin/storage_soc.sh
/usr/bin/storage_network.sh

📸 功能展示

仪表盘示例输出

💾 eMMC
健康: 优秀 (剩余寿命 >90%)
总线: HS400 (超高速)
容量: 230 GB
版本: eMMC 5.1 | 制造商: Longsys/江波龙

🖥 系统
SoC: Qualcomm IPQ6018
CPU: 4 核 @ 1.8 GHz
CoreMark: 23541 (单核≈5885)

🔌 网络
LAN1: 🟢 1.0 Gbps
WAN:  🟢 2.5 Gbps
wlan0: ✅ 5G HE80 最大 1201 Mbps

🧠 内存
测试通过 | 总容量 908 MB
写: 881 MB/s | 读: 2048 MB/s
类型: LPDDR4X 2133 MHz

NAND 坏块扫描

# 快速扫描
/usr/bin/storage_nand_badblocks.sh quick
# 输出: ✅ PASS (无坏块, 8分区)

# 深度扫描(读取所有分区 + dmesg 对比)
/usr/bin/storage_nand_badblocks.sh deep
# 输出: 扫描完成, 新发现坏块: 0

🎯 测试验证

已在以下设备通过全面测试:

设备

SoC

存储

状态

JDCloud AX1800 Pro

Qualcomm IPQ6018

eMMC 230GB HS400

✅ 全功能

JDCloud AX6600

Qualcomm IPQ6018

eMMC (含 Docker 环境)

✅ 含 Docker 过滤

360T7

MediaTek MT7981

NAND 122MB

✅ 纯 NAND 无 eMMC


📦 文件结构

/usr/bin/storage_health.sh         eMMC 健康 + 总线模式检测
/usr/bin/storage_soc.sh            SoC + CPU + CoreMark
/usr/bin/storage_network.sh        端口速率 + WiFi 检测
/usr/bin/storage_memory.sh         内存测试 (5 种模式)
/usr/bin/storage_speed.sh          顺序 + 4K 随机 IO 基准
/usr/bin/storage_detail.sh         制造商 + CID 详情
/usr/bin/storage_analyze.sh        完整分析报告
/usr/bin/storage_nand.sh           NAND Flash 检测
/usr/bin/storage_nand_badblocks.sh NAND 坏块扫描 (quick/deep)
/usr/bin/storage_partition.sh      分区查看器
/usr/bin/storage_coremark.sh       CoreMark 跑分器
/usr/bin/storage_smart.sh          综合诊断
/usr/bin/storage_ctl.sh            控制脚本
/usr/bin/storage_api.py            Python API 服务 (端口 8766)
/usr/bin/storage_inject.sh         状态注入脚本
/usr/lib/lua/luci/controller/storage_health.lua  LuCI 控制器 (11 API)
/usr/lib/lua/luci/view/storage_health/overview.htm  7 卡仪表盘
/etc/init.d/storage-health         开机自启服务
/etc/config/storage-health         UCI 配置
/www/storage_health.html           独立瀑布流式后备页面

📥 下载

文件

大小

MD5

luci-app-storage-health_3.5_all.ipk

~80 KB

108bc5d82e93cdd4fcd02e0e6fb8f4f8

storage-health-plugin-v3.5.tar.gz

~60 KB

(下载后 md5sum 校验)

局域网共享

\\192.168.8.8\sy1800\storage-health-plugin\

🔧 开发者信息

本项目由 数码罗记 开发维护,接受社区贡献。

  • 架构限制:所有脚本 + View 控制器 < 100 KB

  • 兼容性:OpenWrt BusyBox(无 GNU dd 速度回显,无 grep -P

  • 主题适配:原生支持 LuCI Argon 主题

  • 语言:全中文界面 + 中文备注


by 数码罗记 · godsun.pro

Storage Health Plugin — 让你的路由器存储健康一目了然


评论