生产环境中 NVMe 上的 MongoDB

生产环境中 NVMe 上的 MongoDB

我正在设置数据库生产环境,我有一些问题。服务器有两个 NVMe 磁盘,但它们不能在硬件 RAID 控制器中使用。我需要使用 NVMe 的 RAID 吗?

是否足以将它们用作磁盘阵列在生产中?还是我应该使用软件 RAID 1/0(这是 MongoDB 建议的 RAID)?否则,我必须移除 NVMe 驱动器并订购要在 RAID 硬件控制器中使用的 SATA 接口。

答案1

您可以对 NVMe 进行 RAID,但无法使用传统 RAID 控制器对其进行 RAID。例如,如果您使用的是 Intel CPU 并运行兼容的 Intel 驱动器,那么您可以使用它们的快速存储技术企业软件在两个磁盘之间创建 RAID。我知道一些戴尔服务器有一个特殊的 PCIe 控制器,可以代替 CPU 进行 RAID。

另一个选项是使用操作系统的原生 RAID 功能。在 Windows 上,这将是存储空间;在 Linux 上,这可能是 mdadm 或 zfs。

如果这是一个多插槽系统,那么您需要确保放入单个 RAID 阵列的所有驱动器都连接到同一个 CPU 插槽,否则阵列的性能将受到影响。如果这些是基于 PCIe 的 NVMe 磁盘,那么您的服务器文档中应该有每个 PCI 插槽连接到哪个 CPU。如果这些是 U.2 或 M.2 驱动器,那么如果没有标记或记录,您可能需要进一步挖掘以找出它们连接到哪个 CPU。

答案2

事实上,最好的方法(至少从我的角度来看)是在两个 NVMe 上执行 zfs 镜像,这在 FreeBSD 操作系统(当然也适用于其他操作系统)上是完全可行的。在这种配置中,您可以获得最高级别的保护,因为不需要 RAID 控制器。

简而言之,答案取决于您打算或需要使用的操作系统。

答案3

Broadcom 有 TriMode 控制器 — 94xx 和更新的 95xx 系列。它们支持带有 2.5 英寸 NVMe 驱动器的硬件 RAID,但需要特殊电缆和/或兼容背板。

我最近对 ​​Broadcom 9460-16i 上的 RAID-10 中的 4 个 Samsung PM1733 硬盘与 mdadm 进行了一些性能比较。4k 随机负载的 IOPS/延迟几乎相似。9460 的 CPU 利用率较低,但我可以说 mdadm 表现相当不错。

相关内容