我一直在试图弄清楚一些事情。
我有一堆 SAS 机架(如果相关的话,连接到 NetApp)。机架内的每个设备都是 6G SAS。根据供应商的说法,持续传输速度约为 200-250MB/秒。
因此 - 有 10 个架子,每个架子有 24 个驱动器 - '顶部和底部' 连接到我的文件管理器头上的单独控制器上。
我能够以多快的速度从驱动器传输数据?
6G SAS 意味着 600MB/秒。因此,2 个控制器为 1200MB(在最佳情况下)。或者 - 大约 6 个驱动器,在我的 240 个主轴中。这似乎奇怪地低 - 我是否遗漏了什么?SAS 控制器是否具有某种乘法因子?
或者说我真的无法达到这个堆栈中驱动器的“最大吞吐量”?当然看起来就像我的历史峰值在 3 个控制器上大约为 2000MB/秒。(因此每个约为 650MB/秒)。
不过,我认为这会使驱动器利用率看起来很低......
答案1
理论上,NetApp 堆栈的最大吞吐量为 9600 MB/秒。NetApp 支持每堆栈 240 个 HDD 或每堆栈 96 个 SSD。但这不是系统限制。一个系统中可以有多个堆栈。这取决于控制器型号。
SAS 6G 单通道提供600MB/秒。但一个 SAS 6G 端口使用 4 个通道。使用 NetApp,您可以在一个堆栈中使用每个控制器上的 2 个端口,总共将提供 4 个端口。
所以理论吞吐量= 单通道速率 * 每端口 4 个通道 * 每堆栈 4 个端口 = 600 MB/秒 * 4 * 4 = 9600 MB/秒。
当您谈论性能和利用率时,您需要了解两个性能指标 - MB/s 和 IOPS(实际上是三个,延迟也很重要)。
不同的磁盘类型具有不同的 IOPS 和 MB/s 性能。NetApp 在文档中使用以下值:
SAS 10K 140 IOPS 198 MB/sec
SATA 7.2K 75 IOPS 134 MB/sec
当您查看磁盘的传输速率时,似乎仅 48 个 SAS HDD 就会使堆栈 SAS 端口饱和。48 * 198 = 9504 MB/秒。但大多数企业应用程序都使用较小的块大小(4KB、8KB)。它们对 IOPS 性能和延迟更敏感。因此,一个 SAS 10K HDD 具有 ≈140 IOPS。使用 8KB 块,吞吐量仅为 8 * 140 = 1120 KB/秒。240 个充分利用的磁盘将仅执行 240 * 1120 KB/秒 =262,5 MB/秒吞吐量。
有一些高吞吐量工作负载。例如视频监控或流媒体、数据分析。对于此类工作负载,每个堆栈的磁盘架数量较少可能更好。
你的工作量有多大?
答案2
SAS 6 并不意味着 600mb。
SAS 每条电缆使用 4 个通道,一个磁盘可以同时连接到 2 根电缆。
这意味着一张光盘的传输速度为 4.8 GB/秒。