大型NAS的RAIDconfiguration

我正在考虑构build一个24个1TB磁盘NAS盒,但是我不确定最佳的驱动器configuration是什么。 我正在使用槟榔ARC-1280ML-2G控制器,并挂上所有24个驱动器。

由于我们存储在其上的数据types,我希望将它们全部安装为一个卷。 我们的一个疯狂的想法是configuration6个4磁盘RAID 5卷,然后在这6个卷上执行软件RAID 5。 这意味着任何一卷可能会死在我们身上,我们仍然不会丢失数据。

我应该注意到,这是一个研发项目,我们有一个即将到来的应用程序,我们将需要几十TB的存储空间,以便快速和高可用性。 但是对于最初的研发阶段,我们可以接受一些风险。

什么是这种configuration的最佳解决scheme? 使用24个1TB磁盘,很可能会有多个磁盘同时出现故障(或在第一次故障后重build磁盘的时间内),所以我很难find一个好的解决scheme。

已经有一个你想要的RAID级别了; 它被称为RAID 10。

专业级和消费级驱动器的平均无故障时间近年来增加了一个数量级,不可纠正的错误率保持相对稳定。 据估计,这个速率为10 ^ 14位,所以对于消费类SATA驱动器来说,每读取12 TB的数据就有一个位。

所以,对于你的24Tb硬盘的每次扫描,统计上你至less会遇到2个单比特错误。 这些错误中的每一个都会触发RAID5重build,更糟糕的是,在重build期间,第二个错误会导致双重错误。

这正是我日常的工作,build立Linux存储服务器。

  • Areca卡是好的。 你可以在RAID-6中使用它,它会提供合理的安全性。 购买可选的电池备份单元
  • 使用企业级磁盘 ,而不是桌面驱动器。 你会花费400多美元在你的服务器上,但它是非常值得的。 买两个备用驱动器。 不要乱用它,使用相同型号的磁盘。
  • 对于文件系统,使用XFS 。 不是在开玩笑,ext3和朋友根本无法胜任16TB +文件系统的工作。 即使遇到严重的崩溃,xfs_repair在20TB的卷上也会非常快(15分钟,不再)。
  • 最好使用LVM2 ,即使你不打算修改它,也会缓解存储pipe理。
  • 安装槟榔pipe理工具,并写一个cron工作,每天给你发一封健康检查邮件。
  • 不要忘记备份 。 RAID不是备份; 如果有人简单地删除一个重要的文件,你将无法恢复没有适当的备份。 我个人使用rdiff-backup将所有重要数据保存在一个具有一个月历史的专用服务器上; 您还可以在文件服务器上创build两个RAID卷,并在另一个上进行备份。

哇,RAID5 RAID5? 想讨论性能问题? 你会有 。 你把这些挂起来的主机将有小猫计算奇偶校验,把这个奇偶校验写入3个驱动器,然后计算这个奇偶校验的奇偶校验,并把它写到这个集合的第4个驱动器。 哇!

让我们谈谈RAID10。 这本质上是RAID 1,但是把你的驱动器分成两半,然后镜像。 这是容错,你可以失去2驱动器,仍然是罚款,再加上性能优秀。

如果你不需要太多疯狂的空间,但是你已经有了一个24TB的arrays,没有什么比这更好的了,但是它绝对是必须的,那么你可以考虑RAID60。 它基本上是使用镜像驱动器组的RAID6。 你会损失大约一半的驱动器,性能会很差,但你几乎可以保证数据将在那里。

真的,我会用RAID10。 它performance良好,工作正常。 我第二个Evan的观点是,你可能不应该从这么多的磁盘中制作出巨大的RAID集,因为正如他所说,像fsck和chkdsk这样的东西将永远占用,但更重要的是在我的脑海里,因为读取错误的统计可能性随着单个磁盘的大小而变化。 我build议每套7-10个磁盘。 你可以用这个数量的主轴创build3个非常大小合适的RAID卷。

无论你select哪一个,都要记住把一些磁盘留在热备份中,这样你就可以立即开始重build,而不是让arrays等着你去replace它们。 一旦磁盘死亡,时钟开始滴滴答答的另一个去。

为什么不是RAID 1 + 0? 这一切都在控制器级别处理…

我知道你说“研发”,但你也说“高度可用”。 我会质疑DIY解决scheme的“节省”,而不是购买现成的SAN设备来做到这一点。 当您的DIY解决scheme出现问题时,您将陷入没有人联系寻求帮助的难以置信的地位。 什么宕机成本你每小时? 在宕机时间内,您可以很快耗尽一些中型SAN设备的成本,而忽略与数据丢失相关的费用。

不pipe你对底层磁盘做什么,我都不会创build一个大的文件系统。

文件系统损坏是一个真正的可能性(RAID控制器问题,OS错误等)。 在一个很大的卷中,文件系统检查将会持续下去。 我强烈build议使用多个可以逻辑组合的卷,将其显示为单个文件系统(通过各种方法 – 您没有提到操作系统,所以我不能给你具体的想法)。 如果你有一些文件系统损坏,你将失去一部分逻辑卷,但你仍然会“上”。

举个例子:在Windows环境下,在一个20TB的NTFS卷上运行CHKDSK文件将会变得很 。 在这种环境下,我会创build多个较小的NTFS卷,并将它们逻辑地与DFS一起组合到一个名称空间中。

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

RAID 6或者每10张光盘至less有2个现场校验盘,最多16个,也就是说,如果你可以花费一天的时间,RAID性能将会受到你的RAID重build的影响。 如果你不能忍受退化,那么它将不得不被镜像条纹。

如果你正在使用Linux路由,我要么使用硬件RAID卡(使用电池备份),要么在光盘盒中安装RAID控制器。 我同意xfs是Linux上select的文件系统,但是请注意,如果您需要运行xfs_check,xfs上大约50TB的文件系统会占用超过16GB的RAM。

我会认真考虑一个好的NAS设备,比如NetApp,因为它们的长期工作量要less很多,这取决于你的存储pipe理员的时间对公司来说有多大的价值。

让nfs / samba运行良好是一个黑暗的艺术,你打算使用10GB的ether还是1GB / sec的聚合? (不要拿Broadcomm卡特别是10GB的卡)。

LVM2是不容易的,但不要使用快照,因为它不是很快。

记住这个备份需要一些时间。

testing系统在投入生产之前可能会失败的原因,并写下你和同事可以在出错的地方find文档的位置。

这取决于你的读/写比率。 我们使用很多HP MSA70外置式25磁盘SAS驱动器机箱,并且始终将它们创build为单个RAID6arrays,因为我们的读写比率为99%:1%,所以我们不在乎R6在写入时最慢还是相当快的,只是不如其他人好)。 这样我们就有23个磁盘的数据可用,对我们来说具有非常好的性能,随机读取和整体读取带宽的好处,可以承受两个磁盘故障。

作为一个粗略的指导,RAID5arrays在一个arrays中不应该有超过14个磁盘,而RAID6应该可以支持多达54个磁盘 – 显然arrays越大,读写性能和较慢的重build将需要,但它可以是一个很好的权衡。

我会添加两个备用磁盘启动。

对于随机读取或大量连续读取和写入,RAID 5或6是可以的。 如果您将要使用RAID 10进行大量小型写入,因为RAID 5+在小型写入时需要4倍的命中。

如果打算打开写入caching,请记住使用电池备份。