Its*_*tMe 84 raid performance lsi
我已经阅读了很多关于 RAID 控制器/设置的文章,经常出现的一件事是没有缓存的硬件控制器如何提供与软件 RAID 相同的性能。真的是这样吗?
我一直认为硬件 RAID 卡即使没有缓存也能提供更好的性能。我的意思是,你有专门的硬件来执行任务。如果是这种情况,获得没有缓存的 RAID 卡(例如 LSI 9341-4i 之类的并不便宜)有什么好处。
此外,如果只有缓存才能提高性能,是否有缓存配置可以立即写入磁盘但将数据保留在缓存中以进行读取操作,从而使 BBU 不是优先事项?
sho*_*hok 157
简而言之:如果使用低端RAID卡(无缓存),帮自己一个忙,改用软件RAID。如果使用中高端卡(带 BBU 或 NVRAM),那么硬件通常(但不总是!见下文)是一个不错的选择。
长答案:当计算能力有限时,硬件 RAID 卡在卸载涉及它们的 RAID 方案(RAID 3/4/5、RAID6、ecc)的奇偶校验/综合计算方面具有显着优势。
然而,随着不断增加的CPU性能,这种优势基本消失:连我的笔记本电脑的古CPU(酷睿i5中号520,Westmere的一代)具有超过4 GB / s的XOR性能和超过3 GB RAID-6综合征性能/ s的每单执行核心。
今天硬件 RAID 保持的优势是存在断电保护的 DRAM 缓存,以 BBU 或 NVRAM 的形式存在。这种受保护的缓存为随机写入访问(以及命中的读取)提供了非常低的延迟,并且基本上将随机写入转换为顺序写入。没有这种缓存的 RAID 控制器几乎毫无用处。而且,一些低端的RAID控制器不仅没有缓存,而是强行禁用磁盘的私有DRAM缓存,导致性能比没有RAID卡更慢。戴尔的 PERC H200 和 H300 卡就是一个例子:如果较新的固件没有改变这一点,它们将完全禁用磁盘的私有缓存(并且在磁盘连接到 RAID 控制器时无法重新启用)。帮自己一个忙,做永远不要购买此类控制器。虽然更高端的控制器经常禁用磁盘的私有缓存,但它们至少有自己的受保护缓存 - 使 HDD(但不是 SSD!)的私有缓存有些多余。
不过,这还不是结束。即使是功能强大的控制器(带有 BBU 或 NVRAM 缓存的控制器)在与 SSD 一起使用时也会产生不一致的结果,主要是因为 SSD 确实需要一个快速的私有缓存来实现高效的 FLASH 页面编程/擦除。虽然一些(大多数?)控制器允许您重新启用磁盘的私有缓存(例如:PERC H700/710/710P 让用户重新启用它),但如果私有缓存没有写保护,您可能会丢失数据,以防万一的功率损失。确切的行为确实取决于控制器和固件(例如:在具有 256 MB WB 缓存和启用磁盘缓存的 DELL S6/i上,我在多次计划的断电测试中没有任何损失),这带来了不确定性和很多担忧。
另一方面,开源软件 RAID 是更可控的野兽——它们的软件没有包含在专有固件中,并且具有明确定义的元数据模式和行为。软件 RAID 做出(正确的)假设,即磁盘的私有 DRAM 缓存不受保护,但同时它对于可接受的性能至关重要 - 因此他们通常不会禁用它,而是使用 ATA FLUSH / FUA 命令来确定关键数据稳定存储。由于它们通常从连接到芯片组 SB 的 SATA 端口运行,因此它们的带宽非常好,驱动程序支持也非常出色。
但是,如果与机械 HDD 一起使用,与具有 WB 缓存的硬件 RAID 控制器相比,同步、随机写入访问模式(例如:数据库、虚拟机)将受到很大影响。另一方面,当与企业 SSD 一起使用时(即:具有掉电保护的写缓存),软件 RAID 通常表现出色,其结果甚至比使用硬件 RAID 卡所能达到的还要高。也就是说,您必须记住,消费级 SSD(读取:具有不受保护的回写缓存)虽然非常擅长读取和异步写入,但在同步写入工作负载中提供非常低的 IOPS。
还要考虑软件 RAID 并非都是一样的。Windows 软件 RAID 名声不佳,性能明智,甚至存储空间似乎也没有太大区别。Linux MD Raid 异常快速且用途广泛,但 Linux I/O 堆栈由多个独立的部分组成,您需要仔细理解这些部分才能发挥最大性能。ZFS奇偶校验RAID(ZRAID)是非常先进的,但如果配置不正确,可以给你非常差眼压; 另一方面,镜像+条带化表现相当不错。无论如何,它需要一个快速的 SLOG 设备来进行同步写入处理 (ZIL)。
底线:
小智 7
你眼中的 RAID 控制器是一个便宜的,基本上是一个 fakeraid。它甚至取决于您的主板提供一些功能,例如内存,并且没有多少主板支持它导致您无法加载驱动程序。
关于 HW 与 SW-RAID 本身。我不再使用 HW-RAID,除非它是一个带有 EMC 标志的盒子,例如。对于其他一切,我只是出于一些非常简单的原因再次切换回 SW-RAID 很多卫星。
您需要额外的硬件并且需要匹配它们。您还需要匹配固件并保持同步。许多磁盘将无法正常工作,并且您的 IO 延迟会无缘无故地激增。
额外的硬件很昂贵,因此您可以使用额外的 1000 美元(具有两个/三个磁盘的体面控制器)来更好地构建小型解决方案。投资于更多磁盘和标准控制器、ECC 内存、更快的 CPU。如果您计划运行时间超过保修期或不想支付隔夜运输的快递费用,则可以使用现场备用磁盘。
升级很痛苦,因为您需要跟踪磁盘和控制器的操作系统补丁和固件。这可能会导致无法再进行升级/更新的情况。
关于磁盘格式。足够多的供应商使用一些内部布局来存储与您的硬件和固件组合的修订相关的数据。这可能会导致更换部件使您无法访问您的数据的情况。
这是一个 SPOF 和瓶颈。只有一个 PCI 桥接器后面只有一个控制器并不能提供您真正需要的性能和冗余。这也导致不存在将数据迁移到控制器无法到达的另一个磁盘集的迁移路径。
这些问题中的大部分都已通过新一代 SW-RAID 软件或 ZFS 和 BtrFS 等解决方案得到解决。请记住,最终您希望保护您的数据,而不是快速访问,而是多余的垃圾。
| 归档时间: |
|
| 查看次数: |
106910 次 |
| 最近记录: |