就像您的问题所暗示的那样,实际上并没有“最佳” RAID配置,仅在特定情况下才是最佳配置,而成本通常是最重要的因素之一。
如果不涉及控制器和软件的细节,这就是我的经验法则。
RAID 0是最快的,因为您可以一次读取和写入多个磁盘,并且没有“浪费”空间以实现冗余。丢失任何磁盘都会丢失该磁盘集,因此RAID 0应该仅在您不关心的机器上使用,或者易于还原并且不包含您所重视的数据。游戏机可能适合这种情况,尽管说实话,速度差异并不那么明显,以至于我愿意接受必须重建机器的增加的风险。如果您有需要这种东西的软件,它对于真正快速的“临时”区域也很有用。
RAID 1是非常常见的镜像设置,通常包含2个磁盘。读取速度通常比单个磁盘快两倍,而写入速度仅比单个磁盘慢一点。在服务器上,RAID 1是操作系统文件的绝佳选择。当您需要冗余,存储需求不至于需要RAID 5且您可能会从额外的读取速度中受益时(数据库日志文件通常放置在RAID 1上),它也是一个不错的选择。
除了企业侧某些供应商的产品外,通常不使用RAID 2到RAID 4(不是问题)。
RAID 5是在不浪费太多冗余空间和仍然获得额外磁盘额外性能之间的折衷方案。读取速度非常好,因为所有磁盘都可以参与。RAID 5有时可能会导致写入速度出现问题,尽管我认为根据情况有时会夸大其词。即使使用进行奇偶校验计算的硬件,RAID 5也会遭受少量随机写入,因为每个逻辑写入操作需要4个I / O(从数据磁盘读取,从奇偶校验磁盘读取,写入数据磁盘,写入奇偶校验磁盘)。当您想要最大程度地利用磁盘集获得的存储量同时仍具有良好的安全性时,请选择RAID 5。当您的应用程序具有高性能需求并且需要大量小的随机写入(虚拟机硬盘,数据库数据文件)时,请避免使用。还应注意,当现代大型磁盘作为RAID 5集的一部分发生故障时,重建需要花费大量时间,这会使您的数据遭受第二次磁盘故障的风险更长。RAID 6可以降低此风险,但会带来更差的随机写入性能。
RAID 1/0和0/1具有几乎相同的性能特征。尽管最好是1/0,因为失败意味着仅重建涉及的一对磁盘,而不是整个磁盘带。RAID 1/0是问题中提到的最快的通用配置。读写性能都很好(本质上可以一次从所有磁盘读取数据,必须对多个磁盘进行写操作,但是不需要像RAID 5那样的读/读/写/写周期),尽管RAID 5在某些情况下可以胜出。RAID 1/0在几乎所有情况下也是最昂贵的(毫不奇怪)。仅在性能至关重要,数据具有很高的价值并且应用程序无停机时间时才应使用它。通常,数据库服务器(或至少它们的数据文件)是RAID 1/0的良好候选者。
确实可以将固态驱动器置于RAID配置中,特别是因为其冗余值。但是,许多SSD的性能要优于其所连接的总线(SATA),特别是对于读取操作而言,因此RAID的性能影响不那么吸引SSD。