RAID-软件与硬件


53

我一直使用基于硬件的RAID,因为它(IMHO)处于正确的级别(请随时对此表示怀疑),并且因为操作系统故障比硬件问题更常见于我。因此,如果OS出现故障,RAID也将消失,数据也将消失,而-在硬件级别上,无论OS是什么,数据都将保留。

但是,在最近的Stack Overflow播客中,他们表示将不使用硬件RAID,因为软件RAID会得到更好的开发,因此运行效果会更好。

所以我的问题是,是否有任何理由选择一个?

Answers:


24

我更喜欢硬件RAID,因为如果您必须从死机中拉出良好的磁盘,则不仅限于RAID“阵列”的OS配置。

您确实保留了RAID控制器配置的备份,不是吗?

因此,只需将其加载到供体计算机上,按顺序插入驱动器中(以正确的顺序!您是否在正确拉出驱动器之前标记了驱动器?),然后在干净的OS上重新启动即可恢复数据。

OS驱动器不是要保持的重要驱动器。要保持的最重要的工作是数据驱动器!!!!

(您确实备份了DATA驱动器,对吗?)


16
Linux软件团队在超级块中具有此信息。您甚至不需要以相同的顺序连接驱动器。它应该自动检测驱动器是阵列的一部分,以及哪些驱动器在哪个插槽中。
Segfault上尉,09年

1
@Guy,我从来没有为我做过这项工作……您一定有魔术手指
Unix Janitor 2010年

1
我曾在戴尔服务器和IBM服务器上进行过这项工作,尽管这非常麻烦。我也没有用。在软件方面,每当我移动Linux RAID磁盘(它们不会被旧计算机弄坏)时,它都可以正常工作。
比尔·魏斯

38

我更喜欢软件RAID。

软件RAID的一大优势是不与特定的硬件捆绑在一起。例如,我有控制器和/或主板故障,导致阵列丢失。

当今的CPU足够快,足以处理RAID-5变体的奇偶校验。我也从未遇到过多个并发读取导致总线饱和的问题。


4
+1-我曾经遇到过一个情况,即一个RAID控制器死了,我们必须寻找一个新的RAID控制器,然后我们才能使服务器恢复在线状态:(
Shard 2009年

+1 Jeff在最近的SO播客中提到,他加入了Linux风格的软件RAID阵营(即,操作系统基于一系列物理磁盘模拟虚拟磁盘-可启动并可用作根文件系统的虚拟磁盘)。
jhs

7
在服务器管理的16年中,我唯一失败的RAID控制器是“便宜”的控制器……或者不是惠普或戴尔提供的控制器,只有一个例外。我有一台已经使用了8年的Compaq Prolient服务器...并且它的Smart 2H最终在一天晚上死亡,原因是它旁边的AC设备购买了农场,服务器过热。硬件突击检查需要在凌晨3点进行大量猜测。
Thomas Denton,2009年

1
我正在努力使用一个HP SmartArray控制器来将全新的驱动器标记为无故故障。由于这种情况,系统或多或少地被疏散了。有偿支持否认了控制器故障的可能性,并且在过去的3个月内已更换了除控制器以外的所有单个零件(主板也是如此)。惠普也可能出错。
korkman 2010年

+1,找到兼容的操作系统/软件比找到其他兼容的RAID卡更容易,但是当RAID出现问题时,软件RAID的问题包括识别故障磁盘和功能完善的热插拔重建-这并不是即使在今天,无论使用哪种操作系统
都不

9

一个重要的考虑因素是可靠性。最后,硬件RAID和软件RAID都只是算法的软件实现。因此,两者都容易受到软件错误的影响。

在Linux中运行软件RAID设置多年后,我从未遇到过导致数据丢失的错误。但是,我已经从知名厂商的非常昂贵的硬件RAID中看到了几种完全丢失数据的情况。

可从中吸取两个教训:

  • RAID不是备份策略。
  • 仅仅因为它在硬件中并不能保证其正常工作。

4
RAID +1不是备份策略。
托马斯登顿

8

硬件RAID控制器通常带有电池后备的RAM缓存,即使使用软件RAID时,也可以加快写入操作,因此,如果可以的话,我总是尝试使用电池缓存来获取硬件RAID,然后如果控制器固件在其上运行软件RAID,没有完成任务。


2
这也是我的首选方式。使用BBWC plus软件RAID。在我最近的10个磁盘设置中,Linux Software RAID 10实际上比HW RAID 10更好。软件RAID的另一个优点是能够在具有分区的同一磁盘上创建多个RAID。
korkman 2010年

7

我认为Jeff在其RAID阵列方面的经验归结于获得(并依靠)废话/最糟糕的RAID控制器。“哇,这个RAID阵列每秒能完成一次Billon gigaflops,我在eBay上花了10英镑买了它!”

如果您珍惜数据,请获取一个可靠的,可靠的RAID控制器。

更好的是,获得两个(故障转移)

更好的是,进入21世纪,并获得专用的具有内置容错能力/ ZSPOF的外部FC / iSCSI连接的磁盘阵列-双路径,双RAID,RAID6或10(或20或50)和热备用。

是的,很贵。但是,如果整个SO网站都被丢弃,那将是多么昂贵。


2
具有讽刺意味的是,RAID中的“ I”表示“便宜” :)我想它仅适用于物理磁盘本身。
jhs,2009年

1
“独立”现在似乎是这个词
。– Berzemus

“便宜”这个词是...您在说数百个磁盘,而不是成千上万个磁盘...
Robin Day

4

这取决于。对于简单的镜像场景,我更喜欢软件RAID,因为正如Jason W所说,您始终可以卸下其中一个驱动器并将其粘贴在另一台计算机上。

对于其他情况(RAID 0,RAID 5或RAID 10),单个驱动器本身并没有多大用处,因此我更喜欢硬件RAID。

无论如何(我谨此表示敬意,并表示同情),您不应该基于Stackoverflow(一群软件专家)所做或未做的事情来做出决定。


PW是正确的..“软件专家” ... :)实际上,大多数时候都取决于经济决策...您的风险预算和美元预算可以提供多少冗余。
托马斯·丹顿

4

软件RAID在许多情况下都无法为我完成工作,而硬件RAID从来没有。也就是说,cheapo硬件RAID比好的软件还要差,要花几英镑才能得到好的控制器。


我的硬件RAID发生故障... PERC卡上的RAID 5。
巴特·

3

软件袭击取决于操作系统。硬件突袭取决于卡和OS驱动程序。

这就是问题所在。获得替代操作系统非常容易。重新安装。更换袭击卡,尤其是几年后,是不可能的。

某些RAID卡会将整个阵列从OS隐藏起来,但驱动程序仍会知道它已被RAID。最好的卡将处理所有低端的东西,例如跨磁盘写入,奇偶校验等,而最差的卡将使操作系统能够执行所有操作。

较低的卡很容易弄乱奇偶校验数字并弄错它们。想象一下,直到尝试打开它之前,几TB的数据看起来还可以。恶梦。

3ware卡很贵,但没用。在Windows上高负载下,吞吐速度确实很差,如果启用nfs,将在linux中锁定系统。Dell Perc卡(版本5和6)很棒。较早的人在突袭10中作弊。


1
+1指出驱动程序的重要性,尤其是在Linux上。
pjc50

应当注意,PERC 5和PERC 6卡是更名的LSI RAID控制器。
天鹰

2

我已经看到硬件RAID卡发生故障并取出整个阵列。除非您采用冗余配置,否则您肯定会在硬件卡上添加另一个单点故障。

您应该知道,有“硬件RAID”,然后有“硬件RAID”。谷歌“ fakeraid”获取更多信息。实际上,某些“硬件RAID”卡在卡中仅进行很少的RAID处理,并使用自定义驱动程序使用系统的常规处理器在软件中进行RAID计算。这会导致奇怪的结果。我让其中一个系统(一台Windows 2003服务器)开始显示单独的C和D驱动器,而不是一个C驱动器,因为某些地方有些混乱。对于真正的硬件RAID,这永远是不可能的,因为它似乎是系统的一个物理驱动器。

我对软件RAID的经验很少。过去,我对它有强烈的偏见,但是现在,根据我在这里和其他地方所听到的内容,我正在朝着使用它的方向迈进。我会考虑对其进行测试以用于将来的部署。

另一方面,我已经从任何类型的服务器内RAID转移到了外部RAID系统。我几乎所有的服务器都安装了零个驱动器。我爱上了Xiotech系统,但是其他类型的外部RAID也为我提供了很好的服务。我从来没有(敲过木头)丢失任何数据。


2
多年来,Linux中的软RAID已“测试良好”,并且增加了很少的开销,同时又非常快。如果您正在运行Linux服务器,则建议使用。
艾利·佩恩

2

在Linux / Unix和Windows上,答案是完全不同的。Linux上的S / W RAID优于Windows S / W RAID,后者在支持不同布局方面受到限制,而且速度非常慢(至少在Windows 2003服务器上)。在Windows上,几乎在每种情况下都可以使用H / W RAID更好。

Linux和Unix上的软件RAID比Windows更好。这使S / W RAID在这些平台上成为一个合理的选择,尽管在较大的安装中,使用H / W RAID或SAN可能会更好。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.