哪一个最好?
使用 HW raid 镜像 2 个内部磁盘,然后将 ZFS 文件系统放在其上
或者
使用没有 HW Raid 的 2 个内部磁盘并使用这 2 个磁盘创建 ZFS 镜像。
我读到过,要充分利用 ZFS 的优势,至少需要 2 个磁盘才能充分利用其错误更正和预测功能。
这是 ZFS 是否基于 HW RAID 的问题,还是只是 ZFS 的问题,而不是 HW 与 ZFS 的问题。性能不是我关心的问题。
答案1
如果 ZFS 尽可能多地了解底层物理磁盘结构,则其工作效果最佳。硬件 RAID 1 将向操作系统呈现单个卷,然后 ZFS 会将其视为单个磁盘。因此,您将错过错误更正/故障检测/校验和等好处。
使用 ZFS 而不是 HW RAID 还有另一个好处 - 如果您的硬件坏了,无论是主板、RAID 卡、CPU 等,您都可以取出磁盘并在运行 ZFS 的任何其他系统中使用它们,并且整个文件系统都是可读的。如果您使用 HW RAID,您可能依赖于该特定 RAID 卡,因此如果它发生故障,您可能需要找到类似的型号才能再次读取磁盘。您可以通过使用双 RAID 卡来缓解这种情况,但这通常会变得昂贵且复杂。
根据我的经验,对于我使用镜像磁盘配置的大多数用例,ZFS 和 HW RAID 之间的性能差异并不大。如果性能是您的首要考虑因素,那么 HW RAID 将提供最佳解决方案。在所有其他情况下,我认为 ZFS 是更好的选择。
答案2
虽然我很喜欢 ZFS,但如果你要进行大量的写入操作,那么请考虑到任何软件 RAID 1/10 都需要通过总线和控制器将每次写入发送两次 - 这意味着你可能会陷入拥塞和队列问题。
答案3
ZFS 具有许多内置优化功能,在没有 Raid 控制器的情况下使用时效果最佳。在 ZFS Raid1 上,您可以获得通常优于硬件 Raid 的读取性能,此外,使用 RaidZ,您可以获得优于硬件 Raid5 的性能。只需查看安纳德科技。
不过,你绝对需要考虑的是 ZFS 如何缓存。你基本上应该有 4GB 的 RAM 才能使用它,8GB 才能获得不错的性能,但更多的 RAM 总是好的。在很多情况下,更多的 RAM 有助于 ZFS。不过,提高性能的最佳方法是为 ZIL 和 L2ARC 使用单独的设备 (SSD),因为它们通常会成为性能的瓶颈。这稍微解释了一下 L2ARC 背后的想法。
硬件 Raid 的主要问题是 ZFS 所做的与 Raid 控制器所做的相同,因此,当使用低于 ZFS 的硬件 Raid 时,Raid 控制器会期望自己且仅自己执行排队、缓存、IO 优化等操作,而位于其上的 ZFS 也期望自己执行相同的操作。这当然会产生副作用,而且这些副作用不一定很好,并且很可能会对性能产生负面影响,因为 ZFS 执行 I/O 并行的方式。此外,其预测性的“自我修复”功能在某种程度上将毫无用处。因此,特别建议在使用 Raid 控制器时,应将磁盘 JBOD 公开为单磁盘 Raid0 设备,以便 ZFS 可以自行完成日常工作。
答案4
嗯,你需要定义“最佳”。我期望带有 BBU 的优质硬件 RAID 控制器能够提供卓越的性能,但性能可能不是你的主要考虑因素。