收起左侧

ZFS 适配不足:自动快照及容量分析均不支持递归子卷

0
回复
82
查看
[ 复制链接 ]

2

主题

1

回帖

0

牛值

江湖小虾

2026-2-26 15:45:17 显示全部楼层 阅读模式

问题描述:
飞牛 OS(fnOS)在管理 ZFS 存储池时,存在两项严重影响体验的统计与备份问题。系统似乎将 ZFS 的 Dataset(子卷) 误认为是普通文件夹,导致自动化功能失效。

环境信息:

硬件平台: 极空间 Z423

存储架构: 包含多个手动建立的子卷(如 hdd/Media, pool/appdata 等)

Bug 1:自动快照不支持递归(Recursive)
现象: 对父卷执行自动快照后,快照内原本属于子卷的路径全部显示为空文件夹。

原因分析: 系统执行 zfs snapshot 时缺少 -r 参数。

后果: 用户手动建立的子卷数据实际上处于无备份状态,存在严重数据风险。

Bug 2:容量分析统计不完整
现象: 飞牛 UI 的“空间分析”或“容量统计”仅显示主池(父卷)根目录下的文件大小。

具体表现: * 终端执行 zfs list 显示 hdd 已使用 7.59T,其中 hdd/Media 占用 2.12T。

飞牛 UI 统计中,Media 文件夹显示的占用空间接近 0,导致总容量统计与实际严重不符。

原因分析: UI 统计程序在扫描目录时,未能正确穿透 ZFS 挂载点或未递归查询子卷的 USED 属性。

改进建议:

快照逻辑: 增加“递归快照”开关,默认或允许用户选择调用 zfs snapshot -r。

容量算法: 优化存储统计逻辑,针对 ZFS 文件系统应通过 zfs list -r 或递归求和的方式计算真实占用空间,而非简单的目录扫描。

架构建议: 既然 fnOS 支持 ZFS,建议深度适配其 Dataset 特性,让用户手动建立的子卷也能在 UI 中正常管理。

存储空间截图:
image.png

image.png

快照截图:(未递归处理zfs dataset,appdata为手动拍的快照,pool为飞牛自动拍的快照)

image.png

收藏
送赞 1
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则