从性能不佳的 RAID5 阵列升级

从性能不佳的 RAID5 阵列升级

经过大量调查和购买 PCMark7 后,我相信我已经找到了我的 PC 系统性能问题的根本原因——我的 RAID5 磁盘阵列。PCMark7 分数如下所示。我推测性能不佳是由于使用主板上的板载 RAID 控制器造成的。

我的问题是:

  1. 我说的这些绩效分数很低,对吗?
  2. 如果是,什么解决方案可以提高性能?(即对系统的修改)

注意:我使用 RAID 5 部分是为了好玩,部分是为了防止磁盘故障。请注意,我还将我的数据备份到外部驱动器,因此不需要告诉我 RAID 不能替代良好的备份策略。

System Storage Score: 1308
System Storage - importing pictures 5.18 MB/s
System Storage - adding music 0.7 MB/s
System Storage - video editng  15.00 MB/s

其他关键系统规格:

  • 英特尔酷睿 i7-950 处理器
  • 64 位 Windows 7(6.1.7601)
  • 8,192 MB 内存(Corsair DDR3 @ 667 MHz)
  • 1,500 GB Volume0 阵列

完整结果:http://www.3dmark.com/pcm7/584260

答案1

板载 RAID5 通常性能很差。Intel ICH10R(通常与 x58 芯片组配对的板载 SATA 控制器)不进行奇偶校验计算,这些计算会被卸载到您的 CPU 上。

如果您想继续使用板载控制器的 RAID,我推荐 RAID1 或 RAID10。两者都缺乏奇偶校验(RAID1 是一个简单的镜像,RAID10 是跨镜像的条带化),并且将提供更好的性能。

如果您想继续使用 RAID5,请放弃板载 SATA 控制器并购买合适的 RAID 卡。您将看到更好的性能(在大多数情况下甚至比单磁盘更快)。

答案2

首先,为了确认您的补充说明,RAID(任何配置)都不是备份解决方案。某些 RAID 配置是冗余解决方案,但不是备份。冗余意味着您可以在发生硬件故障时保留数据。备份意味着您可以恢复数据。如果您意外从 RAID1 设置中删除文件,它将从两个驱动器中“删除”。

为了向您提供我的 RAID5 配置的实际示例,我有 20 台虚拟机连接到 RAID5。我的服务器上的负载并不重,考虑到 20 台虚拟机正在争夺 4 个 7200 RPM 驱动器,IO 延迟也不算太糟糕。在更重的负载下,当所有虚拟机重新启动时,我看到我的 IO 延迟飙升至 60%,但这是可以预料到的。其中一台服务器每晚备份远程计算机,通常会看到 10-15% 的 IO 延迟。这仍然低于正常预期。我有大约 10 台 Web 服务器和 2 台电话服务器不断运行并给服务器带来负担。总而言之,它处理得非常好。

在此处输入图片描述

4 x 7200RPM 1.5TB 硬盘。

在此处输入图片描述

在运行所有虚拟机的情况下,通过此设置我平均可以获得 128MB/s 的速度(为了回答这个问题,我不会关闭它们。呵呵)

在此处输入图片描述

我的 Raid 控制器就是这个3ware 9650SE-4LPML并且已经运行多年。我没有这个 Raid 控制器的备用电池选项,但系统上有 UPS。

在此处输入图片描述

不过,我还有一个 SSD RAID 1,用于关键任务应用程序。即数据库服务器和需要高 IOPS 的服务器。尽管我的 RAID5 在吞吐量方面确实与 SSD RAID 1 相媲美,但考虑到寻道时间,SSD 配置比 RAID5 好得多。

在此处输入图片描述

答案3

Raid5 在写入方面天生就很慢。读取是它的优势,尽管它仍然落后于其他 raid 选项,例如 RAID10 (o + 1)。专用 raid 卡(例如 Dell Perc 5/i,可在 ebay 上以低于 60 美元的价格购买)是一个不错的选择,因为它肯定会提高您所看到的性能。另外检查一下 RAID10,您将需要 4 个大小相同的驱动器,但这将产生最佳性能,同时还允许最多 2 个驱动器发生故障。

Raid10 通常用于需要 I/O 性能的生产服务器系统,而 raid5 则用于存储更为关键但性能是次要的场合。

编辑:扩展一下,RAID10 会将阵列中一半的驱动器存储给您。因此,如果您在 raid10 中有 4 x 500GB 驱动器,则将有 1TB 的可用空间。在 Raid5 中,您将获得 n-1 个驱动器。因此,raid5 中相同的 4 x 500GB 驱动器将产生 1.5TB 阵列,同时仍可容忍单个驱动器故障。这就是使用 raid5 的原因,因为它具有容错能力,但仍提供不错的存储空间(一种折衷方案)。由于 Raid5 必须在每次写入时将奇偶校验写入其中一个磁盘,因此这会大大减慢该过程。Raid10 写入剥离的磁盘(提高性能),然后 raid 卡将“复制”(镜像)数据到冗余阵列。这不会降低性能,因为它是在写入完成后进行镜像的。

答案4

理论可靠性RAID 0、5、6、10。

RAID5/RAID6 - 显示 RAID6 比 RAID5 更安全。

RAID5/RAID10 - 显示 RAID10 比 RAID5 更安全。

p - HDD 发生故障的概率;(HDD 发生故障的概率以 % 除以 100%)

q = 1-p 可靠的 HDD。

红色以百分比显示 RAID 故障的概率。

其他颜色显示其他类型 RAID 至 RAID5 的可靠性。

M3 - the first three months of the disk, the probability of failure,  3%; 
Y/2 - half a year, the probability of failure, HDD                    2%; 
1Y - the first year of HDD, the probability of failure, HDD           1,7%; 
2Y - second year of the HDD, the probability of failure HDD           8%; 
3Y - the third year of the HDD, the probability of failure, HDD       8,7%; 
4Y - the fourth year of the HDD, the probability of failure HDD       6%; 
5Y - the fifth year of the HDD, HDD failure probability of            7%; 

来源可靠性磁盘信息取自:PDF!大量磁盘驱动器的故障趋势

磁盘阵列故障概率

4-5 年 Raid 阵列故障概率

RAID1 的故障概率

M3:0.09%; Y/2:0.04%; 1年:0.0289%; 2年:0.64%; 3年:0.7569%; 4年:0.36%; 5年:0.49%

RAID1 是最简单、最可靠的阵列。如果您执行一次备份,则可以将其视为一种 RAID1。由于可靠性不同,因此略有不同。

原件和备份副本发生故障的概率

如果您想要更高的可靠性,您可以在不同的设备上创建多个备份副本。数据丢失的可能百分比降低到:

原件发生故障的概率以及 (R-1) 份备份副本

RAID0 是最简单但不可靠的阵列。在这种短暂的实验中,当数据不是那么重要时,需要使用这种阵列。当需要速度时,使用此阵列,数据可能会完全丢失。

RAID0 故障概率

RAID5 很早以前就出现了,当时硬盘很小而且很贵,而树很大而且由于尺寸较小而可靠,并且恢复速度在当时是可以接受的,因此这种类型的 RAID 很有效。如果您突然想到一个好主意,就使用这样的阵列,请查看表格。

当其中一个硬盘出现问题时,RAID5 可能会丢失整个阵列。例如,如果它是从 1Tb 大小的硬盘构建的,则恢复速度将高达 1-2 天,而当阵列降级并且无法工作时,故障率约为 10-12%。在这种情况下,最好将数据恢复到外部存储阵列。

总体来说,是一个便宜的存储网站。

到目前为止,不建议使用 RAID5。

RAID5 故障概率

RAID6 - 可靠性。RAID5 比 RAID6 慢 20-15-10%,具体取决于控制器。回想一下,RAID5 不是很快。随着驱动器数量的增加,RAID6 的可靠性急剧下降。阵列中 8-10 个 HDD 是合理的限制。

RAID6 的故障概率

N - 是正偶数。

正偶数

RAID10 很难找到好的接地。主要是因为易于恢复。即使您的控制器被烧毁。除其他外,RAID10 的可靠性随着磁盘数量的增加而增加。例如,我看到运行 RAID10 c 12 个磁盘,其中 4 个不工作。奇怪的是,这种情况并不罕见,因为控制器保持正常工作的可能性为 48.5%。对于两个或三个磁盘,情况要好得多。

RAID 10 的故障概率设计为两种方式,第一种是仅当两个硬盘发生故障时,第二种是总故障概率。总概率包括 RAID 将继续运行的所有可能故障硬盘数量。

RAID 10 中的两个 HDD 发生故障:

RAID10 的 2 个 HDD 发生故障的概率

RAID 10 的总失败概率:

RAID10 的总故障概率

下面三个表代表以下项目:

第一个表格包含 RAID 将继续的组合数。左列 - RAID 中的 HDD 数量。顶部标题 - 故障 HDD 数量。

示例:RAID10 中的 12 个硬盘中有 3 个硬盘处于无序状态。当 3 个硬盘发生故障时,阵列仍可继续工作的组合数为 160。

第二个表格显示了 RAID 中一定数量的 HDD 的唯一组合数。左列 - RAID 中的 HDD 数量。顶部标题 - 计算唯一组合数的 HDD 数量。

示例:12 个 HDD 阵列中 3 个 HDD 的唯一组合数 - 220。

第三个表格显示了 RAID 将继续工作的组合百分比以及组合总数。左栏 - RAID 中的 HDD 数量。顶部标题 - 如果 RAID 的可靠性仅取决于 HDD 的组合,并且将进行此类测试,则 RAID 发生故障的概率。

示例:来自 RAID10 中的 12 个 HDD,其中 3 个 HDD 顺序错误。

RAID 阵列中继续存在良好组合的概率为 72.7%。

这些数字应该被考虑在内,但也要记住,我们处理的是概率的乘积。因此,如果这要归结为三个硬盘,那么得到的概率将会更小。

这些表的主要目的是让人们理解为什么随着磁盘数量的增加,RAID10 的可靠性会相对较高,而 RAID6 和 RAID5 的可靠性会下降。

我如何检查具有成功组合的表格?回想一下,硬盘故障时成功组合的总数是 (3^m) -1,其中 m=N/2。总结一下 RAID 10 的行数,就像我们一样,即使它是一个由 24 个磁盘组成的阵列:24+264+ ... + 4096,并与 (3^12) -1 进行比较。

组合表

RAID5 恢复失败的概率

LSI 24 SAS 端口控制器

关于 RAID 风险的讨论

Joerg H. • 热备件仅在阵列在驱动器完全损坏之前主动将其损坏时才对您有用。然后阵列可以将“损坏”的磁盘复制到热备件,而不是从奇偶校验重建数据。这样做的问题是,除非阵列非常主动,否则它有点碰运气,即使这样,也不能 100% 保证在发生硬故障之前检测到每个故障。因此,无论如何,您至少必须计划从奇偶校验重建。

关于 RAID-6 与其他 RAID 类型和磁盘大小。其实就是这么简单。当您考虑系统中的 MTTDL(平均数据丢失时间)时,如果系统中有 20 个 1TB 驱动器、50MB/秒的重建率,并且系统上存储了大约 15TB 的实际数据,您会得到以下 RAID 故障率:

第 1 年:RAID-5 - 13.76% RAID-10 - 0.078% RAID-6 - 0.516%

第 2 年:RAID-5 - 25.6% RAID-10 - 0.156% RAID-6 - 1.03%

第 3 年:RAID-5 - 36.86% RAID-10 - 0.23% RAID-6 - 1.54

第 5 年:RAID-5 - 53.30% RAID-10 - 0.38% RAID-6 - 2.56%

因此,正如您所看到的,我坚持我之前的建议,即经验法则实际上非常好。对于任何 1TB 或更大的驱动器,您都希望使用 RAID-5 以外的其他东西,就是这样。您不能依靠热备用来拯救您,因此您唯一的选择是典型阵列中的 RAID-10 或 RAID-6。选择您的毒药,或旋转腔室,这取决于您。

哦,还有一点,对于 Netapp 系统,就 MTTDL 而言,RAID-DP 数字几乎与 RAID-10 数字相同。显然,如果您的重建时间短于 50MB/秒,那么您的几率就会更高,如果重建时间更短,例如在某些 SATA 驱动器上,那么您的几率就会更低,但 50MB/秒是一个相当不错的平均数字。

最后,有些人认为 MTTDL 并不是衡量可靠性的良好指标。不幸的是,这是我们唯一常用的指标。​​有关该主题的更多信息,请参阅 Greenan、Plank 和 Wylie 的论文“平均时间到无意义:MTTDL、马尔可夫模型和存储系统可靠性”。

相关内容