FreeBSD 作为 NAS 遇到了硬件兼容性问题,所以准备转到 Linux + OpenZFS 的方案,详见这篇帖子
系统盘是 SATA3 Intel S3710 200G ,企业级固态,质量很好。
lvm + ext4 是一开始的方案,但是我读 OpenZFS 文档的安装教程的时候看到了 Root on ZFS 这样的操作。
很纠结到底是 lvm + ext4 的方案,还是 Root on ZFS 。
我考虑 Root on ZFS 的出发点是,防止 bit rotate 以及比 lvm 灵活得多的快照。
各位推荐什么方案?又或者有其他方案?
1
totoro625 2023-09-28 15:18:00 +08:00
首先声明我是小白,计划国庆组一套 PVE
在我学习 ZFS 相关知识的时候,就看到很多起系统盘使用 ZFS 导致 PVE 启动失败的例子,例如 /t/944268 甚至在 LVM vs ZFS 的帖子里,大部分人包括 OP 都不支持 Root on ZFS , /t/819674 我在咨询 ZFS 相关问题的帖子内,也有热心网友建议不要在根目录使用 ZFS , /t/972903 我的想法是,用一块较小容量的 SSD 运行 PVE ,不在该硬盘上放置任何 swap 、vm ,也不用于备份,仅仅用于 PVE 系统启动 ZFS(Mirror)用作 VM 的系统盘,ZFS(RAID-Z2)用作 VM 的数据盘,单独一块 NVME SSD 做 L2ARC 和 SWAP |
2
gridsah OP |
3
cnbatch 2023-09-28 16:24:28 +08:00
还有其它选择,比如 XFS 和 BTRFS
不过 BTRFS 没 ZFS 那么稳定就是了,也许只剩 XFS 可选 |
4
gridsah OP |
5
sky96111 2023-09-28 17:24:11 +08:00
当前的方案是 Linux+KVM LUN 直通给 NAS 虚拟机,单盘使用 XFS 。
近期买了 4 块 6T SAS 盘,准备改成 LUN 直通给 TrueNAS Scale ,使用 OpenZFS 。优点初始化快,缺点内存需求高 可选替代方案 LUN 直通给 OMV ,使用 RAID5+XFS 。优点轻量省资源,缺点第一次初始化时间极长 |
6
mantouboji 2023-09-28 19:09:31 +08:00 via iPad
你选什么狗屁 FreeBSD 和 ZFS 本来就是自寻烦恼. Linux 核心的软 RAID5 我从 1998 年用到现在了,好得很。Btrfs 和 XFS 我都在用,反正装 Fedora 的时候缺省的,没你担心的那么多乱七八糟。
再说了,你总该知道不管是 FreeBSD 还是 Linux ,各个目录挂不同类型的文件系统是常规操作。ZFS 那种垃圾别弄到/上给自己加戏,给个/home 足够了。 |
7
gridsah OP @mantouboji 嚯,98 年,那会还是流行 redhat 的时候,老哥你的使用经验很丰富啊。
你们是怎么处理机械硬盘上的静默错误的?就是 bit rotate ? mdadm 这种软 raid 没有办法处理的吧。xfs 也没有针对静默错误的方案。 btrfs 倒是带校验,但是我不相信你高强度用了 /滑稽 |
10
cnbatch 2023-09-28 22:33:58 +08:00
FreeBSD 的驱动问题应该能修好的,就看 FreeBSD 开发组什么时候能够拿到硬件实物做测试
我自己的 NAS 同样是基于 FreeBSD 的(衍生版,附带 WebUI ,为了方便出门在外时用手机远程检查状态),机箱内所有硬盘都是 ZFS ,系统盘也不例外 同样为了防止 bit rotate ,不但有 ECC 内存(这才是关键),并且不使用 SLOG 和 L2ARC 。慢就慢吧,不管再怎么慢,顺序读取都有三四百 MB/s 。 只要机械硬盘是 raidz 组的一部份,那就基本不用怕翻转错误,raidz 可以纠错的。独立单硬盘的出错才麻烦。专门给二级缓存再加 SSD raid1 有点奢侈,我小机箱放不下那么多╮(╯-╰)╭ |
11
gridsah OP @cnbatch 这 bug 修了我也很难从 Linux 转回去了。这种基础组件定下了几乎就只升级,不更改了 hhhhh
tb 有卖 ASM1182E 芯片的 PCIEx1 转双 nvme 的转接板。我用的就是这个,也确定不是它的问题。因为转接卡上放的是 SLOG , 而这 bug 是读数据时候触发的。 |
12
mantouboji 2023-09-29 02:38:01 +08:00 via iPad
@gridsah 你要说 1998 年那会儿没啥特别办法,这都二十几年了,mdadm 这种前端工具都给做好 systemd 的 timer 了,定期后台遍历整个阵列做校验,你只需要 systemctl enable 即可。
|
13
gridsah OP @mantouboji 我查了 RHEL 7-9 的文档,都没说 mdadm 可以防止静默错误。我问了华为存储设备的售后,他们只是说,他们的盘阵有定期巡检来修复静默错误,但不是 mdadm 。
倒是这篇文章提 mdadm 和静默错误了,但它只是加了个检测静默错误的中间层,无法自动修复。检测到静默错误整个文件系统直接 read only 了。 https://www.redhat.com/en/blog/what-bit-rot-and-how-can-i-detect-it-rhel mdadm 那个校验阵列的 timer 叫啥?我去看看它配置文件咋写的 |
14
MeteorCat 2023-09-29 10:12:05 +08:00 via Android
强烈推荐还是 ext4 最安全,家里断电你就知道难受了
|
15
benjaminliangcom 2023-09-29 11:47:48 +08:00 via iPhone
直接用 TrueNAS scale
|
17
bugprogrammer 2023-09-30 13:54:04 +08:00
说一下我的 homelab 方案吧。PVE+ZFS 做宿主机+NAS(PVE 直接做 nas ,不直通),然后安装各种虚拟机。win ,debian(挂载 nas 用 docker 实现功能需求。nfs 挂载 nas 媒体目录,iscsi 挂载 docker 配置文件目录,否则有些数据库文件会 lock),homeassistant 等(老方案,现在 ha 在另一台 j4125 机器上)。虚拟机磁盘直接指向 zfs 的 zvol ,每个虚拟机一个 zvol ,定期做快照,还原虚拟机就还原快照即可,不需要用 pve 的备份还原。
|
18
dilidilid 136 天前
MDADM 没有能力处理 bit rot ,他在瞎说。。。
|