企业 RAID 直通上的 ZFS 和 FreeBSD 根上的 ZFS

企业 RAID 直通上的 ZFS 和 FreeBSD 根上的 ZFS

多年来,我们一直在 Dell PowerEdge 上的单个硬件 RAID 上运行 ZFS。我知道大多数人都反对这样做,但 ZFS 的快照/克隆、压缩和灵活分区对我们非常有用。每当驱动器坏掉时,就会派遣 Dell 技术人员(服务器在另一个州),他会确认驱动器有黄色指示灯,然后更换它。

现在我们想利用 ZFS 的 L2ARC/ZIL 缓存,我们正在认真考虑在裸盘上运行 ZFS。当前的戴尔 RAID 控制器 (PERC H730/H330) 确实支持直通。我剩下的问题是:

  1. 如果驱动器在 ZFS 中发生故障,前面板上是否会显示琥珀色灯?这很重要,因为派出的戴尔技术人员可能需要确认驱动器确实有故障。否则我们可能会遇到戴尔问题。

  2. 有人在 FreeBSD 根目录上运行 ZFS 吗?它的质量符合生产要求吗?有已知问题吗?

答案1

您可以使用 LSI MegaCLI 实用程序控制 PERC H730 和 H330,因为这两张卡都是带有 Dell PERC 标志的 LSI 卡。

有一篇关于如何做到这一点的优秀文章和教程https://calomel.org/megacli_lsi_commands.html

我知道linux系统有一个 ZFS 事件守护进程 (ZED),您可以使用它在某些事件上引起特定的事情发生(例如,当驱动器损坏时,使用 MegaCLI 打开特定插槽的琥珀色灯)。

据我所知,FreeBSD 有一个 ZFSd,它可以做类似的事情,但我不是 FreeBSD 专家,所以除了说 FreeBSD 论坛充满了有用的建议和乐于助人的人之外,无法向您提供更多信息。

我怀疑这样做最困难的部分是弄清楚给定驱动器的 MegaCLI“插槽”编号是什么,因为 ZFS 仅知道设备节点/名称,并且没有特定的 LSI 或 PERC 信息。如果设备节点名称与卡和插槽号直接相关,则可能是一个简单的转换......否则,可能会非常困难。

即使您必须在驱动器损坏时手动使用 MegaCLI 打开外壳中的琥珀色指示灯以满足戴尔技术人员的程序期望,您仍然最好提供 ZFS 原始驱动器而不是将 ZFS 覆盖在硬件 raid 之上 - 这样做会失去 ZFS 的大多数重要功能,而它们是最重要的功能(例如,数据的错误检测和更正)。

答案2

DELL PERC H330 或 H730 不适合 FreeBSD 中的 ZFS。人们对这些卡的“直通”模式存在很多误解,它们根本没有按照 FreeBSD 应有的方式实现该模式。它在 Windows 上确实有效,但在 FreeBSD 上却不行。

例如,如果你尝试在 FreeBSD 10.2 上使用这些控制器,它将加载多边金融机构(4)驱动程序实际上并不是为 ZFS 提供原始磁盘的支持方式。例如:使用此驱动程序,操作系统将无法获得 SMART 信息,这会损害阵列的可靠性。

有工作耐甲氧西林可待因病毒(4)驱动程序,但此驱动程序目前似乎不可靠,无法用于任何事情。磁盘丢失在存储系统上是不可行的。这里有一些关于此行为的报告:https://bugs.freenas.org/issues/11764

因此,我目前的建议是坚持使用您的设置。我知道,这很糟糕。但这是目前 ZFS 的最佳选择。请记住,ZFS 对您提供给它的硬件非常敏感。因此,它会期望合适的硬件能够正常工作。

如果您真的想充分利用 ZFS 的强大功能,请购买合适的 HBA 卡(或可以使用 IT - 启动器-目标 - 固件刷新的 RAID 控制器),就可以开始了。

尽管 PERC H330 基于 LSI/Avago SAS3008 芯片组,而且基本上是 LSI/Avaga 9300-8i HBA 的克隆,但无法将 H330 交叉刷新到 IT 模式,并且库存 DELL 固件没有为 FreeBSD 实现正确的(需要的)IT 模式。

此刻我遇到了类似的问题。我不关心系统上的 LED 灯或其他东西,但我只能使用 PowerEdge R730 和一台 H330,无法在机器上正确运行 ZFS 存储。

答案3

我已经想出了怎么做。真希望我能早点想到这么做。

我将 DELL H330 RAID 卡刷入 HBA IT 固件。

看这里:https://forums.servethehome.com/index.php?threads/crossflash-dell-h330-raid-card-to-12gbps-hba-it-firmware.25498/

相关内容