具有NVcaching的RAID控制器是否可以提高SSDarrays的性能或完整性?

我打算购买带有RAID 10的固态硬盘的服务器(戴尔PowerEdge R740),我的优先级是写入性能和数据完整性。 它将运行Linux。 SSD具有写保护function的caching

这似乎是我的RAID选项:

  • PERC H330(无caching),软件RAID(传递)
  • PERC H330(无caching),硬件RAID(直写)
  • PERC H730P(2 Gb NVcaching),硬件RAID(直写)
  • PERC H740P(8 Gb NVcaching),硬件RAID(直写)

我的问题:

  • 这些configuration中的任何configuration是否有数据丢失或电力损失损坏的风险?
  • 我应该期望哪种configuration具有最佳的写入性能?
  • NVcaching有没有其他的好处,我没有考虑?

相关问题:

  • 软件与硬件RAID性能和caching使用情况
  • LSI FastPath与软件RAID有什么不同?

如果与没有 powerloss保护的写入caching的SSD一起使用,RAID控制器的NVCACHE对获得良好的性能非常重要。

但是,当您使用具有 powerloss保护的写入caching的SSD时不同选项之间的性能差别不会太大。 另一方面,还有其他因素需要考虑:

  • 使用硬件RAID通常可以更简单地识别和更换发生故障的磁盘:控制器清楚地标记受影响的驱动器(例如:黄灯),更换驱动器通常就像拉出旧驱动器/插入新驱动器一样简单。 使用软件RAID解决scheme,您需要input适当的命令来识别和更换发生故障的驱动器;
  • 硬件RAID提供了一个单一的卷启动,而软件RAID显示各种组件设备;
  • 使用正确的控制器(即:H730或H740)和磁盘(SAS 4Kn),您可以非常方便地启用扩展数据完整性字段(T10 / T13)。
  • 硬件RAID会运行一个不可控制的不透明二进制blob,
  • Linux软件RAID比我以前使用的任何硬件RAID都要灵活得多。

也就是说,在这样的设置上,我强烈build议您考虑在Linux上使用ZFS:powerloss-protected写入caching意味着您可以在没有专用ZIL设备的情况下继续前进,而ZFS添加的function(压缩,校验和等)可能非常有用。

要直接回复您的问题:

  1. 这些configuration中的任何configuration是否有数据丢失或电力损失损坏的风险? 否:因为任何caching都受到保护,所以您不应该损失任何关于功耗的数据。
  2. 我应该期望哪种configuration具有最佳的写入性能? configuration为回写式caching模式的H740P应该为您提供绝对最大的写入性能。 但是,在某些情况下,根据您的特定工作负载,写入速度可能会更快。 DELL(和LSI)控制器甚至具有一些特定的SSDfunction(即:CTIO和FastPath),这些function基于直写function,可以提高随机写入性能。
  3. NVcaching有没有其他的好处,我没有考虑? 是的:具有适当NVCACHE的控制器决不会让两个RAID1 / 10支路具有不同的数据。 在某些情况下,Linux软件RAID容易(无害) RAID1不匹配 。 ZFS不会遇到这个问题。

问题1:这些configuration中的任何configuration是否存在丢失数据或损坏电源的风险?

A1:你不应该有任何问题,除非你将回写模式下configurationcaching,并没有NV RAM。

Q2:我应该期望哪种configuration具有最好的写入性能?

A2:显然有最大量的caching! …并没有奇偶校验RAID,但当然是RAID10。

Q3:我还没有考虑NVcaching的其他好处吗?

A3:写合并,欺骗等,但这些都是微不足道的。

您可能想要使用Bonnie ++在服务器RAID卡/ Perc vs SSD上进行testing。 HDD速度5k / 10 / 16k rpm或混合驱动器将会改变统计数据和caching使用情况。

ZFS的另一个倡导者。我在90年代中期开始使用SGI的服务器,而ZFS则把任何与UFS / ext2 / 3相关的东西都击毁了。

除了上面的好答案之外:一个经常被遗忘的项目,但是对于任何 RAID的扩展完整性来说都是数据清理 (又称媒体巡视读取巡视) 。 这可以确保所有磁盘上的所有数据都可以长时间读取。

如果没有清理,很可能 – 在经过很长一段时间,大量的领域甚至是可能的情况下 – 长时间没有使用的数据部分不再可读。 在正常的操作模式下,这不是一个问题,因为可以使用冗余数据重build坏扇区。 但是,如果磁盘出现故障,您已经失去了冗余(RAID 6或嵌套RAID级别除外),并且在重build过程中出现坏扇区时,您已经死在水中。

所以,除非你喜欢不愉快的意外,否则总是启用数据清理