多年来,我们一直在使用dell供电的单个硬件RAID上运行ZFS。 我知道大多数人都反对,但ZFS的快照/克隆,压缩和灵活分区为我们提供了很好的服务。 每当一个驱动器死亡,一个戴尔技术人员被派遣(服务器在另一个国家),他会确认驱动器有一个黄灯,并将其更换。
现在我们要利用ZFS的L2ARC / ZILcaching,我们正在认真考虑在裸磁盘上运行ZFS。 目前的戴尔RAID控制器(PERC H730 / H330)确实支持pass-through。 我剩下的问题是:
如果驱动器在ZFS上出现故障,它是否在前面板上显示黄灯? 这一点很重要,因为派遣的戴尔技术人员可能需要确认驱动器是否有故障。 否则,我们可能会与戴尔的问题。
有没有人在FreeBSD root上运行ZFS? 它在生产质量? 任何已知的问题?
您可以使用LSI MegaCLI实用程序来控制PERC H730和H330,因为这两种卡都是Dell PERC带有徽章的LSI卡。
在https://calomel.org/megacli_lsi_commands.html有一篇很好的文章和教程。
我知道zfsonlinux有一个ZFS Event Daemon(ZED事件守护进程),您可以使用它来在特定事件中发生特定事件(例如,在驱动器死亡时使用MegaCLI为特定插槽打开琥珀色灯光)。
IIRC,FreeBSD有一个ZFSd可以做类似的事情,但我不是FreeBSD的专家,所以不能指出更多的信息,而不是说FreeBSD论坛充满了有用的build议和有帮助的人。
我怀疑这样做最困难的部分是计算给定驱动器的MegaCLI“插槽”编号是什么,因为ZFS只知道设备节点/名称,并没有特定的LSI或PERC信息。 如果设备节点名称与卡和槽号直接相关,则可能是一个微不足道的转换….否则,可能会非常困难。
即使您需要手动使用MegaCLI打开驱动器死机以满足戴尔技术的程序期望,从shell上的琥珀色灯光,但您最好还是给予ZFS原始驱动器,而不是在硬件RAID之上覆盖ZFS – 您这样做会损失ZFS的大部分重要function,而且它们是最重要的function(例如错误检测和数据更正)。
DELL PERC H330或H730在FreeBSD中不适用于ZFS。 对于这些卡的“直通”模式存在很多误解,而且他们根本就没有像FreeBSD那样实现这一点。 它确实可以在Windows上运行,但FreeBSD并不是这种情况。
例如,如果您尝试在FreeBSD 10.2上使用这些控制器,它将使用mfi(4)驱动程序加载,而实际上这不是支持为ZFS提供原始磁盘的方式。 例如:使用此驱动程序,SMART信息将不可用于操作系统,这会损害您的arrays的可靠性。
在mrsas(4)驱动程序上运行,但是这个驱动程序在这个时候似乎是不可靠的,并且不能用于任何事情。 磁盘丢失在存储系统上不可行。 这里有一些关于这种行为的报告: https ://bugs.freenas.org/issues/11764
所以现在我的build议是坚持你的设置。 我知道,这很糟糕。 但是这次ZFS是最好的select。 请记住,ZFS对于您提供给他的硬件真的很有气质。 所以它会期望一个适当的硬件工作,因为它应该。
如果您真的想要使用ZFS,请使用适当的HBA卡(或者可以使用IT启动器 – 目标 – 固件的RAID控制器),然后您就可以开始使用了。
尽pipePERC H330基于LSI / Avago SAS3008芯片组,基本上是LSI / Avaga 9300-8i HBA的克隆,但H330无法与IT模式交叉闪存,而DELL固件版本不能实现正确(需要)FreeBSD的IT模式。
在这一刻,我也有类似的问题。 我不在乎系统上的LED灯或其他什么,但我坚持用一台H330的PowerEdge R730,并且无法正确运行机器上的ZFS存储。