这个 RAID 总容量计算公式中的“存储因子”(F) 是什么意思?
T = nFD
其中 T - 总 RAID 容量,n - 驱动器数量,D - 驱动器大小,F - 存储因子
答案1
RAID 使用部分磁盘来提供冗余,以处理 RAID 阵列中部分磁盘的故障。
上述情况的例外是 RAID 0,它是没有奇偶校验或冗余的条带化。如果 RAID 0 阵列中的任何磁盘发生故障,除了极少数例外,整个阵列都会发生故障。(有时您可以从磁盘故障的 RAID 0 阵列中恢复数据,这并不是 RAID 的功劳。)
这可以用数学方式来表达,即 RAID 阵列的总可用存储容量等于磁盘数量乘以磁盘大小再乘以某个小于或等于一的因子。因此T=nDF,或换句话说,T=nFD。
RAID 提供不同的级别,这允许在可用存储容量以及性能和数据完整性特征方面进行不同的权衡。(与“级别”一词所暗示的不同,数字越高的级别并不一定越好。这在很大程度上取决于您要实现的目标。)常用的 RAID 级别为:
- RAID 0:完全无冗余的条带化。组成阵列的设备的所有原始磁盘空间均可用于存储,因此效率系数 = 1。可以与任意数量的磁盘一起使用,但无法承受阵列中任何磁盘的故障。
- RAID 1:镜像但不进行条带化。每组中只有一个磁盘的存储空间可用,因此对于磁盘数量 n,效率因子 = 1/n。通常与双向镜像一起使用(每组两个磁盘,效率因子 = 1/2 = 0.5),有时与三向镜像一起使用(效率因子 = 1/3 ~ 0.33),但很少超过这个数字,因为此时收益不会超过成本。可以与任意数量的磁盘一起使用(在某些情况下甚至可以与单个磁盘一起使用),并且可以承受每组中除一个磁盘之外的所有磁盘的故障。
- RAID 5:具有单奇偶校验但没有镜像的条带化。每组中,一个磁盘的存储空间用于存储奇偶校验信息,因此对于磁盘数 n,效率因子为 (n-1)/n。可以使用不少于两个磁盘,但合理情况下最少需要三个磁盘(否则只需使用镜像),并且可以承受每个组中任何一个磁盘发生故障。
- RAID 6:带双奇偶校验但没有镜像的条带化。每组中有两个磁盘的存储空间用于存储奇偶校验信息,因此对于磁盘数为 n 的情况,效率因子为 (n-2)/n。可以使用不少于三个磁盘,但合理情况下最少需要四个磁盘(否则再次使用镜像),并且可以承受每组中任意两个磁盘发生故障。
一些供应商特定或非标准的 RAID 级别也可用,并且相对常用。这些通常提供一些特定的好处,保证最终供应商锁定,例如允许奇数阵列布局或解决RAID5写入漏洞问题。
对于非常小的(就磁盘空间而言)阵列,需要考虑 RAID 本身需要少量元数据来跟踪阵列的布局。日常用途可以放心地忽略这一点,不同的 RAID 控制器或系统在存储这些数据的具体位置上有所不同(通常选择在阵列的磁盘上或控制器上的某种非易失性存储器中)。
在一般情况下,RAID 级别也可以嵌套。例如,您可以有一个使用 RAID 0 的阵列,其中 RAID 0 阵列引用的每个组都由一些非零数量的 RAID 1 组组成。在这种情况下,首先计算子组的效率,然后计算较大的组,然后计算整个阵列的效率。
如你看到的,无法给出 RAID 存储因素的任何一个数字因为它很大程度上取决于所使用的特定 RAID 配置。
答案2
答案3
我会用 T 来定义 F,而不是反过来。F = T / ND
请注意,这假设所有 N 个驱动器/卷的大小相等。例如 5x2TB = 10TB,但使用 RAID5 时您只有 8GB,因此 F = 0.8 = 8/10。还请注意,T 是网实施 RAID 后的存储。
更好的公式应该是efficiency = Net storage / Total storage
,因为这与可变磁盘大小无关。另一个选择是将 D 作为驱动器中最小的一个。例如,RAID1 中的 2x2TB + 2x1TB 将产生 2TB 净容量,使用 4x1TB 的空间用于阵列,得出 F 为 0.5——不包括 2TB 驱动器上剩余的 2x1TB 备用空间。