ZFS和SAN – 最佳实践?

ZFS的大多数讨论表明,硬件RAID被closures,ZFS应直接与磁盘对话并pipe理主机(而不是RAID控制器)上的RAID。

这对于具有2-16甚至更多本地磁盘的计算机是有意义的,但是在具有大型SAN的环境中呢?

例如,我工作的企业有一个中等大小的SAN,有2个完整的磁盘架,就像400锭。 我看到SAN的架子比我们的密度要高,SAN的部署方式比我们的要大。

人们是否将100个磁盘直接暴露给大型ZFS服务器? 300个磁盘? 3000个磁盘? SANpipe理工具是否有助于这种事情的自动化pipe理?

FWIW我在单个ZFS池中有多达92个磁盘的经验,到目前为止它工作正常。

但是,如果你真的在谈论数百个磁盘,我会考虑它们划分成less数不相交(但仍然很大)的池。 我不想知道在一个3000磁盘池上运行zpool scrub会有多长时间(但是您需要定期清理)。 另外,诸如zpool status类的命令的输出对于如此大量的磁盘将是不便的。 那么为什么要把所有的鸡蛋放在一个篮子里?

(关于重复数据删除的注意事项:请注意,尽pipe可以在数据集级别控制重复数据删除,但是它会在池级别上find重复数据,即如果按照build议进行分区,则可能会得到更糟糕的重复数据删除结果。需要更多的内存来保存一个巨大的池的重复数据删除,如果这个池太大,可能不适合ARC + L2ARC。所以如果你使用的是重复数据删除,可用内存的数量可能是最大实际池大小的一个很好的指标。)

这里有一个网站,你可能要考虑考虑数据库的大小和configuration数据丢失的可能性。
https://blogs.oracle.com/relling/entry/zfs_copies_and_data_protection

替代文字

如果您不给ZFS冗余数据(例如镜像,RAID-Z),那么您将失去使用它的许多好处。 所涉及的磁盘数量不会改变这一事实。 但是,这是否真的取决于你的环境。 您必须确定您需要的存储function(可能需要大量劳动力的分析),然后寻找满足您需求的最便宜的解决scheme(您可以负担得起)。 这可能意味着在任何地方使用ZFS以及专门的Oracle存储设备(有些人这样做,并且有许多磁盘暴露给ZFS没有问题,并使用Oracle工具来pipe理),这可能意味着只使用企业SAN产品,或者可能意味着使用一些混合(在这种情况下,你可能必须自己开发一些工具和过程来pipe理环境)。 不要忘记,你的分析也需要考虑到人为因素(例如,也许你有一个存储人员团队,他们对SAN产品进行了高度有用和专门的培训,如果你去了所有的ZFS解决scheme,你将会失去) 。

我们让我们的SANpipe理RAID。 为什么要把钱花在所有电池供电的NVRAM和那些专用处理器上,然后把工作转移到服务器上,那些CPU想要做的不是RAID校验和呢?