带有 NV 缓存的 RAID 控制器是否可以提高 SSD 阵列的性能或完整性?

带有 NV 缓存的 RAID 控制器是否可以提高 SSD 阵列的性能或完整性?

我计划购买一台带有 RAID 10 的 SSD 的服务器 (Dell PowerEdge R740),我的首要任务是写入性能和数据完整性。它将运行 Linux。SSD 具有带断电保护的写入缓存。

这些似乎是我的 RAID 选项:

  • PERC H330(无缓存)、软件 RAID(直通)
  • PERC H330(无缓存)、硬件 RAID(直写)
  • PERC H730P(2 Gb NV 缓存)、硬件 RAID(直写)
  • PERC H740P(8 Gb NV 缓存)、硬件 RAID(直写)

我的问题:

  • 这些配置是否存在因断电而导致数据丢失或损坏的风险?
  • 我应该期望哪种配置具有最佳的写入性能?
  • NV 缓存还有哪些我尚未考虑到的好处?

相关问题:

答案1

如果与 SSD 一起使用没有断电保护写缓存,RAID 控制器的 NVCACHE 对于获得良好的性能极其重要。

但是,由于您使用的是 SSD断电保护写入缓存,不同选项之间的性能差异应该不大。另一方面,还有其他因素需要考虑:

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

也就是说,在这样的设置中,我强烈建议您考虑在 Linux 上使用 ZFS:断电保护的写缓存意味着您不需要专用的 ZIL 设备,而且 ZFS 添加的功能(压缩、校验和等)非常有用。

直接回答您的问题:

  1. 这些配置是否存在因断电而导致数据丢失或损坏的风险?否:由于任何缓存都受到保护,因此您不应该在断电时损坏任何数据。
  2. 我应该期望哪种配置具有最佳的写入性能?H740P 配置在回写缓存模式应该能为您提供绝对最大的写入性能。但是在某些情况下,根据您的特定工作负载,直写可能会更快。DELL(和 LSI)控制器甚至具有一些特定的 SSD 功能(即 CTIO 和 FastPath),这些功能基于直写,可以提高您的随机写入性能。
  3. NV 缓存还有哪些我尚未考虑到的好处?是的:具有适当 NVCACHE 的控制器将绝不让两个 RAID1/10 支路有不同的数据。在某些情况下,Linux 软件 RAID 容易出现(无害)RAID1 不匹配. ZFS 不会遭遇该问题。

答案2

问题 1:这些配置是否存在断电时数据丢失或损坏的风险?

A1:您应该不会遇到任何问题,除非您以写回模式配置缓存,并且不使用 NV RAM。

问题 2:我应该期望哪种配置具有最佳的写入性能?

A2:显然是具有最大缓存量的!...并且没有奇偶校验 RAID,但当然是 RAID10。

问题 3:NV 缓存还有其他我还没考虑到的好处吗?

A3:写入合并、欺骗等。但这些实际上都是小事。

答案3

您可能想要使用 Bonnie++ 对服务器 raid 卡/Perc 与 SSD 进行测试。HDD 速度 5k/10/16k rpm 或混合驱动器将改变统计数据和缓存使用情况。

另一个 ZFS 的倡导者.. 我从 90 年代中期开始使用 SGI 的服务器,ZFS 击败了所有与 UFS/ext2/3 相关的服务器.. 它是坚不可摧的。

答案4

除了上面的好答案之外:一个经常被遗忘但对扩展完整性必不可少的项目任何RAID 是数据清理又名媒体巡查或者阅读巡逻. 这可确保所有磁盘上的所有数据在较长时间内均可读取。

如果不进行清理,那么很长一段时间后,甚至在大量扇区之后,很长时间未使用的数据扇区可能不再可读。在正常运行模式下,这不是问题,因为可以使用冗余数据重建坏扇区。但是,如果磁盘失败您已经失去了冗余(RAID 6 或嵌套 RAID 级别除外),并且当重建过程中出现坏扇区时,您就陷入困境了。

所以,始终启用数据清理除非你喜欢不愉快的惊喜。

相关内容