ZFS 位于硬件镜像之上,还是仅在 ZFS 中镜像?

ZFS 位于硬件镜像之上,还是仅在 ZFS 中镜像?

我有一台 IBM x346,配有双 3.2Ghz Xeon 和 2x36GB 15k SCSI 磁盘。我正在运行完全基于 ZFS 的 FreeBSD 8.1 安装。

我可以配置 BIOS 来镜像两个磁盘,然后将 ZFS 放在该“单个”驱动器上,或者我可以使用 ZFS 镜像驱动器,然后安装到该驱动器上。

如果我采用全 ZFS 路线,我想我可以更自由地使用设备(例如,除了镜像系统安装外,我还可以设置快速非冗余条带区域)。就错误纠正而言,我有什么收获吗?重建性能/难易程度/时间?

我知道这两种配置可能完全相同,但我想听听第二种意见。

答案1

不知道速度如何,但我认为在 RAID 上运行 ZFS 意味着:

  • 您失去了原子写入的好处,因为现在 RAID 控制器对何时写入磁盘拥有最终决定权。这意味着您依赖 RAID 控制器的 NVRAM。

  • 如果数据写入不当,ZFS 也可能会被欺骗。ZFS 必须相信 RAID 控制器的说法。

  • 您还会丢失修复文件,因为从 ZFS 的角度来看,您只有一个磁盘,如果数据的完整性不好,ZFS 将无法修复它,因为没有第二份副本。(假设您没有设置副本=2)

  • 如果 RAID 驱动器不同步,则 RAID 驱动器可能需要一些时间才能同步,具体取决于日志记录能力。ZFS 将重新同步它发现的坏数据,并且至少某些操作系统可能会定期运行重新同步以确保完整性。同样,由于 RAID 只会向 ZFS 显示一个驱动器,因此 ZFS 无法帮助修复/重建。

  • 您将能够扩展 RAID(如果 RAID 具有此功能),并可能在更多驱动器上重建 ZFS 数据。(对我来说,考虑到迄今为止的缺点,这不是一个很大的优点。)

  • 当然,ZFS 的所有快照功能都不会受到影响(假设数据不会悄无声息地被破坏)。

硬件 RAID 几乎会抵消 ZFS 的任何优势。就我个人而言,我不建议在 ZFS 下使用任何东西,我会在裸机上运行 ZFS。

然而,如果存在我没有考虑到的优势,我很乐意听到。

答案2

ZFS 镜像会好得多。

镜像是一个非常简单的配置,几乎不需要 CPU 资源,但此外与硬件或伪硬件 raid 相比,您还可以获得更好的池控制。

在我自己的实践中,在现代系统中即使拥有 raidz 也比 hw raid5 更好,性能只慢 5-10%,但 ZFS 的好处完全可以弥补这一点(当然你还可以省钱,因为你不需要支持 hw raid5 的卡)。

答案3

我要考虑的一点是:

如果 RAID 控制器坏了怎么办?RAID 是否与其他硬件兼容,以便您轻松更换控制器?

使用 ZFS 则不会出现这个问题。只需插入一个新的控制器即可。

从那时起,我就使用 gmirror 来处理 UFS,使用 ZFS-RAID 来处理 ZFS 系统。我曾经有一个 RAID 控制器(当然是便宜的),它必须在启动系统(BIOS 阶段)之前重新同步驱动器,这需要很长时间(1.5TB 驱动器)。在此期间,您无法使用该系统。

使用 ZFS/gmirror,您可以重新启动系统,并且它会在您使用它时同步(甚至不推荐并且会降低系统速度)。

但我会确认斯科特的观点(甚至我更希望你标记出什么是优点,什么是缺点;))

答案4

使用硬件 RAID 的一个优点是性能可能会更高,因为您只需写入 RAID 控制器一次而不是两次。不过,可能只有一点点,而且只有当您已经达到极限时才会有。不过,出于上述所有原因,我自己会使用 ZFS 镜像。

回复:镜像 raid 存在硬件兼容性问题,我遇到了这个问题。问题是 raid 控制器将自己的标识数据放在驱动器上的某个位置。其他品牌的 raid 控制器不知道如何解释这一点。

相关内容