@
mrzx 1. 这是性能问题不是数据正确性问题。只要软件要求它落盘( flush )的时候它确实落盘了,那就只是性能问题。ZFS 的正确性不依赖硬盘的缓存,而是在关键节点上落盘实现的。COW 文件系统就是这一点好。写到一半挂了,那你至少有旧数据还在。
2. smart 定期检测,有坏道的立刻淘汰。不管是不是 smr 都迟早要坏的。我从 18 年用到现在,还没坏过一块硬盘。那两块 smr 盘我就是等着它先坏的。我有 cmr 备件待命,也实测过我上面说的重建方法,对我来说可以接受。
3. ZFS 经常 scrub ,不会出现你说的问题。不 scrub 用什么 ZFS 。
“truenas 系统盘即使保存配置,也受版本影响的,我家里的硬件平台整体迁移了 3 次(现在 nas 服务器配置了 256G 内存,服务器主板+E5 cpu)...我很清楚,而且阵列信息都在配置里,怎么能算没价值的数据呢?如果系统盘损毁,你又没保存配置,请问你原先做的所有用户权限怎么恢复的过来?”
truenas 系统升级不影响数据盘的 ZFS 版本,只要 ZFS 版本不变,就能在对应版本的 openzfs 导入。如果 ZFS 版本有更新,truenas 不会自动升级,只有你确认升级才升级。
阵列信息不在配置文件里。你把数据盘放到任何一台有 openzfs 驱动的系统上都能读取。硬盘加载的顺序和卷标不重要,只要能读取硬盘,ZFS 都能自动识别。ZFS 和 raid 卡不一样。
用户和权限设置在配置文件里啊。我说了备份配置文件没有? truenas 可以导出配置文件的啊。你所有的用户和服务配置信息都在里面。
我捡垃圾换了好几次硬件了,都没什么问题。
“后期 truenas 的版本要求系统盘也必须存放再 SSD 硬盘里了,安装时有个检测机制,我是一路升上去的,没这个问题”
垃圾 SSD 单盘足矣。官方推荐配置是考虑企业用户推荐的。你不关心 SLA 的话就无所谓。数据安全由 ZFS 保证。
“你知道 raidz2 有个问题,就是写入性能低下,双副本天生自带的,没办法...”
家用 nas 也就存存备份文件。瓶颈是网络,我 6 盘 raidz2 也有 500MB/s 读写。远超千兆网络上限了。我也没那么多数据要备份。
跑下载跑应用的,我上面提到过,就是单盘,垃圾 SSD ,有坏道的旧硬盘,我都用。备份数据的 app (比如 immich )的数据库文件和备份的数据还是在 raidz2 上,性能可以接受。垃圾 SSD 上只有 docker 镜像,这些都可以从网上下载。恢复的时候只要数据盘在就行了。
你有一个误区就是程序和数据分不开。程序要性能,数据要安全。同时要性能和安全的话成本会非常高。分开程序和数据是业界的趋势。docker 就是一个例子。程序部分只读,就不需要担心状态一致性的问题,这就可以很方便地横向扩展。