SAS / SATA 最大连接磁盘数量与性能

SAS / SATA 最大连接磁盘数量与性能

我想了解以下几点:

当我有一块带有 SATA 6Gb/s 和 8 个端口的主板时,这是否意味着每个端口都能够为通过 SATA 电缆连接的磁盘提供 6Gb/s 的速度,还是 6Gb/s 均匀分布在所有连接的磁盘上?

如果主板只有 8 个插槽,是否可以连接 8 个以上的磁盘?(比如 1 条 SATA 电缆上连接多个磁盘?)

关于 SAS 磁盘,如果我购买一个有 4 个端口的磁盘控制器,据说它最多支持 64 个磁盘,那么在只有 4 个端口的情况下,我该如何连接这些额外的磁盘?

答案1

SATA/SAS 不像集线器,而是像网络交换机一样工作。这意味着单身的SATA/SAS 端口独立于其他端口提供整个宣传的带宽。

换句话说,提供 4 个 SATA 3.0 端口(每个 6 Gb/s)的芯片组具有 4x6 Gb/s = 24 Gb/s 的“SATA 背板”交换能力。对于 4 个 SAS 3.0 端口(每个 12 Gb/s),“SAS 背板”交换能力为 4x12 Gb/s = 48 Gb/s

这是否意味着所有可用的原始带宽都真的可用?答案是否定的。问题在于这些 SATA/SAS 端口必须通过其他上游总线连接,这可能会影响(减少)实际可用带宽。

以上一代 Z97 Intel 芯片组为例:它有 6 个 SATA 3.0 端口,总共 36 Gb/s 或 4.5 GB/s。对于消费产品来说,这是一个非常可观的 I/O 传输速率。但是,磁盘控制器(集成在芯片组中)使用更窄的(尽管是全双工的)2 GB/s 链路连接到 CPU。换句话说,您将绝不达到 SATA 链路的理论峰值 4.5 GB/s。

SATA 端口倍增器或 SAS 端口扩展器是另一个复杂因素。这些东西是什么?好吧,它们就是他们声称的:端口倍增器/扩展器,用于将更多驱动器连接到单个 SATA/SAS 端口。您可以将它们视为“微型控制器”,它使用单个 SATA/SAS 端口作为上游总线,并为下游设备提供多个端口。

这意味着 SATA 端口倍增器/SAS 扩展器后连接的磁盘受到单个上游端口(1x SATA 6 Gb/s 或 SAS 3.0 12 Gb/s 端口)提供的带宽限制。您可以组合多个上游端口以提供额外的性能,但基本问题仍然存在:您共享由少量上游链路连接的多个下游端口。

让我们以 4x SAS 3.0 控制器为例:使用 SAS 扩展器,您可以将多个驱动器链接到每个上游 SAS 端口 - 比如说,每个 1x SAS 上游链路有 16x 下游 SAS 3.0 链路,总共有 64x 个可用的 SAS 3.0 端口/设备。即使您用闪电般快速的 SSD 填充所有 64 个 SAS 端口,您的总传输速率也会受到用于连接下游扩展器的 4x SAS 链路的限制。因此,从理论上的 64x12 Gb/s(768 Gb/s 或 96 GB/s)来看,您的实际峰值传输速率将是 4x12 Gb/s(48 Gb/s 或 6 GB/s)。

不过,事情并没有那么糟糕。毕竟,同时命中所有磁盘非常困难。这就是倍增器/扩展器存在的原因:优先考虑磁盘容量(和简单的跟踪路由)而不是原始性能。

答案2

每个端口为 6 Gb/s,如果有 8 个端口,总共可获得高达 48 Gb/s。

对于 SAS 控制器和磁盘,您可以使用“SAS 扩展器”将一个 SAS 端口连接到多个驱动器。在这种情况下,连接到一个 SAS 端口的所有驱动器共享总共 6 Gb/s 的带宽。

因此,为了获得最佳性能,我们避免使用 SAS 扩展器,而是使用具有 24 个独立 SAS 端口的 LSI MegaRAID SAS 9280-24i4e 等控制器。(但它的控制器价格超过 1200 美元,装上电池后价格超过 1400 美元)。

答案3

速度取决于为端口供电的控制器和主板的 PCIe 连接。

理论上,只要有足够的控制芯片和来自 CPU 的 PCIe 通道,每个端口都会独立并具有最大速度(除了大约 10% 的协议开销),没有像 PATA 那样的共享资源。

但实际上,你会得到一个多种控制芯片并且您的主板在 PCIe 插槽方面也可能存在限制(例如,通过交换机共享它们,如果两个插槽都被占用而不是只占用一个插槽,则会降低宣传的性能 - 这通常仅在手册中详细说明,而不是在功能页面上)。请注意,较新的英特尔服务器主板上的集成 SATA 控制器通常没有这些问题,如果您没有专用的 SAS/SATA HBA 芯片或附加卡,这是一个不错的选择。

连接取决于协议:每个 SATA 连接器只能连接一个 SATA 磁盘,无论是直接连接还是通过背板连接。每个连接器可以连接一个或多个共享可用带宽的 SAS 磁盘(通常通过扩展器)。

相关内容