在任何使用条带化的 RAID 级别中,增加物理磁盘的数量通常会提高性能,但也会增加集合中任何一个磁盘发生故障的机会。我有这样的想法,即在给定的 RAID 集中我不应该使用超过 6-8 个磁盘,但这更多只是传下来的知识,而不是经验中的硬事实。谁能给我一个好的规则,并说明一组中磁盘的最大数量的原因?
在任何使用条带化的 RAID 级别中,增加物理磁盘的数量通常会提高性能,但也会增加集合中任何一个磁盘发生故障的机会。我有这样的想法,即在给定的 RAID 集中我不应该使用超过 6-8 个磁盘,但这更多只是传下来的知识,而不是经验中的硬事实。谁能给我一个好的规则,并说明一组中磁盘的最大数量的原因?
RAID 系统中建议的最大磁盘数变化很大。这取决于多种因素:
对于基于 SATA 的 RAID,如果您使用 RAID5,您不希望拥有超过 6.5TB 的原始磁盘。过去比,RAID6 是一个更好的主意。这是由于不可恢复的读取错误率。如果数组的大小太大,在丢失后的数组重建过程中发生不可恢复的读取错误的可能性会越来越高。如果发生这种情况,那就太糟糕了。拥有 RAID6 大大减少了这种风险。但是,SATA 驱动器最近的质量一直在提高,因此这种情况可能不会持续太久。
阵列中的主轴数量并不让我担心太多,因为在 U320 上使用 500GB 驱动器达到 6.5TB 非常简单。如果这样做,最好将一半驱动器放在一个通道上,另一半放在另一个通道上,以减少总线端的 I/O 争用。SATA-2 速度如此之快,即使只有两个以最大速率传输的磁盘也会使总线/通道饱和。
SAS 磁盘的 MTBF 率低于 SATA(同样,这种情况正在开始改变),因此那里的规则不那么严格。
有些 FC 阵列在内部使用 SATA 驱动器。那里的 RAID 控制器非常复杂,这混淆了经验法则。例如,HP EVA 阵列系列将磁盘分组为“磁盘组”,在这些“磁盘组”上布置了 LUN。控制器有目的地将 LUN 的块放置在不连续的位置,并在后台对块执行负载均衡以最大程度地减少热点。可以说他们在多通道 I/O、LUN 中涉及的主轴以及处理冗余方面为您做了很多繁重的工作。
总而言之,磁盘的故障率并不能决定 RAID 组中有多少个心轴的规则,性能才是。在大多数情况下。
如果您正在寻找性能,那么了解用于将驱动器连接到阵列的互连非常重要。对于 SATA 或 IDE,您将分别查看每个通道 1 或 2 个(假设您使用的是具有独立通道的控制器)。对于 SCSI,这在很大程度上取决于总线拓扑。早期 SCSI 的设备限制是每个链(也称为每个控制器)有 7 个设备 ID,其中一个必须是控制器本身,因此每个 SCSI 链将有 6 个设备。较新的 SCSI 技术允许该数字几乎翻倍,因此您将看到 12+。这里的关键是所有驱动器的总吞吐量不能超过互连的容量,否则您的驱动器将在它们处于最佳性能时“空闲”。
请记住,驱动器不是这里唯一的薄弱环节;每个没有冗余的互连都会导致一个故障点。 如果您不相信我,请在单链 SCSI 控制器上设置 RAID 5 阵列,然后将控制器短路。 您仍然可以访问您的数据吗? 是的,我就是这么想的。
今天,情况发生了一点变化。驱动器在性能方面没有太大进步,但所看到的进步足够显着,除非您使用“驱动器场”,否则性能往往不会成为问题,在这种情况下,您谈论的是完全不同的基础架构这个答案/对话没有实际意义。您可能更担心的是数据冗余。由于几个因素,RAID 5 在其鼎盛时期表现良好,但这些因素已经改变。我想您会发现 RAID 10 可能更符合您的喜好,因为它可以为驱动器故障提供额外的冗余,同时提高读取性能。写入性能会受到轻微影响,但可以通过增加活动通道来缓解。我会在任何一天都使用 4 驱动器 RAID 10 设置而不是 5 驱动器 RAID 5 设置,因为 RAID 10 设置可以在(特定情况下)两个驱动器故障的情况下幸存下来,而 RAID 5 阵列只会翻转并死掉两个驱动器故障。除了提供稍微更好的冗余之外,您还可以减轻“控制器作为单点故障” 通过将镜像分成两个相等的部分,每个控制器只处理条带。如果控制器发生故障,您的条带不会丢失,只有镜像效果。
当然,这对于您的情况也可能是完全错误的。 您将需要考虑在速度、容量和冗余之间进行权衡。 就像古老的工程笑话一样,“更好、更便宜、更快,选择任何两个”,您会发现您可以使用适合您的配置,即使它不是最佳配置。
RAID 5 我会说每个阵列有 0 个驱动器。请参阅http://baarf.com/或任何其他来源的类似咆哮。
RAID 6 我会说每个阵列有 5 个驱动器 + 1 个热备用。再少一点,你还不如做 RAID 10,再多一点,你就在推动风险因素,应该去 RAID 10。
RAID 10 随心所欲。
我使用 7 作为“神奇”的最大数字。对我来说,这是在冗余空间损失(在这种情况下约为 14%)和重建时间(即使 LUN 在重建时可用)或增加大小和 MTBF 之间的一个很好的折衷。
显然,在使用 SAN 14 磁盘机箱时,这对我来说非常有用。我们的两个客户有 10 个磁盘机柜,幻数 7 减少到 5。
总而言之,5-7 对我有用。抱歉,我也没有任何科学数据,只是从 2001 年开始体验 RAID 系统。
有效最大值是 RAID 控制器带宽。
假设磁盘读取最大速度为 70MB/秒。在峰值负载下,您无法足够快地铲除数据。对于繁忙的文件服务器 (RAID 5) 或数据库服务器 (RAID 10),您可以快速完成此操作。
SATA-2 是 300MB/S 接口规格,SCSI Ultra 320 会更一致。您说的是 6-10 个磁盘,因为您不会经常达到峰值。
RAID 中磁盘的限制过去由 SCSI BUS 上的设备数量决定。最多可以将 8 或 16 个设备连接到单个总线,并且控制器算作一个设备 - 所以它是 7 或 15 个磁盘。
因此,很多 RAID 是 7 个磁盘(一个是热备用),这意味着剩下 6 个磁盘 - 或 14 个磁盘和 1 个热备用。
因此,RAID 组中的磁盘最大的问题可能是您需要多少 IOPS。
例如,一个 10k RPM SCSI 磁盘可能运行大约 200 IOPS - 如果您在 RAID 5 中有 7 个磁盘 - 您将丢失 1 个磁盘进行奇偶校验,但随后有 6 个磁盘用于读/写,理论上最大值为 1200 IOPS - 如果您需要更多 IOPS - 添加更多磁盘(每个磁盘 200 IOPS)。
速度更快的磁盘 15k RPM SAS 可能会达到 250 IOPS,等等。
然后总是有 SSD(每个磁盘 30,000 IOPS)并且它们是可攻击的(尽管非常昂贵)。
而且我认为 SAS 在设备数量方面具有疯狂的最大值——比如 16,000 个驱动器
使用 RAID6 和 SATA,我在 11 个磁盘上取得了很好的成功……还有一个热备件(一些坏控制器需要两个热备件来重建 RAID6)。这很方便,因为许多 JBOD 以 12 个磁盘为一组,如 HP MSA60。
直到您在链条中的较窄点(突袭卡,链接)中达到公共汽车的最大速度,这样才有意义。当您向 PCI 总线添加大量 1GbE NIC 时,同样的事情没有任何意义。