三星 EVO 的 RAID 性能缓慢

Sha*_*rza 4 raid performance storage ssd

所以我一直怀疑三星 EVO 850 RAID1 的性能瓶颈有一段时间了,但老实说,我懒得去研究它。现在我开始了一个新的家庭项目,涉及一个带有内部存储的 Vmware ESXi 主机。

我有许多硬件突袭控制器,并决定是时候升级我的旧 Adaptec 51645,它对我非常有用,并且从未引起任何问题......不幸的是,这似乎是一个不可能完成的任务,获得监控在较新的 Vmware 系统上启动并运行,因为该控制器使用较旧的 Adaptec 驱动程序集。

长话短说 - 我的心思放在了 ServeRAID M5015 上,因为我安装了一个安装了 SSD 加速器密钥的,并且它与我身边的备用英特尔 SAS 扩展器兼容。

我设置了 2 个 RAID1 硬件突袭 - 2 个 250GB EVO 850 和 2 个 1TB EVO 850,并立即意识到有些不对劲。性能似乎很糟糕,仅从外观上看,甚至比 7 x HDD RAID 5 还要糟糕——尤其是对于写操作。

没有进入猜谜游戏,我决定采取更多的分析方法,现在已经测试了许多配置,这些配置似乎都显示相同。

EVO 在纯 JBOD 中运行,提供最大性能和预期性能,而任何将 raid 代码应用到混合中,似乎都会降低性能的数量不同,但至少 50% 的预期性能,考虑到在 JBOD 中测量的性能.

我希望有人能对此有所了解,并希望提供一些事实,说明这是否与三星 SSD 隔离,或者这与 RAID 控制器有关(详情如下)。

这些是我测试过的控制器和设置,以及我得到的结果。

  • 注意:我知道这些是没有电容器的消费类 SSD。

  • 所有测试都是使用 CrystalDiskMark64 进行的 - 我没有深入研究 IOMeter 或类似的东西,因为来自 CSM 的结果相当具有可比性,并且对于初始基线“足够好”(恕我直言)。

    • 设置:5 个测试,16GiB 文件大小。
  • 所有测试均在 Windows Server 2012 R2 平台、最新可用驱动程序和最新可用控制器固件上完成。

  • 仅测试了 1TB EVO 850。

  • 为回写、直接 IO 策略(如果适用)启用控制器缓存,未启用驱动器缓存。

    • 编辑:我应该提到我知道这是没有电容器的消费者驱动器,并且我已经在强制打开驱动器缓存的情况下重新运行测试,没有改进 - 无论 Windows 缓存刷新策略设置如何。
  • 英特尔 RST

    • JBOD SEQ 读/写 Q8T1:~550 MB/S / ~550 MB/s

    • JBOD RND4K 读/写 Q32T16:~450 MB/s / ~300 MB/s

    • RAID1 SEQ 读/写 Q8T1:~1100 MB/S / ~265 MB/s

    • RAID1 RND4K 读/写 Q32T16:~300 MB/s / ~24 MB/s

  • 带有 SSD Accelerator 密钥的 IBM ServeRAID M5015 (LSI)。

    • 这个不是新的,但它有足够的能力来处理许多快速 SSD 的 RAID 代码。

    • 不支持 JBOD,所以我使用 RAID0 单驱动器进行该测试。

    • RAID0 单驱动器 SEQ 读/写 Q8T1:~524 MB/S / ~265 MB/s

    • RAID0 单驱动器 RND4K 读/写 Q32T16:~405 MB/s / ~370 MB/s

      • 这是一个完全出乎意料和奇怪的结果。
    • RAID1 SEQ 读/写 Q8T1:~520 MB/S / ~265 MB/s

    • RAID1 RND4K 读/写 Q32T16:~200 MB/s / ~24 MB/s

  • HP SmartArray P411

    • 与 ServeRAID M5015 相同
  • Adaptec 51645

    • 这个控制器是一个 3GB/s 的控制器(毕竟它是旧东西)

    • JBOD SEQ 读/写 Q8T1:~268 MB/S / ~268 MB/s

    • JBOD RND4K 读/写 Q32T16:~268 MB/s / ~265 MB/s

    • RAID1 SEQ 读/写 Q8T1:~545 MB/S / ~265MB/s

    • RAID1 RND4K 读/写 Q32T16:~530 MB/s / ~260 MB/s

所以最重要的是,旧的 Adaptec 实际上最好地处理了突袭场景,只是不是一个真正的选择,因为它只处理 3 GB/s SATA II。英特尔在阅读场景中做得最好,但它不是 Vmware ESXi 上的一个选项。

目前,我倾向于简单地将 SSD 用作单个 SSD,每个 SSD 上有一个数据存储,并使用 Veeam Backup & Recovery 在数据存储之间复制 VM,因为看起来我无法获得任何合理的数据在raid控制器上表现出来。

我对这个主题做了很多研究,似乎我不应该对任何这些抱有希望。

这里有人会偶然知道 - 事实上 - 另一个/更新的控制器会解决这个问题吗?或者仅仅是EVO在raid设置中遇到问题?(我有很多 hw raid 控制器,但只有容量不同的 EVO 驱动器,因此无法自己进行测试)。

在此先感谢您的任何反馈。

所以 - 我想我想发布更新,进行进一步的测试。

我已经构建了 Vmware ESX 设置,并在从其中一个 SSD 中提取一些数据后,在为新的测试设置做好准备之前,似乎有一些东西只会使 SSD 与至少其中一个不兼容控制器。

我为其中一个 SSD 创建了一个虚拟 RDM,并将其传递给 VM。

我选择了 IBM ServeRAID M5015。一口气读取大约 40GB 后,磁盘完全没有响应(我怀疑控制器与驱动器固件的配合不佳,但这纯粹是猜测)。驱动器不会脱机,它只是没有响应,只有重启虚拟机才能解决这个问题。

使用非突袭控制器没有任何问题。

有趣的时光。

现在我正在寻找价格合理、更新日期的 RAID 控制器,这不一定是 SAS - SATA 可以,并且它具有在 ESX 服务器中运行时要监控的先决条件......

更新

从来没有像我希望的那样工作。最终为主要工作负载购买了 2 个较旧的英特尔 SATA Enterprise SSD,而仅将三星 EVO 用于对性能不太敏感的工作负载。

我编写了一个脚本来使用 StorCLI 监控 ESXi 内部的突袭,并将我旧的可靠 Adaptec 52645 传递到 VM 以处理包含大部分静止数据的较大磁盘集(因为 LSI 控制器显然不支持节能和磁盘降速。 .. 咳咳...)

我现在都在工作 - 只是不像我最初打算的那样。

无论如何 - 感谢您的投入。

sho*_*hok 6

三星 850 EVO 是消费级 SSD,缺少断电保护的回写缓存。因此,RAID 控制器将禁用SSD 私有缓存,这对于从消费级闪存驱动器中提取良好性能至关重要。

为了恢复性能,您必须重新启用磁盘缓存,但这会影响数据对突然断电的恢复能力。

您可以在此处查看更多信息。

  • 最重要的是,EVO 的耐力等级非常有限。在 6 到 9 个月内更换它们很有趣,不,这不是保修案例。它们被评定为一定数量的写入,你会破坏它们。250s 的额定写入量为每天 41GB (!)。对于低写入系统来说足够了——对于虚拟化来说还不够。1tb 是 82gb/天。 (3认同)