我想知道对于 SATA 驱动器和一般用途(一些写入,大部分读取)来说,最快和最安全的 RAID 组合是什么?
RAID 0 速度快但非常不安全,RAID 1 安全但速度慢,RAID 5 安全但速度不太快,尤其是在廉价控制器上(XOR 计算)。
RAID 1+0 或 RAID 10 似乎是最佳组合。镜像是为了安全,条带化是为了速度。还有其他最佳或更优化的组合吗?RAID 10 的唯一缺点是存储利用率低。
答案1
这也取决于驱动器的数量:如果驱动器数量为 4 个,则选择 RAID-10。如果驱动器数量超过 8 个,使用良好的 RAID 控制器(3Ware、Areca、Intel 52xxx 系列),RAID-6 可能就足够快了。以下是数字:
- 4 x 1TB,RAID 10:2TB 可用空间,写入速度为 180 MB/s,读取速度为 190 MB/s
- 8 x 1TB,RAID 10:4TB 可用空间,写入速度为 360 MB/s,读取速度为 400 MB/s
- 8 x 1TB,RAID-5(危险):7 TB 可用,写入速度为 420 MB/s,读取速度为 440 MB/s(3Ware)
- 8 x 1TB,RAID-6:6 TB 可用,写入速度为 240 MB/s,读取速度为 360 MB/s (3Ware)
- 16 x 1TB,RAID-6:14TB 可用,写入速度为 280 MB/s,读取速度为 700 MB/s(3Ware)
如您所见,在大约 8 个驱动器的情况下,RAID 5 和 RAID 6 在顺序性能方面与 RAID-10 相当有竞争力(使用 Promise 等劣质卡则不然)。RAID-6 的写入性能相当有限,但只要驱动器足够多,还是可以忍受的。
对于大容量硬盘,RAID-5 相对不安全,因为重建需要较长时间(3 到 4 小时,最多 7 到 8 小时)。不过,你也可以使用 6 个或 8 个硬盘的 RAID-5,但你如果驱动器发生故障,必须停止所有写入操作,直到阵列重建这样就“足够安全”了。
另外,不要在超过 4 个驱动器的 RAID 阵列中使用台式机驱动器。振动和读取错误会降低性能。
答案2
就速度而言,几乎没有什么比 RAID 10 更好。重点是,因为您获得了写入解耦。任何更高效的 RAID(5、6)在写入方面的瓶颈都高于 RAID 10。
也就是说,您可以用基于 SSD 的 RAID 5 或 RAID 6 替换 RAID 10 普通磁盘 - 由于需要的磁盘较少,因此成本可能不会太高。
如果磁盘太大/太多,Raid 5 会变得不安全 - 在这种情况下,您需要使用 Raid 6。问题是,如果 Raid 5 中的磁盘发生故障……在某个时候,您或多或少可能会在重建期间遇到第二块磁盘故障,此时 Raid 会失败。目前限制在 2gb 磁盘左右,因此更适用于存档设置。Raid 6 暂时解决了这个问题。
就我个人而言,我目前使用 Raid 5/6 作为存储、文件服务器。使用 Raid 10 作为虚拟服务器操作系统磁盘(但我有 6-10 个磁盘盘片,并用它们运行 40 台左右的服务器 - 如果它们全部启动,那简直就是磁盘地狱),使用 RAID 10 作为一些数据库数据区域。
另一件要考虑的事情是您使用的磁盘。IOPS 越高越好。便宜的是普通的 SATA 磁盘,高端的是 15000 RPM SAS 磁盘,价格昂贵。Western Digical Velociraptor 2.5 英寸企业版是一款不错的中等产品 - 每张磁盘 300gb,10000RPM。IO 大约是标准 SATA 磁盘的两倍,但比 SAS 高端磁盘便宜很多。但是,SSD 的 RAID 5 很快就会在性能和价格上击败它们……因为您需要的更少。
正如安多尔所说,这完全取决于您的需求。您想做什么?
最后 - 这完全不依赖于 SATA。实际上,由于 SAS 与 SATA 的互操作性,您可以将任何 SATA 驱动器插入 SAS 主干(它们是兼容的 - 甚至物理上)并使用 SAS 基础设施。
答案3
文件服务器这个主题很深奥。但是,非常重要的方面很容易了解。按重要性顺序排列:
- 对于您需要的关键数据服务器级 CPU 和 ECC内存
- 防止比特腐烂你需要质量驱动具有品质固件。不一定是 SAS。SATA 也可以。
- 您需要向后兼容性和开放性。Raid 芯片 - 当 Raid 卡发生故障时(通常是其板载内存磨损),它们可能无法重建以前版本的 Raid。因此,选择软件 raid,mdadm 是方法。
- 你不需要复杂,除非你需要一些特殊的东西,比如快照 - 重复数据删除、实时扩展添加新磁盘。然后你需要LVM、ZFS 或类似软件. BTRFS 仅在单驱动器使用时可靠。
- 您可以考虑使用使用 bcache 代替 LVM缓存组或卷。以降低复杂性。
- raid5 或 raid6 存在问题。当驱动器开始出现故障时,恢复几乎变得不可能。因为在出现故障的驱动器上缓慢恢复是不切实际的,几乎是不可能的。Blackblaze 报告称,驱动器在重负荷使用 4-5 年后才会出现故障。
- raid10 足够可靠。如果你使用许多小驱动器,恢复时出现的问题就会少一些,所以你可以使用 raid50 或 raid60小型驱动器要么质量不够好,要么制造日期太旧。
把它们加起来: 对于普通预算,新小型机箱,内有小型 Xeon 或 Epyc,带有 ECC RAM,在优质 SATA 驱动器(新制造)上使用 mdadm。光纤电缆和 2x 10G 以太网卡,使用 ISCSI 或 SAMBA。
对于预算非常高的情况,只需大量购买更大更好的版本即可。
几乎不需要任何预算,就可以使用现有硬件,在带有 dm-integrity 的 mdadm raid0 中配备小型驱动器,并留下一个大型外部驱动器用于缓慢的夜间备份。
最重要的是,打破重要性顺序只是为了在最后强调,这一点你随时随地都可以看到“RAID 不是备份”所以raid0 非常有意义。Raid10 仅提供了一个窗口来继续处理对时间敏感的关键数据,而无需紧急恢复程序即可继续运行。