在我们的商店中,我们在所有工作站中都忠实地使用了 RAID,可能只是因为这似乎是应该这样做的方式。我说的是使用板载 RAID 芯片进行科学模拟的工作站。
但我听过很多关于 RAID 的恐怖故事。Stackoverflow 本身已经发生了由 RAID 控制器间接引起的中断。
RAID 可以保护您免受非常狭窄的故障类型 - 物理磁盘故障 - 但同时它也引入了额外的故障点。RAID 控制器可能会出现问题,而且经常会出现。至少在我们的商店中,RAID 控制器的故障似乎至少与磁盘本身一样频繁。您还可以轻松地在更换故障驱动器的过程中搞砸一些事情。
RAID 什么时候值得麻烦?通过向备份解决方案添加更多冗余,您不会获得更好的投资回报吗?在这方面哪种类型的 RAID 更好或更差?
编辑:我已经改变了原来的标题“RAID值得麻烦吗?”,所以听起来不那么消极
不用担心,由于集体思维,RAID 并未在整个商业世界中使用!像样的 RAID 控制器发生故障的几率远远低于磁盘故障的几率。我不记得在现实生活中见过 RAID 控制器发生故障,而我在办公室和数据中心看到过许多磁盘死机。
PS:我看到了你的标签。RAID不是备份!:)
SUN 的ZFS(也是 OpenSolaris 的一部分;Apples OSX - 当前只读)不仅会进行各种级别的 raid,而且总是检查写入磁盘的数据是否确实存在。一致性是关键!如果您不能依赖它的完整性,那么 RAID 将毫无用处。选择一个体面的 RAID 控制器(我更喜欢 HP)并定期清理您的 RAID 以查找错误。
另一方面,如果 RAID 控制器死机并且您无法获得确切的替代品,Softwareraid(如 ZFS)将使您更加独立于硬件。
对于那些说您不会使用硬件 RAID 的人,因为如果控制器出现故障并且您无法获得相同的替代品,那么您就走错了路。
如果正常运行时间对您来说至关重要,那么您不应该购买便宜的硬件。如前所述,使用好的 RAID 控制器、HP、LSI、Dell 等。
如果控制器是从计算机制造商处购买的,即带有戴尔 RAID 控制器的戴尔服务器,戴尔会告诉您他们将储存这些部件的时间,通常是在该服务器停产后的 4 年以上。
如果让某人再次快速运行意味着您无法等待交付,那么您应该为自己购买第二个备用控制器,无论是谁制造的。
如果您设置为 RAID 1,您有时可以将其中一个驱动器放在普通控制器上以恢复数据。如果这对您很重要,请在您处于危急情况之前与您的控制器确认/测试。
硬件 RAID 将我的屁股节省了 2 倍。一旦在电子邮件服务器中的一个驱动器出现故障,我从那台机器上的 raid 监控软件收到电子邮件警报,第二天打电话给戴尔并有一个新驱动器,将其弹出并自行重建。零停机时间
第二个,在计划在 6 个月内更换的旧文件服务器中的驱动器出现故障。控制器使其保持运行,我们将更换服务器的时间推迟到了那一周。节省了购买新驱动器(因为它已超出保修期)和零停机时间。
我以前使用过软件突袭,但它们的恢复不如基于硬件的突袭。您必须测试您的设置、软件或硬件,以确保它可以正常工作,并且知道当棕色的东西碰到风扇时该怎么办。
总是。磁盘很便宜,你的信息不是。但是使用软件 RAID,因此您可以灵活地在以后继续前进或更改硬件(相信我,您将需要它)。并且还使用像 ZFS 这样的校验和文件系统,以防止无声数据损坏(这很可能是现在的大磁盘)。
与桌面工作站相比,服务器中发生硬盘驱动器故障的可能性要大得多...
你不能只说“增加更多的失败点”而不考虑失败的可能性。特别是因为这些不太可能的故障点专门用于破坏更有可能发生的硬盘驱动器崩溃。正如你所说,你基本上创造了一个类似于帕斯卡赌注的谬误。
台式机主板上的大多数 RAID 系统都是廉价的软件/硬件混合体,大部分工作都在其软件驱动程序中完成。恕我直言,它们是用来卖给高级用户的废话。
另一方面,一个好的实际硬件 RAID 是相当可靠的,它有硬件可以在没有(尽管?)操作系统的情况下完成它的工作。但是这些变得昂贵,因为真正的硬件通常具有备用电池,以及用于计算校验和的完整 XOR'ing 阵列等。如果使用 SCSI 完成,则更昂贵。
总结:如果您正在运行基于主板的 RAID 系统,那么不,不值得这么麻烦。
尽管备份和 RAID 是针对不同问题的解决方案,但大多数“RAID 问题”与最常见的备份问题(即没有人测试恢复)非常相似——没有人测试系统恢复。其他 RAID 问题通常是人们不了解它做什么和不做什么的直接结果。例如,许多人认为 RAID 可以保证其数据的完整性——但事实并非如此。
对于工作站,如果您使用 RAID-0 来提高受 IO 限制的应用程序的性能,或者使用 RAID-1/5/6 来在科学家的 80 美元硬盘发生故障时保持每小时 100 美元的工作,那么您使用 RAID 是恰当的。只是不要将磁盘冗余与备份混为一谈,并已准备好经过测试的程序以确保您的 IT 人员处理恢复。
RAID 非常适合正常运行时间,但它不能替代备份。正如一位同事曾经评论的那样,“你知道当你不小心删除了一些东西时,‘噢,嘘!t’的那一刻吗?RAID 只是意味着你可以同时‘噢,嘘!t’多个驱动器。”
话虽如此,那天你突然走进老板的办公室告诉她,“顺便说一句,数据库服务器昨晚发生了硬盘崩溃——我们从未宕机,它在凌晨 5 点完成重建到备用服务器,然后我已经在保修期内把坏驱动器送走了”——这就是 RAID 无价的时候。
有两种类型的 RAID
有些操作系统有很好的软件raid解决方案(这与上面提到的烂卡无关)。Linux软件raid特别好,它的性能真的很好。
Raid 只能提高可靠性,它不是备份解决方案。文件可能会被意外删除,故障磁盘可能会将坏数据返回(和复制)到 RAID 阵列中的其他磁盘,因此仍然需要真正的备份解决方案。
似乎上面的很多帖子都忘记了最初的问题,只是在讨论 RAID 1。问题是“RAID 什么时候值得麻烦?” 好吧,这取决于...如果您的开发人员使用他们的工作站进行大量数据读取和写入,那么 RAID 0 配置将是值得的。向该 RAID 0 添加更多驱动器当然会提高速度和性能,但会增加发生故障(磁盘或控制器)的可能性。
我在一所部署了大约 500 台戴尔机器的护理学校工作,几乎没有一台使用任何类型的 RAID。在我看来,我的用户类型不会看到足够的好处来增加每台机器上 RAID 系统的复杂性。我更担心数据恢复和磁盘映像,而不是 RAID 0 的速度或 RAID 1 的冗余。当然,我不是在谈论我们的生产服务器,这是另一回事。数据恢复至关重要,我们依靠其他备份方法来解决磁盘冗余之外的问题。如果用户不小心删除了文件,任何类型的 RAID 都不会帮助您。
所以回答你的问题恕我直言......当用户需要性能时,工作站上的 RAID 0 是值得的。(只需确保备份所有导入数据。)我相信您可以检查现有设置的数据吞吐量,看看它是否足够。RAID 1 应在具有更高级别 RAID 控制器的服务器环境中使用。工作站上的麻烦是不值得的,因为它使部署、磁盘映像和维修变得复杂。这些工作站中的许多都带有内置在主板上的 RAID 控制器。知道主板是否在机器上出现故障是一种很好的感觉,我总是可以将驱动器放在另一个系统中以获取数据。
Linux 软件 RAID 非常出色,它实际上击败了低端硬件 RAID。它还有一些对工作站有用的优化。例如,它可以同时读取每个磁盘上的不同内容,有效地将随机访问读取时间加倍,这是一个常见的用例,与RAID 0优化的传输速率限制操作不同。
至于可靠性,它是 Linux 内核中维护得很好的一部分,被数百万人使用,它很好地处理了硬件故障,因此就可用性而言,它显然是一个胜利。多年来,我一直在我的个人工作站和几十台低端服务器上使用它,其中一些负载相当不错,而且从来不能把它归咎于任何故障。但是,与此同时,我经历了十几个损坏的磁盘。
(更高端的硬件 RAID 卡还有其他功能,例如电池支持的写入缓存。它基本上将随机同步磁盘写入速度提高了 10 倍。这对于数据库来说是绝对必要的,对于工作站来说可能毫无用处。)