希望这是一个简单的问题。现在我们正在部署将用作数据仓库的服务器。我知道 RAID 5 的最佳做法是每个 RAID 5 6 个磁盘。但是,我们的计划是使用 RAID 10(兼顾性能和安全性)。我们总共有 14 个磁盘(实际上是 16 个,但其中两个用于操作系统)。请记住,性能是一个非常重要的问题,哪个更好 - 做几个 RAID 1?做一个大型RAID 10?一个大的RAID 10本来是我们原计划的,但是我想看看有没有人有什么意见我没有想到。
请注意:此系统专为使用 RAID 1+0 而设计,因此丢失一半的原始存储容量不是问题。抱歉,我一开始没有提到这一点。更关心的是我们是否要使用一个包含所有 14 个磁盘的大型 RAID 1+0,或者几个较小的 RAID 1+0,然后使用 LVM 在它们之间进行条带化。我知道更高 RAID 级别的最佳做法是永远不要在阵列中使用超过 6 个磁盘。
查看此讨论,其中详细介绍了 HP ProLiant 服务器上 RAID 1+0 设置的磁盘布局:
6 磁盘突袭 1+0
在 RAID 1+0 中配置的智能阵列控制器是跨镜像对的条带。根据您布置驱动器笼的方式以及您使用的控制器,磁盘可能会跨控制器通道配对。
例如,在 4 磁盘设置中:
物理驱动器 1I:1:1对到物理驱动器 1I:1:3
物理驱动器 1I:1:2对到物理驱动器 1I:1:4
有了那么多的磁盘,将它们放在一个逻辑驱动器中就没有什么坏处了。您将获得更多 ( MOAR ) 轴的好处,用于顺序工作负载和增加的随机工作负载能力。我建议调整控制器缓存以偏向写入(较低延迟),并可能在操作系统级别做出一些关于文件系统选择(XFS!)、I/O 电梯(截止日期)和块设备调整的选择。
这将在哪个操作系统发行版上运行?
Matthew - 我是一个BIG Splunk 客户,我们只使用 R10 - 无论是用于我们低端设备的 SAS 磁盘、用于中型系统的企业级 SSD 还是用于我们最繁忙机器的 FusionIO 卡。你很聪明,身材适合 R10,相信你的直觉,你走在正确的道路上。
我们只是为所有的 /splunkdata 创建一个大的 PV/VG/LV,顺便将 /opt/splunk 留在启动盘上。
400GB/天约为 270MB/分钟。
RAID5 可能有效。就存储效率和写入性能而言,RAID 50 可能是最好的。RAID 10 将为您提供最佳的写入性能,但会以 50% 的存储效率为代价。我担心繁重的写入加上随机读取……这会降低整体性能。
您使用的磁盘类型至关重要。如果您可以使用 10k 或 15k 驱动器,性能将大大提高,但当然这些磁盘比企业级 SATA/SAS 7.2k 驱动器更昂贵且容量更小,后者目前高达 3+TB。
最终,没有人能告诉您什么最适合您的应用程序,因此您需要自己进行测试。我的建议是使用具有大写入缓存(512MB 或以上)和适当大小的读取缓存的 RAID 卡。然后,测试各种 RAID 组合(我建议 RAID5-6 和 RAID5-10,以及 RAID50 和 RAID10)。看看什么表现最好。调整 RAID 卡设置。您会找到最佳配置。
“更关心的是我们是否要使用一个包含所有 14 个磁盘的大型 Raid 1+0,或者几个较小的 raid 1+0,然后使用 LVM 在它们之间进行条带化。”
出色地。如果您考虑一下,您基本上是在问我们是应该让您的 raid 控制器执行 RAID10 的 RAID0 部分,还是应该让 LVM 执行它。
我想如果您拥有世界上最差的 raid 控制器,那么 LVM 可能会胜过它。否则我认为让 raid 控制器完成所有工作是安全的。
RAID-10 会将您的可用空间减半。我建议改用 RAID-50,它至少需要 6 个驱动器;它将为您提供出色的容错性和性能。
您需要检查并测试多个 RAID 卡,因为它们的性能并不完全相同。如果您还不知道这一点,请确保使用企业 SATA 驱动器,而不是桌面驱动器,也不是“绿色”驱动器。