可适应磁盘数量变化的 RAID 系统

可适应磁盘数量变化的 RAID 系统

我必须构建一个 RAID 6,并且满足以下 3 个要求:

  1. 使用不同种类、不同大小的磁盘。
  2. 当磁盘发生故障且有足够的空间时,RAID 应该能够从降级状态中重建自身。也就是说,如果我有一个包含 8 个磁盘的 RAID,其中 1 个发生故障,我应该能够选择将其转换为包含 7 个磁盘的非降级 (!) RAID。
  3. 反过来也一样:如果我添加一个任意大小的磁盘,它都应该重新分配数据,这样它就变成了一个有 9 个磁盘的 RAID。

如果必须手动完成,我不在乎。

我也不太关心速度。

RAIDz 能做到这一点吗?Btrfs、unRAID、SnapRAID 还是 FlexRAID?哪种 RAID 系统可以做到这一点?

非常感谢你的帮助!

答案1

关于 RAID 级别 Z1/Z2/Z3 的 ZFS 的答案:

  1. 使用不同种类、不同大小的磁盘。

这是可能的,但每个磁盘的可用大小等于阵列中最小的磁盘(我猜这不是你想要的)。有一个技巧,就是对磁盘进行分区,并将剩余空间用于另一个池,但出于安全原因,不建议这样做,并且会使更换/维护变得复杂。

  1. 当磁盘发生故障且有足够的空间时,RAID 应该能够从降级状态中重建自身。也就是说,如果我有一个包含 8 个磁盘的 RAID,其中 1 个发生故障,我应该能够选择将其转换为包含 7 个磁盘的非降级 (!) RAID。

不可能,RAID 级别的选择是最终的,只能通过销毁并重新创建整个阵列(在此过程中丢失其中的所有数据)来更改。您可以在降级状态下运行 Z2 或 Z3 阵列(减去一个或减去两个磁盘),除了 zpool 状态出现抱怨/警告外,这与拥有较小的阵列没有什么不同。

  1. 反过来也一样:如果我添加一个任意大小的磁盘,它都应该重新分配数据,这样它就变成了一个有 9 个磁盘的 RAID。

不可能,ZFS 上既没有添加磁盘,也没有重新分配已写入的数据。

相关内容