V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  zhughs  ›  全部回复第 1 页 / 共 1 页
回复总数  3
2023-10-28 21:07:03 +08:00
回复了 gridsah 创建的主题 程序员 从最近发的一个工单来吐槽一下群晖的技术支持和 DSM Raid
@gridsah
1.好像目前群晖还没有收费的技术支持,可能你买一台 DS3622xs 再提工单会好一些?(充值方式不同)
这边有用公司的 SA3200D 提交问题,回复速度和回复问题的精细程度完全碾压我自己 916 提的。
2.有关于 mdadm 自己也不知道自己的 raid5 中哪里的数据对,哪里的数据不对,mdadm 所做的只是让 mdadm 可以正常运行下去
btrfs 可以通过出错逻辑位置转换为物理位置然后让对应的 mdadm 重算,这个在技术层面可以实现。而且新版本也有提供 mdadm 的 fast repair 功能,这个需要文件系统的配合,说明是有魔改过的。

3.data checksum 是存储在 btrfs 的 checksum tree ,而 checksum tree 是在 metadata extent 里的,所以必定是两份。
2023-10-28 19:51:53 +08:00
回复了 gridsah 创建的主题 程序员 从最近发的一个工单来吐槽一下群晖的技术支持和 DSM Raid
感觉有点强人所难,就好比你买了个微软 win11 系统然后去问微软客服 refs 怎么保护我的数据一样。
再说 btrfs 又不是群晖开发的,你这么问人家难免会有些来找茬的感觉。
对于楼主问题:
在 Linux 上 btrfs 默认存储两份 metadata 用于在 metadata 损坏时修复这些损坏的 metadata ,而 data 则只存了一份,所以在这种情况下,如果 data 的 checksum 出现异常则无法修复。

有查到官方文件中大致解决流程是在启用一致性校验的共享文件夹中写入数据时会生成文件的 btrfs 文件系统 checksum ,在你读文件时会重新计算文件的 checksum 查看是否和之前记录的 checksum 一致,如果不一致则可能是 data 区域坏了,那这个时候就会调用 mdadm 的修复功能,以 3 块盘 raid5 为例,在正常读文件的时候是不会去读校验块的,所以可能是数据盘 2 块的其中一块发生问题导致 data 出错,那这个时候就会尝试使用 mdadm 的校验块和两块盘分别尝试进行数据恢复,如果重计算出来的 data 和 btrfs 里之前记录的 checksum 一致则就恢复成功,那如果都失败那就完蛋了。而又由于 btrfs 文件系统的 checksum 是在 metadata 里的会存两份,所以文件的 checksum 出错概率会相对比较低。
玩物出公告了,那个卸载完还跑进程的问题是个 bug ? https://www.ionewu.com/pro_wwxz_notice_20191222.html
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5250 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 12ms · UTC 03:41 · PVG 11:41 · LAX 19:41 · JFK 22:41
Developed with CodeLauncher
♥ Do have faith in what you're doing.