0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
阵列配置
计算 RAID 阵列中剩余多少可用容量、需要多少冗余、在不耗尽数据的情况下可以丢失多少磁盘以及您将获得的大致性能。 选择级别、磁盘数量及其容量,并在相同硬件下对各个级别进行比较。
RAID级别
RAID 5 — 分布式奇偶校验

在所有磁盘之间分配数据和奇偶校验。 它牺牲了相当于一个磁盘的性能,并且只能容忍一个磁盘的故障,即使在大型阵列中也是如此。

构成排列的光盘,不包括备用光盘
所有磁盘的大小相同
TB 是盒子上写的; TiB,系统报告的内容
热备件:已购买,但不会增加容量
容量和耐受性
24 TB装机容量
20 TB可用容量 18.19 TiB 在操作系统中
数据 83.3 % 冗余 16.7 %
6 4 TB 相当于 5 数据磁盘 和 1 冗余。
对于数据20 TB
为了冗余4 TB
效率83.3 %
容忍的故障 1
最好的情况1
购买的光盘6

对于这种容量的磁盘或如此宽的组,单个奇偶校验几乎没有留下任何空间:在重建过程中,阵列没有任何保护,并且必须从头到尾读取所有幸存的磁盘。 考虑 RAID 6 或 RAID 60,它们在重建第一个故障时支持第二个故障。

如果没有热备用磁盘,除非有人手动更改磁盘,否则重建不会开始。 对于一支不是每天都有人关注的球队来说,等待的时间通常比重建本身还要长。

RAID 可防止磁盘故障,而不是意外删除、勒索软件、盗窃或火灾。 它是高可用性,而不是备份:我一直需要在另一台计算机和另一个地方进行备份。

性能和重建
填写以下三个字段
每秒随机操作数
MB/s
顺序持续传输
MB/s
如果该安排仍在生产中,则会下降很多
它出现在光盘的技术表中
可选,计算每个可用 TB 的成本
读取IOPS900
写入IOPS225
写罚分×4
顺序阅读1.2 GB/s
顺序书写1 GB/s
重建磁盘更换故障磁盘大约需要 11 小时 7 分钟,并且必须读取分布在 5 个磁盘上的 20 TB。在持续期间遇到不可恢复的读取错误的概率:79.81 %

在这个级别上,重建过程中的读取错误无法恢复,并且计算出的概率很高。 这是一种典型的场景,其中具有单冗余和大磁盘的阵列在最需要的时候出现故障:建议使用具有双奇偶校验的级别或具有更好错误率的磁盘。

性能值是一个理论上的上限:它们假设控制器、总线和缓存不是瓶颈,并且负载均匀分布在所有磁盘上。 它们用于相互比较水平,而不是承诺数字。

级别之间的比较

所有级别均使用相同的 6 磁盘计算。 点击一行可更改级别。

等级可用效率失败写作

故障栏显示有多少个磁盘可以同时宕机而不丢失数据;在括号中,如果你幸运的话,并且两个不在同一个镜子或同一组中重合,那么可能会掉落多少个。

工作原理

RAID 阵列将多个磁盘合并为一个,以获得容量、速度或容错能力,但几乎不会同时实现这三者。 每个级别都以不同的方式解决此承诺:有些级别会分发数据而不保存任何其他内容,有些级别会写入完整的副本,有些级别会计算奇偶校验以便能够重建丢失的内容。

该计算器获取磁盘的数量、容量和选择的级别,并返回实际剩余的数据容量、采用的冗余量、在不丢失信息的情况下可以发生故障的磁盘数量以及获得的近似性能。 容量以制造商使用的十进制单位和操作系统报告的二进制单位显示,这就是磁盘附带的东西比包装盒上标明的少的永恒感觉的来源。

它还估计重建需要多长时间以及在其持续时间内遇到不可恢复的读取错误的可能性有多大,这是许多单奇偶校验阵列最终失败的点。 最后的比较是用相同的硬件计算所有级别,一目了然地看到每个级别的增益和损失。

示例

8 × 4 TB · RAID 624 TB八个磁盘中的两个进入双奇偶校验,因此还剩下六个用于数据:十进制 24 TB,操作系统将显示为 21.8 TiB。 效率为75%,并且阵列可以容忍任意两个磁盘的故障。
8 × 4 TB · RAID 1016 TB对于相同的光盘,镜子只留下一半的容量。 作为回报,它的写入速度是 RAID 6 的两倍,并通过复制单个磁盘而不是读取其余七个磁盘来重建。
5 × 4 TB · RAID 572 %它是重建损坏的磁盘时遇到不可恢复的读取错误的概率,桌面磁盘每 10^14 位就有 1 个错误。 您必须读取整个 16 TB,并且在 RAID 5 中,读取期间的任何错误都无法恢复。
12 × 8 TB · RAID 6064 TB十二个磁盘分为两组,每组六个:每组在双奇偶校验中丢失两个磁盘,因此还剩下八个用于数据。 与 RAID 6 相比,牺牲了更多容量,但重建仅读取受影响组中的 5 个磁盘,而不是阵列中的 11 个磁盘。

使用场景

  • 决定购买多少个驱动器以及多大的大小才能达到 NAS 或文件服务器所需的容量。
  • 在创建编配之前比较级别,此时您仍然可以选择,因为之后更改级别几乎总是意味着从头开始重做。
  • 向客户或老板解释为什么八个 4TB 驱动器不能为您提供 32TB 的可用空间。
  • 估计重建磁盘时阵列暴露的时间,以在低使用率窗口中计划更改。
  • 通过显示重建风险来证明大型磁盘阵列中从 RAID 5 跳转到 RAID 6 的合理性。
  • 在签署购买之前计算不同磁盘组合和层的每可用 TB 的实际成本。

常见问题

为什么操作系统显示的容量比我估计的要少?

因为他们说的不是同一种语言。 制造商以十进制单位出售,其中 1 TB 为一万亿字节,大多数操作系统以二进制单位报告,其中 1 TiB 为 2^40 字节——大约大 9%。 4TB 磁盘显示为 3.64 TiB,没有丢失任何一个字节。 计算器精确地显示了这两个数字,因此差异并不奇怪。 除此之外,还有文件系统保留的内容,这取决于您使用哪一个。

RAID 5 还是 RAID 6?

这取决于磁盘的大小和数量。 RAID 5牺牲单盘,容忍单故障;问题在于,在重建时,阵列没有任何保护,并且必须从头到尾读取所有幸存的磁盘,对于多 TB 磁盘来说,这可能需要数天的时间。 RAID 6 多牺牲了一块磁盘,但在关键时刻却遭遇了第二次故障。 对于 4TB 或更大的磁盘,或者八个或更多磁盘的阵列,RAID 6 是合理的选择。

什么是写惩罚?

它是每个逻辑写入成本的物理磁盘操作数。 在 RAID 0 中,它是 1,因为它是写入的,仅此而已。 在镜像中它的值是 2,因为相同的数据传输到两个磁盘。 在 RAID 5 中,它是 4:您必须读取旧数据,读取旧奇偶校验,写入新数据并写入新奇偶校验。 在 RAID 6 中,它是 6,因为有两个奇偶校验。 这就是为什么具有奇偶校验的阵列可以具有出色的读取性能和非常差的随机写入性能,也是写入密集型数据库通常采用 RAID 10 的原因。

RAID 10实际上支持多少个磁盘?

保证一份,如果幸运的话,最多可以得到一半的和解金。 RAID 10 成对创建镜像并在它们之间分配数据:只要故障落在不同的镜像上,阵列仍然存在,但如果发生故障的两个磁盘是同一对,则一切都会丢失。 有了八张光盘,您可能会失去四张并继续前进,或者失去两张而一无所有。 这就是为什么计算器会显示这两个数字,并且永远不建议以乐观的数字进行计划。

什么时候适合使用 RAID 50 或 RAID 60?

当磁盘数量过多时,单个奇偶校验组就会变得很麻烦。 将 12 或 24 个磁盘分成多个组可以缩短重建时间,因为只读取磁盘发生故障的组而不是整个阵列,并且它还允许容忍每组一次故障,而不是整个阵列中的一次故障。 代价是每个组都有自己的奇偶性:组越多,可用容量就越少。 这些是服务器控制器或驱动器机箱级别,而不是四托架 NAS。

如果磁盘大小不同会发生什么情况?

在经典 RAID 中,所有磁盘的行为就好像它们是最小磁盘的大小一样,而大磁盘上剩余的部分仍然未使用。 这就是计算器使用单一大小的原因:如果您有混合磁盘,则加载最小的磁盘,您将获得阵列的实际容量。 一些存储系统,例如多个家庭 NAS 或具有自身冗余的文件系统,知道如何利用多余的空间,但它们不再遵循传统 RAID 的规则。

热备盘可以增加容错能力吗?

它不会增加可容忍的故障,但会增加反应速度。 插入热备用并在没有数据的情况下旋转,等待磁盘掉落,以便重建可以在几分钟内自行启动,而不是在有人走过机架时启动。 由于修复过程中最危险的时刻正是从失败到重建结束的时刻,因此缩短该窗口是非常值得的。 当然,它像任何其他磁盘一样占用一个托架并付费,这就是计算器从效率中扣除它的原因。

什么是不可恢复的读取错误以及为什么它会破坏重建?

这是一个即使磁盘有自己的校正码也无法读取的扇区。 数据表将其声明为速率:台式机驱动器通常表示每 10^14 位读取少于 1 个,NAS 驱动器每 10^15 位读取 1 个,SAS 商业驱动器每 10^16 位读取 1 个。 在日常使用中,这几乎是察觉不到的,但是重建会迫使您完整读取所有幸存的磁盘,这就是计数变得尴尬的时候:在具有单个奇偶校验的阵列中,大规模读取时的单个错误就意味着数据丢失。 另一方面,使用双重奇偶校验时,该扇区会用第二个扇区重建,但不会发生任何事情。

RAID 会取代备份吗?

不,这是对存储最昂贵的误解。 RAID 可以防止磁盘发生物理故障,仅此而已:意外删除、应用程序损坏的文件、勒索软件、盗窃、火灾或同时占用所有磁盘的源在整个阵列中均匀复制或丢失。 RAID是高可用性,即在更换磁盘时继续工作;备份就是能够回去。 两者都需要。

IOPS和速度值是我要测量的吗?

它们是理论上的上限,对于相互比较水平很有用。 他们假设负载均匀分布在所有磁盘上,并且控制器、缓存、总线和文件系统都不会进入队列。 实际上,具有电池保护缓存的控制器可以隐藏大部分写入损失,并且正在进行的重建可能会降低一半的性能。 用数字来决定水平,而不是承诺数字。