大型NAS的RAID配置


13

我正在考虑构建24个1TB磁盘NAS盒,但是我不确定最佳的驱动器配置是什么。我正在考虑使用areca ARC-1280ML-2G控制器,并将所有24个驱动器挂掉。

由于我们要存储在其上的数据类型,我希望将其全部装入一个卷。我们曾经疯狂的想法是配置6个4磁盘RAID 5卷,然后在这6个卷上进行软件RAID 5。这意味着任何一个卷都可能对我们造成死亡,而我们仍然不会丢失数据。

我应该注意,这是一个R&D项目,我们有一个即将推出的应用程序,在该应用程序中,我们需要数十TB的存储才能快速且高度可用。但是对于最初的研发阶段,我们可以接受一些风险。

此类配置的最佳解决方案是什么?拥有24个1 TB磁盘,很可能同时(或在第一次出现故障后重建卷所需的时间内)多个磁盘出现故障,因此我很难找到一个好的解决方案。

Answers:


10

您已经有了所需的RAID级别;它称为RAID 10。

近年来,专业级和消费者级驱动器的MTBF增长了一个数量级,不可校正的错误率保持相对恒定。估计此速率为10 ^ 14位,因此对于消费类SATA驱动器,每12 TB读取一个位。

因此,对于您的24Tb驱动器通过的每次扫描,从统计上来说,您将至少遇到2个单位错误。这些错误中的每一个都会触发RAID5重建,更糟糕的是,在重建期间,第二个错误将导致双重故障。


关于无法纠正的错误率的要点,但在第三段中,您应该添加“从统计上讲,您会遇到...”,因为我们都知道不确定读取错误(或缺少读取错误)
Matt Simmons

重建前是否会尝试再次阅读?
Antoine Benkemoun,2009年

Antoine:可以,但是,如果它确实无法读取,则必须重新构建以从奇偶校验(IIRC)中获取数据。
马特·西蒙斯

@Antonie,这些是不可纠正的读取错误,即驱动器ECC逻辑无法纠正的错误(正在以大大高于1的速率纠正错误:10 ^ 14)
Dave Cheney

那么这些是写错误引起的错误吗?是什么使第二读无法成功进行?
Antoine Benkemoun,2009年

11

这正是我的日常工作……构建Linux存储服务器。

  • 槟榔卡还可以。您可以在RAID-6中使用它,它将提供合理的安全性。还要购买可选的备用电池
  • 使用企业级磁盘,而不是台式机驱动器。您将在服务器上多花400美元,但这是值得的。买两个备用驱动器。不要搞砸,请使用相同型号的磁盘。
  • 对于文件系统,请使用XFS。别开玩笑,ext3和朋友根本无法胜任16TB以上的文件系统。即使发生严重崩溃,xfs_repair在20TB的卷上也将非常快(15分钟,仅此而已)。
  • 最好使用LVM2,即使您不打算对其进行太多修改,它也可以简化存储管理。
  • 安装槟榔管理工具并编写一项cron作业,以向您发送包含健康检查的每日电子邮件。
  • 不要忘记备份。RAID不是备份;如果有人只是删除重要文件,那么没有适当的备份就无法恢复。我个人使用rdiff-backup将所有重要数据保存在具有一个月历史记录的专用服务器上。您还可以在文件服务器上创建两个RAID卷,并在另一个上备份。

6

哇,RAID5超过RAID5?想讨论性能问题吗?你必须。挂掉这些主机的主机将让小猫计算奇偶校验,将该奇偶校验写入3个驱动器,然后计算THAT奇偶校验的奇偶校验并将其写入该组的第4个驱动器。哇!

让我们谈谈RAID10。它实际上是RAID 1,但您将驱动器分成两半并进行镜像。容错能力是,您可以丢失2个驱动器,并且仍然可以正常运行,而且性能出色。

如果您不需要疯狂的空间,但是您拥有一个24TB的阵列,无处可做,但是绝对需要将其建立起来,那么您可以考虑使用RAID60。本质上是使用镜像驱动器集的RAID6。您将损失大约一半的驱动器,并且性能会很差,但是几乎可以保证数据在那里。

真的,我会选择RAID10。它表现良好,工作正常。我同意Evan的观点,即您不应该从那么多磁盘中制作巨型RAID集,因为正如他所说,fsck和chkdsk之类的东西将永远存在,但更重要的是,在我看来,这是因为读取错误的统计可能性随单个磁盘大小而增加。我建议每组7-10个磁盘。您可以使用相同数量的轴创建3个非常合适的RAID卷。

无论选择哪种方式,都请记住将几个磁盘留在热备用磁盘上,以便您可以立即开始重建,而不必让阵列等待您更换它们。一旦磁盘死了,时钟就会开始滴答作响,以便另一个时钟消失。


@Matt:我不是在谈论RAID集的大小,而是在谈论文件系统的大小。使用单一的文件系统,大,不管文件系统的类型,是要求巨大的停机时间时,你必须运行文件系统检查,因为主机操作系统“损坏”的文件系统,等等
埃文安德森

@Evan-对不起,我不好。但这也是反对它的另一个论点。
马特·西蒙斯

@Matt:反对什么?RAID容器的布局以及这些RAID容器上的文件系统数量是一个相互关注的问题。你不必须有在一个单一的RAID容器单一文件系统,文件系统可以跨越大多数操作系统中多种RAID容器。
埃文·安德森

您在两个方面都是正确的。我们同意。您不应该制作非常大的文件系统,因为检查时间很糟糕。您也不应进行非常大的突袭,因为读取错误的统计可能性会增加。
马特·西蒙斯


1

我知道您说“ R&D”,但您也说“高度可用”。我会质疑DIY解决方案的“节省”与购买现成的SAN设备来实现这一点。当您的DIY解决方案出现问题时,您将处于令人羡慕的位置,没有人可以寻求帮助。每小时您需要支付多少停机费用?您可以很快地花掉一些中级SAN设备的停机成本,而不必理会与数据完全丢失相关的成本。

无论您对基础磁盘如何处理,我都不会创建那么大的单个文件系统。

文件系统损坏的可能性很大(RAID控制器问题,操作系统错误等)。在这么大的卷中,文件系统检查将永远进行。我强烈建议使用可以逻辑组合以显示为单个文件系统的多个卷(通过各种方式-您没有提到操作系统,所以我不能给您具体的想法)。如果您的文件系统损坏,则将丢失部分逻辑卷,但仍然会“启动”。

例如:在Windows世界中,在装有文件的20TB NTFS卷上运行CHKDSK将是SLOW。在这种环境中,我将创建多个较小的NTFS卷,并使用DFS将它们逻辑上组合为一个命名空间。


1

wazoox,答案很好我没有代表可以给他更多加分,但我会补充以下内容。

RAID 6或每10张磁盘至少2张活动奇偶校验光盘,最多16张,如果您可能需要一天左右的时间来影响RAID重建,则会影响性能。如果您不能忍受退化,那么它必须是镜像条纹。

如果您要使用linux路线,则可以使用硬件RAID卡(带有电池备份),也可以在磁盘盒中使用RAID控制器。我同意xfs是Linux上的首选文件系统,但是请注意,如果需要运行xfs_check,则xfs上大约50TB的文件系统会占用16GB以上的RAM。

我会认真考虑一个不错的NAS盒(例如NetApp),因为长期来看它们的工作量要少得多,这取决于您/存储管理员对公司而言值得多少时间。

要使nfs / samba表现良好还有些荒唐,您将使用10GB的以太还是仅使用1GB /秒的聚合?(不要获得Broadcomm卡,尤其是10GB的卡)。

LVM2毫不费力,但不要使用快照,因为它不快。

请记住,备份需要一些时间。

在系统投入生产之前测试系统可能发生故障的方式,并在所有出现问题的地方将其记录下来,以便您和您的同事可以找到文档。


1

这取决于您的读/写比率。我们使用许多HP MSA70外部25磁盘SAS驱动器机箱,并始终将它们创建为单个RAID6阵列,因为我们的读写比率为99%:1%,因此我们不必担心R6写入速度最慢(仍然非常快,只是与其他人相比还不够好)。这样,我们就有23个磁盘可用的数据,它们具有非常好的性能,例如,非常好的随机读取和整体读取带宽优势,并且可以承受两次磁盘故障。

作为粗略的指导,RAID5阵列在一个阵列中不应有超过14个磁盘,而RAID6应该可以容纳多达54个磁盘左右-显然,阵列越大,读写性能与性能之间的差距就越大。重建速度较慢,但​​是这是一个不错的权衡。


0

我将添加两个备用磁盘作为开始。

RAID 5或6可以用于随机读取或大顺序读取和写入。如果您要进行大量小写操作,请使用RAID 10,因为RAID 5+对小写操作的影响是4倍。

如果要打开写缓存,请记得用电池备份它。

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.