我应该对 3 个磁盘使用哪个 RAID 级别(5 或 0+1),为什么?

Bel*_*dez 5 raid raid5

这是专门用于备份存储的,但出于提供信息的目的,我想知道您为什么要选择其中之一?

五分钟前,我什至不知道 RAID 0+1 是 3 个磁盘的选项。所以现在我要做一个决定。

编辑:用 3 个磁盘突袭 0+1

很高兴我不是唯一一个不知道 Raid 0+1 可以用 3 个磁盘完成的人:-)。这个维基百科部分解释了它。这是它的外观图:

3盘Raid01

Dav*_*ett 6

三个驱动器无法使用标准嵌套 RAID10,因此您可能会在这两个选项中使用 RAID5。

在 Linux 下,您可以在三个驱动器上使用单级 RAID10 驱动程序。这类似于 RAID5,但使用镜像而不是校验和 - 提供类似于两个或三个驱动器 RAID0 的读取性能(取决于选择的布局和 I/O 模式)和类似于两个驱动器 RAID1 的写入性能。提供的冗余与 RAID5 提供的相同,因此本质上您将获得性能更好的阵列(即没有 RAID5 中常见的先读后写性能影响),并且具有相同的冗余。

一些更高端的硬件控制器以不同的名称提供类似的安排。IBM 控制器通常将其称为 RAID1E。

编辑:

您编辑中显示的排列是 Linux RAID10-over-three-drives 排列和 IBM 的 RAID1E 的默认设置所使用的排列。linux 驱动程序提供了几种排列选项(near、far 和 offset),它们可以相互交换不同的性能指标。例如这个布局:

1     2     3
4     5     6
...   ...   ...
N-2   N-1   N
2     3     1
5     6     4
...   ...   ...
N-1   N     N-2
Run Code Online (Sandbox Code Playgroud)

具有读取性能提升。从本质上讲,它就像一个三驱动器 RAID0,仅用于读取,更好的是它可以将纯读取活动集中到旋转磁盘盘片的较快端。但是,它会影响旋转磁盘的写入性能,因为磁头最终会更频繁地进行半扫描或更糟,尤其是写入顺序块时。默认配置的写入性能一般不比 2 驱动器 RAID0 好,但写入性能一般不比 RAID1 差。有关更多详细信息,请参阅http://en.wikipedia.org/wiki/Non-standard_RAID_levels#Linux_MD_RAID_10

哪个和为什么:

长话短说:如果 RADI1E/RAID10x3n2/what-ever-your-controller-calls-它在您的环境中可用并且所有其他条件相同,它的性能应该比 RAID5 更好,同时提供相同的“任何单个驱动器都可能发生故障" 冗余,所以我会说出于性能原因它是可取的。如果空间比性能(尤其是写入速度)更重要,那么请使用 RAID5,因为这将为您提供两个驱动器的空间,而不是 1.5 倍。

在 Linux 下,有些人会警告说,3 设备 RAID10 远不如 RAID5 驱动程序成熟和经过时间测试(尽管我认为它在主线内核中已经存在了足够长的时间并且被足够多地使用以认为它相对稳定而不是“实验性的” )。此外,如果您在拥有许多管理员的大型环境中工作,请考虑其他人不理解(只熟悉常见的 0/1/5/6/10 级别)并在他们的困惑中搞砸的可能性!