是否有必要从 SSD 创建 RAID 阵列以及为此需要哪些控制器?

你好哈布尔! 在这篇文章中,我们将告诉您是否值得基于固态解决方案SATA SSD和NVMe SSD来组织RAID阵列,并且会从中获得可观的利润吗? 我们决定通过考虑允许完成此操作的控制器的类型和类型以及此类配置的应用范围来研究这个问题。

是否有必要从 SSD 创建 RAID 阵列以及为此需要哪些控制器?

无论如何,我们每个人一生中都至少听过“RAID”、“RAID阵列”、“RAID控制器”这样的定义,但我们不太可能认真重视这一点,因为这一切都是对于普通电脑男孩来说不太可能有趣。 但每个人都希望内部驱动器具有高速度和无故障运行。 毕竟,无论计算机的硬件多么强大,当涉及到PC和服务器的综合性能时,驱动器的速度都成为瓶颈。

情况确实如此,直到传统 HDD 被具有 1 TB 或更大容量的现代 NVMe SSD 取代。 如果早期的 PC 经常采用 SATA SSD + 几个大容量 HDD 的组合,那么今天它们开始被另一种解决方案所取代 - NVMe SSD + 几个大容量 SATA SSD。 如果我们谈论企业服务器和“云”,许多企业已经成功迁移到 SATA SSD,仅仅是因为它们比传统的“锡罐”更快,并且能够同时处理大量 I/O 操作。

是否有必要从 SSD 创建 RAID 阵列以及为此需要哪些控制器?

然而,系统的容错能力仍然处于相当低的水平:我们无法像“通灵之战”那样,以长达一周的准确度预测特定固态硬盘何时会失效。 如果 HDD 逐渐“死亡”,让您发现症状并采取行动,那么 SSD 会立即“死亡”,而且不会发出任何警告。 现在是时候弄清楚为什么需要这一切了? 基于固态解决方案SATA SSD和NVMe SSD来组织RAID阵列是否值得,并且会从中获得可观的利润吗?

为什么需要 RAID 阵列?

“阵列”这个词本身就意味着使用多个驱动器(HDD 和 SSD)来创建它,这些驱动器使用 RAID 控制器组合起来,并被操作系统识别为单个数据存储。 RAID阵列可以解决的全局任务是最大限度地减少数据访问时间,提高读/写速度和可靠性,这是由于在发生故障时能够快速恢复的能力而实现的。 顺便说一句,家庭备份根本没有必要使用 RAID。 但如果您有自己的家庭服务器,需要 24/7 持续访问,那就另当别论了。

RAID 阵列有十几个级别,每个级别的不同之处在于所使用的驱动器数量不同,并且各有优缺点:例如,RAID 0 可以让您获得高性能而没有容错能力,RAID 1 可以让您在不提高速度的情况下自动镜像数据,而RAID 10结合了以上的可能性。 RAID 0 和 1 是最简单的(因为它们不需要软件计算),因此也是最受欢迎的。 最终,选择一种或另一种 RAID 级别取决于分配给磁盘阵列的任务以及 RAID 控制器的功能。

家庭和企业 RAID:有什么区别?

任何现代业务的基础都是大量数据,这些数据必须安全地存储在公司服务器上。 而且,正如我们上面提到的,必须为他们提供 24/7 持续访问。 显然,除了硬件之外,软件部分也很重要,但在这种情况下,我们仍然讨论确保可靠存储和处理信息的设备。 如果硬件不能满足分配给它的任务,任何软件都无法使公司免于破产。

是否有必要从 SSD 创建 RAID 阵列以及为此需要哪些控制器?

对于这些任务,任何硬件制造商都会提供所谓的企业设备。 金士顿拥有强大的 SATA 型号固态解决方案 金士顿 450R (DC450R) и DC500系列,以及 NVMe 型号 DC1000M U.2 NVMe、DCU1000 U.2 NVMe 和 DCP-1000 PCI-e,适用于数据中心和超级计算机。 此类驱动器阵列通常与硬件控制器结合使用。

是否有必要从 SSD 创建 RAID 阵列以及为此需要哪些控制器?

对于消费市场(即家用 PC 和 NAS 服务器),诸如 金士顿KC2000 NVMe PCIe,但在这种情况下没有必要购买硬件控制器。 您可以将自己限制在主板内置的 PC 或 NAS 服务器上,当然,除非您计划自己组装家庭服务器来执行非典型任务(例如,为朋友启动小型家庭托管)。 此外,家庭 RAID 阵列通常不需要数百或数千个驱动器,仅限于两个、四个和八个设备(通常是 SATA)。

RAID 控制器的类型和类型

根据 RAID 阵列的实现原理,RAID 控制器分为三种类型:

1.软件,其中阵列管理落在CPU和DRAM上(即程序代码在处理器上执行)。

2.集成式,即内置于PC或NAS服务器的主板中。

3. 硬件(模块化),是主板上 PCI/PCIe 连接器的分立扩展卡。

它们之间的根本区别是什么? 软件RAID控制器在性能和容错方面不如集成控制器和硬件控制器,但不需要特殊设备来操作。 然而,重要的是要确保主机系统的处理器足够强大,可以运行 RAID 软件,而不会对主机上运行的应用程序的性能产生负面影响。 集成控制器通常配备有自己的高速缓存并使用一定量的CPU资源。

但硬件既有自己的高速缓存,也有用于执行软件算法的内置处理器。 通常,它们允许您实施所有类型的 RAID 级别并同时支持多种类型的驱动器。 例如,Broadcom 的现代硬件控制器可以同时连接 SATA、SAS 和 NVMe 设备,这使得您在升级服务器时无需更改控制器:特别是从 SATA SSD 迁移到 NVMe SSD 时,无需更改控制器。

是否有必要从 SSD 创建 RAID 阵列以及为此需要哪些控制器?

实际上,在这一点上我们讨论了控制器本身的类型。 如果有三模的话,是不是应该还有其他的? 在这种情况下,这个问题的答案将是肯定的。 根据功能和能力,RAID控制器可以分为以下几种类型:

1、带RAID功能的普通控制器
在整个层次结构中,这是最简单的控制器,可让您将 HDD 和 SSD 组合成级别“0”、“1”或“0+1”的 RAID 阵列。 这是在固件级别以编程方式实现的。 然而,此类设备很难推荐在企业领域使用,因为它们没有缓存,也不支持“5”、“3”等级别的数组。 但对于入门级家庭服务器来说它们非常合适。

2. 与其他 RAID 控制器协同工作的控制器
这种类型的控制器可以与集成主板控制器配对。 这是根据以下原则实现的:一个独立的 RAID 控制器负责解决“逻辑”问题,而内置控制器则接管驱动器之间的数据交换功能。 但有一个细微差别:此类控制器只能在兼容的主板上并行操作,这意味着它们的应用范围受到严重限制。

3. 独立 RAID 控制器
这些分立解决方案板载了与企业级服务器配合使用所需的所有芯片,拥有自己的 BIOS、高速缓存和处理器,用于快速纠错和校验和计算。 此外,它们在制造方面满足高可靠性标准,并拥有高质量的内存模块。

4. 外部 RAID 控制器
不难猜测,上面列出的所有控制器都是内置的,并通过主板的 PCIe 连接器接收电源。 这是什么意思? 而主板的故障会导致RAID阵列运行错误和数据丢失。 外部控制器不受这种误解,因为它们安装在具有独立电源的单独外壳中。 在可靠性方面,此类控制器提供最高级别的数据存储。

博通、Microsemi Adaptec、英特尔、IBM、戴尔和思科只是目前提供硬件 RAID 控制器的几家公司。

RAID控制器工作模式 SAS/SATA/NVMe

三模式 HBA 和 RAID 控制器(或具有三模式功能的控制器)的主要用途是创建基于 NVMe 的硬件 RAID。 Broadcom 的 9400 系列控制器可以做到这一点:例如, MegaRAID 9460-16i。 它属于独立类型的 RAID 控制器,配备四个 SFF-8643 连接器,并且由于 Tri-Mode 支持,允许您同时连接 SATA/SAS 和 NVMe 驱动器。 此外,它也是市场上最节能的控制器之一(仅消耗 17 瓦能源,1,1 个端口每个端口的能耗不到 16 瓦)。

是否有必要从 SSD 创建 RAID 阵列以及为此需要哪些控制器?

连接接口为 PCI Express x8 版本 3.1,吞吐量为 64 Gbit/s(PCI Express 2020 控制器预计将于 4.0 年出现)。 16端口控制器基于2核芯片 SAS3516 和 72 位 DDR4-2133 SDRAM (4 GB),以及连接最多 240 个 SATA/SAS 驱动器或最多 24 个 NVMe 设备的能力。 在组织RAID阵列方面,支持级别“0”、“1”、“5”和“6”,以及“10”、“50”和“60”。 顺便说一句,缓存 MegaRAID 9460-16i 可选的 CacheVault CVPM9400 模块可防止 05 系列中的控制器和其他控制器出现电压故障。

三模式技术基于SerDes数据转换功能:将SAS/SATA接口中数据的串行表示形式转换为PCIe NVMe中的并行形式,反之亦然。 也就是说,控制器协商速度和协议,以便与三种类型的存储设备中的任何一种无缝协作。 这提供了一种无缝的方式来扩展数据中心基础设施:用户可以使用 NVMe,而无需对其他系统配置进行重大更改。

是否有必要从 SSD 创建 RAID 阵列以及为此需要哪些控制器?

然而,在规划 NVMe 驱动器配置时,值得考虑的是 NVMe 解决方案使用 4 个 PCIe 通道进行连接,这意味着每个驱动器使用 SFF-8643 端口的所有线路。 事实证明,只有四个 NVMe 驱动器可以直接连接到 MegaRAID 9460-16i 控制器。 或者限制自己使用两个 NVMe 解决方案,同时连接八个 SAS 驱动器(请参见下面的连接图)。

是否有必要从 SSD 创建 RAID 阵列以及为此需要哪些控制器?

该图显示了用于 NVMe 连接的连接器“0”(C0/连接器 0)和连接器“1”以及用于 SAS 连接的连接器“2”和“3”。 这种安排可以颠倒过来,但每个 x4 NVMe 驱动器必须使用相邻通道进行连接。 控制器操作模式通过 StorCLI 或人机界面基础设施 (HII) 配置实用程序进行设置,该实用程序在 UEFI 环境中运行。

是否有必要从 SSD 创建 RAID 阵列以及为此需要哪些控制器?

默认模式为“PD64”配置文件(仅支持 SAS/SATA)。 正如我们上面所说,共有三种配置文件:“仅 SAS/SATA 模式”模式(PD240 / PD64 / PD 16)、“仅 NVMe 模式”(PCIe4)模式以及所有类型驱动器的混合模式。可以操作:“PD64 -PCIe4”(支持 64 个物理和虚拟磁盘,带有 4 个 NVMe 驱动器)。 在混合模式下,指定的配置文件的值应为“ProfileID=13”。 顺便说一句,所选配置文件将保存为主配置文件,即使通过“设置出厂默认值”命令返回到出厂设置也不会重置。 只能手动更改。

值得在 SSD 上创建 RAID 阵列吗?

所以,我们已经明白RAID阵列是高性能的关键。 但是,是否值得使用 SSD 为家庭和企业使用构建 RAID? 许多怀疑论者表示,速度的提升并没有那么显着,以至于需要在 NVMe 驱动器上大肆挥霍。 但事实真的是这样吗? 几乎不。 在 RAID 中使用 SSD(家庭级和企业级)的最大限制可能只是价格。 不管人们怎么说,硬盘上一千兆字节空间的成本要便宜得多。

将多个固态“驱动器”连接到 RAID 控制器以创建 SSD 阵列可能会对某些配置的性能产生巨大影响。 但是,请不要忘记最大性能受到 RAID 控制器本身吞吐量的限制。 提供最佳性能的 RAID 级别是 RAID 0。

是否有必要从 SSD 创建 RAID 阵列以及为此需要哪些控制器?

具有两个 SSD 的传统 RAID 0 采用将数据拆分为固定块并将其跨固态存储条带化的方法,与单个 SSD 相比,性能将提高一倍。 然而,具有四个 SSD 的 RAID 0 阵列已经比阵列中最慢的 SSD 快四倍(取决于 RAID SSD 控制器级别的带宽限制)。

根据简单的算术,SATA SSD 的速度大约是传统 SATA HDD 的 3 倍。 NVMe 解决方案的效率甚至更高——10 倍或更多。 假设零级 RAID 中的两个硬盘表现出双倍的性能,即提高 50%,则两个 SATA SSD 将快 6 倍,两个 NVMe SSD 将快 20 倍。 特别是,单个金士顿 KC2000 NVMe PCIe 硬盘可实现高达 3200 MB/s 的顺序读写速度,在 RAID 0 格式下将达到令人印象深刻的 6 GB/s。 4KB大小的随机块的读写速度将从350 IOPS变为000 IOPS。 但是……同时,“零”RAID 并没有为我们提供冗余。

可以说,在家庭环境中,通常不需要存储冗余,因此最适合 SSD 的 RAID 配置真正成为 RAID 0。作为使用基于 Intel Optane 等技术的替代方案,这是获得显着性能提升的可靠方法固态硬盘。 但我们将在下一篇文章中讨论 SSD 解决方案在最流行的 RAID 类型(“1”、“5”、“10”、“50”)中的表现。

本文是在 Broadcom 同事的支持下编写的,他们向金士顿工程师提供控制器,用于企业级 SATA/SAS/NVMe 驱动器的测试。 由于这种友好的共生关系,客户不必怀疑金士顿生产的带有 HBA 和 RAID 控制器的硬盘的可靠性和稳定性。 博通.

有关金士顿产品的更多信息,请访问 在官方网站上 公司。

来源: habr.com

添加评论