什么时候RAID值得麻烦?

在我们的店里,我们忠实地在我们所有的工作站中使用RAID,可能只是因为这似乎是它应该完成的方式。 我正在谈论使用板载RAID芯片进行科学模拟的工作站。

但是我听说了很多RAID恐怖故事。 Stackoverflow本身有一个由RAID控制器间接造成的中断 。

RAID可以保护您免受非常狭窄的故障 – 物理磁盘故障 – 但同时也会引入额外的故障点。 RAID控制器可能会出现问题,而且经常出现这种情况。 至less在我们的商店里,似乎RAID控制器至less和磁盘一样经常出现故障。 您也可以轻松搞定交换故障驱动器的过程。

什么时候RAID值得麻烦? 通过为备份解决scheme增加更多冗余,您难道不会获得更好的投资回报吗? 哪种types的RAID在这方面更好或更差?

编辑:我已经改变了原来的标题“是RAID值得麻烦吗?”,所以听起来不那么消极

    别担心,因为群体思维,整个商业世界都没有使用RAID! 不错的RAID控制器失败的机会远远低于磁盘故障的可能性。 我不记得在现实生活中看到一个RAID控制器失败,而我在办公室和数据中心看到了许多磁盘死亡。

    PS:我看到你的标签。 RAID不是备份! 🙂

    SUN公司的ZFS (也是OpenSolaris的一部分;苹果OSX–目前只读)不仅具有各种级别的RAID,而且总是检查写入磁盘的数据是否真的存在。 一致性是关键! RAID是无用的,如果你不能依靠它的完整性 。 select一个体面的RAID控制器(我更喜欢惠普),并擦洗你的RAID定期发现错误。

    另一方面,Softwareraid(如ZFS)则会让更多的硬件独立于RAID控制器,而无法获得准确的replace。

    总是。 磁盘很便宜,你的信息不是。 但是使用软件RAID,所以你可以灵活地继续前进或改变硬件(相信我,你将需要它)。 而且还可以使用像ZFS这样的校验和文件系统来防止无声的数据损坏(现在对于大型磁盘很可能)。

    对于那些你说你不会使用硬件RAID,因为如果控制器失败,你不能得到一个身份的替代你搞砸了,你会错误的方式。

    1. 如果正常运行时间对您至关重要,您不应该购买便宜的硬件。 如前所述,使用一个好的RAID控制器,惠普,LSI,戴尔等

    2. 如果控制器是从戴尔RAID控制器的计算机制造商(即戴尔服务器)购买的,戴尔会告诉您他们需要多长时间来备份这些部件,通常是在该服务器的EOL的4年之内。

    3. 如果有人快速再次跑步意味着你不能等待交付,那么你应该为自己购买第二个备用控制器,不pipe是谁做的。

    4. 如果您将其设置为RAID 1,则有时可以将这些驱动器中的一个驱动器放在正常的控制器上以恢复数据。 如果这对你很重要,在你处于危险情况之前,请向你的控制器确认/testing。

    硬件RAID保存了我的屁股2倍。 一旦进入电子邮件服务器,其中一个驱动器出现故障,我收到了来自该机器上的raid监控软件的电子邮件警报,名为dell,第二天又有一个新的驱动器,将其重新启动,并自行重build。 零宕机那一个

    其次,在6个月内计划更换的旧文件服务器中,驱动器发生故障。 控制器保持运行,我们把服务器的更换提到了那一周。 保存购买一个新的驱动器(因为它是出于warrenty),再次零宕机。

    我之前使用过软件raid,只是不像基于硬件的恢复那么好。 你必须testing你的设置,软件或硬件,以确保它的工作,知道该怎么做,当棕色的东西击中球迷。

    与台式机工作站相比,硬盘故障更可能发生在服务器上。

    如果不考虑失败的可能性,你不能只说“增加更多的失败点”。 特别是因为这些不太可能的故障点是专门用来颠覆更可能的硬盘驱动器崩溃的。 就像你所说的那样,你基本上已经创造了一个帕斯卡的类似赌注的谬误。

    桌面主板上的大多数RAID系统都是廉价的软件/硬件混合体,其软件驱动程序中的大部分工作都是由它们完成的。 恕我直言,他们是垃圾的废物用于出售给电力用户。

    另一方面,一个好的实际的硬件RAID是相当可靠的,并且它具有硬件来做它的事情(尽pipe?)操作系统。 但是,那些昂贵的,因为真正的硬件通常有电池备份,一个完整的XOR'ingarrays来计算校验和,等等,如果使用SCSI完成更昂贵。

    总结:如果你正在运行基于主板的RAID系统,那么不行,这是不值得的麻烦。

    尽pipe备份和RAID是针对不同问题的解决scheme,但大多数“RAID问题”与最常见的备份问题(即没有人testing还原)非常相似 – 没有人testing系统恢复。 其他RAID问题往往是人们不理解它做什么,不做什么的直接结果。 例如,很多人认为RAI​​D能够保证数据的完整性 – 事实并非如此。

    对于工作站,如果您使用RAID-0来提高IO-绑定应用程序的性能,或者在$ 80硬盘出现故障时使用RAID-1/5/6来保持每小时$ 100美元的科学工作,则您正在使用RAID。 只是不要将磁盘冗余备份混淆在一起,并且已经testing过程以确保您的IT人员处理恢复。

    有两种types的RAID

    • 一个便宜的集成。 这不是一个真正的突袭真正的工作是由软件(专门的驱动程序做的突袭计算)完成。 你应该避免这一个。
    • 另一个是昂贵的,但你得到的是真正的突袭。 如果你能负担得起,这是值得的钱。

    一些操作系统具有良好的软件RAID解决scheme(这与上面提到的蹩脚的卡无关)。 Linux软件raid特别好,其性能真的不错。

    Raid只能提高可靠性,不是备份解决scheme。 文件可以被意外删除,故障磁盘可以将不良数据返回(和复制)到RAIDarrays中的其他磁盘,所以仍然需要真正的备份解决scheme。

    RAID非常适合正常运行,但不能替代备份。 正如一位同事曾经评论的那样:“你知道'哦,不知道'是什么时候你意外删除了一些东西?RAID只是意味着你可以同时使用多个驱动器。

    也就是说,那天你把头伸进你的老板的办公室,告诉她:“顺便说一句,数据库服务器昨天晚上有一个硬盘驱动器崩溃 – 我们从来没有下过,上午5点完成重build,我在保修期内把坏的驱动器送了出来“ – 那是RAID无价之宝。

    硬盘和RAID控制器的故障率是多less? RAID控制器故障应远远低于磁盘。 如果你有一个高的失败率可能要在您的环境看,如静电放电可能会造成问题。

    对于工作站,您可能需要按照Alakdae的build议使用软件RAID,因为您不必担心维护精确硬件控制器的库存。 但是,您应该将所有重要信息存储在您的服务器上,这些服务器具有硬件RAID并备份到不同的介质。

    服务器硬件制造商确实维护RAID控制器,所以即使它是一个较旧的控制器,如果你需要的话,你仍然可以从它们那里得到它(虽然它会花费你一分钱)。

    看来以上很多post都忘记了原来的问题,只是在讨论RAID 1.问题是“什么时候RAID值得麻烦? 那么,这取决于…如果你的开发人员用他们的工作站进行大量的数据读写操作,那么RAID 0configuration是值得的。 添加更多的驱动器到这个RAID 0当然是要提高速度和性能,但会增加失败的可能性(磁盘或控制器)。

    我在一所护理学院工作,大约有500台戴尔机器部署,几乎没有一台使用任何types的RAID。 在我看来,我的用户types不会在每台机器上看到增加RAID系统复杂性的好处。 我更担心数据恢复和磁盘映像,而不是RAID 0的速度或RAID 1的冗余。当然,我不是在谈论我们的生产服务器,这是另一回事。 数据恢复至关重要,我们依靠其他备份方法来解决的不仅仅是磁盘冗余。 任何types的RAID不会帮助你,如果用户不小心删除了一个文件。

    所以要回答你的问题恕我直言…在工作站上的RAID 0是值得的,当用户需要的性能。 (只要确保所有importa数据都已备份)。我确定您可以检查现有设置的数据吞吐量,看是否足够。 RAID 1应该用在有更高级RAID控制器可用的服务器环境中。 这在工作站上并不值得,因为这会使部署,磁盘映像和修复复杂化。 这些工作站中的许多工作站都带有内置在主板上的RAID控制器。知道主板是否在机器上运行是一种很好的感觉,我总是可以将驱动器放在另一个系统上以获取数据。

    Linux软件RAID非常出色,它实际上击败了低端硬件RAID。 它也有一些可以用于工作站的优化。 例如,它可以同时在每个磁盘上读取不同的内容,有效地将随机读取时间加倍,这与通过RAID 0优化的传输速率限制操作不同,这是常见的使用情况。

    至于可靠性,它是Linux内核的一个维护良好的部分,被数百万人使用,它很好地处理了硬件故障,所以就可用性而言显然是一个胜利。 我已经在我的个人工作站以及几十个低端服务器上使用了这个服务器,这个服务器好几年了,还有一些相当的负载,而且从来不会给它带来任何的错误。 但是,在此期间,我经历了好几十个破碎的磁盘。

    (更高端的硬件RAID卡虽然有其他的function,比如电池供电的写入caching,但它基本上将随机同步的磁盘写入速度乘以十,这对于数据库来说是绝对必要的,对于工作站来说可能是没用的)。

    我只是在两台(相同的)服务器上的RAID控制器失败,因为我们得到了这两台机器,我们在整个公司没有一个硬盘故障。

    我认为在桌面上的RAID是一个坏主意,你将要放在这些机器上的廉价RAID控制器将会在实际的硬盘驱动器之前失效。

    在服务器上,也许,我不会再相信RAID控制器,请确保你有一个备用机和良好的备份。

    我是一名开发人员,我们所有的工作站都使用RAID作为内部驱动器。 RAID 0.这是值得的。 一旦你尝试了一对15000s,你永远不想回到从一个7200RPM驱动器编译。
    如果是编译时间缩短的RAID或15k驱动器,我一直有这个挑战。 我不知道,编译单个快速驱动器可能会给出完全相同的性能。 但是,单个SAS驱动器是不是一个现代PC特别大,所以在昂贵的主板上RAID仍拥有一席之地。 这和我怀疑RAID是否会损害系统的性能。
    我认为这种RAID对于工作站来说当然是合适的,并且最好使用廉价的板载控制器来完成。 从服务器端来看,我们的大多数服务器都有一些forms的用于操作系统磁盘的RAIDarrays,然后数据就以一种适当的forms分离出来。 我不知道我们的生产服务器,但我们的开发服务器(我们有一个相当数量)从来没有控制器失败,但我们有驱动器失败。 在一个案例中,我们有一半的操作系统数组在一个SQL框上失败,当它重新构build时,另一个光盘失败! 有时RAID1是不够的!

    对于您的科研工作站来说,如果这些系统能更好地处理本地存储的数据,而不是在文件服务器上共享数据,则可能是值得的。 对于一般民众,但我会说不。 当你真正需要的是恢复应该保存在共享中的数据时,这是不值得的麻烦和头痛。

    只有当你确实无法让服务器意外停止时,RAID才有用。 我们在我们的数据中心的所有服务器上都使用RAID,而不是其他forms的冗余。 例如,我们不在我们的networking服务器上使用RAID,因为还有10个仍在工作。

    石蕊testing是“如果一个磁盘在半夜中断,它不能等到上午9点,它需要RAID”

    当你有一个电池支持的控制器时,RAID是值得的。

    对于频繁使用fdatasync()日志文件(这在数据库中并不罕见)的服务器应用程序来说,您将最终一次又一次地写入相同的块。 如果您没有电池支持的控制器,这将会导致IO性能下降。

    如果你有一个电池支持的控制器,许多写入甚至不会到达光盘,而只是留在内存中,直到被另一个写入替代。 这是一件好事。

    冗余是一种奖励,但不是必需的,因为重要的事情在系统级应该是多余的。

    廉价的RAID实施是可怕的。

    您的select是,为了可靠性:

      1)具有硬件RAID的HP DL服务器。
     2)3Ware RAID卡。
     3)ZFS
     4)Linux软件RAID
    

    其他任何事情都是在寻求麻烦,事实上可能会导致比非RAID解决scheme更低的整体可靠性。

    考虑一下如果你的控制器发生故障以及制造商停业,应该怎么做。

    考虑是否可以从由电源/电缆问题引起的明显的双磁盘故障中恢复。

    这是数百人中的两个例子。

    对于工作站而言,RAID可能是不值得的,相比之下,有一个可以恢复数据的新系统…

    很多人都在谈论RAID 0 ……这不是为了提供可用性。 你的数量翻倍的机会增加一倍,因为一旦一个驱动器死亡,你会失去整个事情。 RAID 0的function就在于能够快速访问卷上的读/写操作,并提供更多的存储空间。 唯一能够在商业环境中提供帮助的方法是取两个RAID 0,并将它们镜像为RAID 1。

    正如已经指出的那样,RAID不是一个备份解决scheme。

    RAID也不完美。 我觉得这个post从这家伙的博客里总结了我对RAID的感觉,以及什么时候值得: RAID的思考?

    在工作站上,应该可以让一个人在推出替代品时使用另一个系统。 为什么使用RAID? 他或她的数据应该存储在pipe理,数据完整性和备份集中的服务器上。 工作站应该进行configuration,以便在财务允许的情况下可以定期升级或更改,而RAID只是成本和头痛pipe理的另一层(加上驱动器和气stream强加的电力使用和加热问题)。 在大多数情况下,对于企业来说,将RAID卡中的资金投入到更大的驱动器上可能更具成本效益,如果您使用板载RAID,那么您仍然会遇到问题,因为它往往与RAID格式化到主板上(不pipe怎样,它不是真正的RAID …它在Googlesearch中被发现是“假RAID”)。除非你有一个非常相似的主板来replace掉一个坏的主板,否则你可能无法回到你的主板上RAID卷!

    为什么打扰工作站? 当然你有所有的主目录和数据集中存储。 这就是你想要使用RAID的地方。

    如果您担心驱动器控制器出现故障,那么您还需要考虑服务器故障 – 风扇,主板,内存,networking……然后您还需要考虑路由器故障,布线和电源……以及您还需要考虑数据中心故障(洪水,火灾,人为错误),然后您需要考虑外部networking故障(电缆在一些地方全部断开!)。

    简而言之,您可以担心网站停机时间太多,您根本无法在网上放置任何东西! 或者你可以将失败的风险与冗余成本进行比较,并得到一个更现实的方法。 在我列出的所有事情中,硬盘是最可能出现故障的地方。

    在人为错误旁边,那是。 当他们想要重新启动时,input“ shutdown -h now ”…. 🙁

    我最担心的是磁盘,因为看起来你不能买便宜货:

    主要供应商注意到:

    “大多数RAID控制器被devise,如果盘驱动器变为一个给定的时间范围内没有响应超时一个给定的命令。 其结果将是该驱动器会出现脱线或将被标记为坏,并警告将给予客户。 企业级驱动器(或专为RAID环境devise的驱动器)在扇区标记为坏之前具有重试限制。 此重试限制使驱动器能够在预期的时间范围内响应RAID控制器。 虽然桌面驱动器可以与RAID控制器一起工作,但随着磁盘驱动器老化,arrays将逐渐脱机,并可能导致数据丢失。

    这似乎对我来说是疯了,另一个问题是确保磁盘供应商能够从“不知情的人”那里获得很多回报。 不过,我读到Google做了一个白皮书(找不到它),显示存储供应商提供的两个“类”之间的驱动器可靠性没有区别。 我怀疑谷歌使用他们的米色框机队硬件RAID控制器。

    也许mdadm(在Linux RAID)有设置可以用来处理桌面驱动器固件更急躁的设置?

    也许事实上,每个人都在控制器固件中通过一个“超时”的时间来支付保修费用。