我正在构建一个 45 个驱动器 (backblaze) 存储舱,用于 Windows 2012 R2 存储空间。规格为 2xE5-2620 v2 CPU、32 GB RAM、3xLSI 9201-16i 卡、9x1 TB SATA SSD 和 36x4TB HGST ultrastar SATA 驱动器。假设读写率为 50/50,驱动器的原始数字为 840,000 IOPS。LSI 卡每张卡可处理 400k+ iops。假设我将驱动器放在三向镜像中,我将拥有 48 TB 的磁性存储,使用 SSD 作为分层存储。这种系统的瓶颈是什么?是 RAM 还是 CPU 还是 LSI 卡或驱动器本身?我们会看到接近理论最大值 50% 的 iops 吗?
答案1
这实际上取决于您要用系统做什么。这是通用建议;对于 Windows 存储空间解决方案、ZFS 和传统文件系统来说都是如此。
可以这样想:
- 您正在使用一堆容量优化的磁盘,因此无论您做什么似乎都涉及大量数据。
- 当人们谈论大型数据集时,应用程序通常是备份或活动工作集数据只是磁盘上数据的一个子集。
- 如果目的是备份,那么特定的 IOPS 为何重要?
- 如果目的是一些具有相对较小工作集的其他应用程序,我假设它可以在 SSD 缓存层处理。
- 如果随机读/写性能很重要,那么这就是错误的解决方案。
- 如何将数据传入和传出服务器?如果有的话,那将成为您的尝试瓶颈。
- 幸运的是,高级文件系统不需要太多的 CPU 马力。您的 CPU 是我在 ZFS 存储系统中通常指定的。您可能需要更多 RAM,但我不知道 WSS 如何利用物理内存的具体细节。
事实上,你的问题可能是SATA 磁盘超时、驱动器故障、控制器问题(固件)、电源和冷却、振动……以及错误。我们很少听说 Windows 存储空间,所以我猜测业界对此的关注度较低。
我为什么这么说?我必须管理 Backblaze 单元,个人拥有一台 Sun x4540充满SATA磁盘(嗯)。即使拥有所有这些磁盘,此设置实际上也只适合顺序和流式工作负载。