SAS扩展与直接连接(SAS)?

我有一个有2个背板的存储单元。 一个背板容纳24个磁盘,一个背板容纳12个磁盘。 每个背板独立连接到一个SFF-8087端口(4通道/ 12Gbit)到RAID卡。

这是我的问题真的出现在哪里。底板可以或多么容易超载? 机器中的所有磁盘都是WD RE4 WD1003FBYX(黑色)驱动器,平均写入速度为115MB /秒,平均读取速度为125MB /秒

我知道事情会根据我们放在其上的RAID或文件系统而有所不同,但是似乎只有一个带有一个SFF-8087连接器的24磁盘底板应该能够将总线过载到实际上可能会减慢的点?

根据我的math,如果我在所有24个磁盘上都有一个RAID0并要求一个大文件,理论上我应该得到24 * 115 MB /秒,这相当于总吞吐量22.08 GBit /秒。

要么我感到困惑,要么这种背板devise的非常糟糕 – 至less对于基于性能的环境来说。

我正在切换到一个模型,其中每个驱动器有自己的通道从背板(和新的HBA或RAID卡)。

编辑:更多细节

我们使用了纯Linux(centos),open solaris,软件raid,硬件raid,EXT3 / 4,ZFS。

这里有一些使用bonnie ++的例子

4磁盘RAID-0,ZFS

WRITE CPU RE-WRITE CPU READ CPU RND-SEEKS 194MB/s 19% 92MB/s 11% 200MB/s 8% 310/sec 194MB/s 19% 93MB/s 11% 201MB/s 8% 312/sec --------- ---- --------- ---- --------- ---- --------- 389MB/s 19% 186MB/s 11% 402MB/s 8% 311/sec 

8磁盘RAID-0,ZFS

 WRITE CPU RE-WRITE CPU READ CPU RND-SEEKS 324MB/s 32% 164MB/s 19% 346MB/s 13% 466/sec 324MB/s 32% 164MB/s 19% 348MB/s 14% 465/sec --------- ---- --------- ---- --------- ---- --------- 648MB/s 32% 328MB/s 19% 694MB/s 13% 465/sec 

12磁盘RAID-0,ZFS

 WRITE CPU RE-WRITE CPU READ CPU RND-SEEKS 377MB/s 38% 191MB/s 22% 429MB/s 17% 537/sec 376MB/s 38% 191MB/s 22% 427MB/s 17% 546/sec --------- ---- --------- ---- --------- ---- --------- 753MB/s 38% 382MB/s 22% 857MB/s 17% 541/sec 

现在16个磁盘RAID-0,变得有趣了

 WRITE CPU RE-WRITE CPU READ CPU RND-SEEKS 359MB/s 34% 186MB/s 22% 407MB/s 18% 1397/sec 358MB/s 33% 186MB/s 22% 407MB/s 18% 1340/sec --------- ---- --------- ---- --------- ---- --------- 717MB/s 33% 373MB/s 22% 814MB/s 18% 1368/sec 

20磁盘RAID-0,ZFS

 WRITE CPU RE-WRITE CPU READ CPU RND-SEEKS 371MB/s 37% 188MB/s 22% 450MB/s 19% 775/sec 370MB/s 37% 188MB/s 22% 447MB/s 19% 797/sec --------- ---- --------- ---- --------- ---- --------- 741MB/s 37% 376MB/s 22% 898MB/s 19% 786/sec 

24磁盘RAID-0,ZFS

 WRITE CPU RE-WRITE CPU READ CPU RND-SEEKS 347MB/s 34% 193MB/s 22% 447MB/s 19% 907/sec 347MB/s 34% 192MB/s 23% 446MB/s 19% 933/sec --------- ---- --------- ---- --------- ---- --------- 694MB/s 34% 386MB/s 22% 894MB/s 19% 920/sec 

(任何人在这里看到的模式?):-)

28磁盘RAID-0,ZFS

 WRITE CPU RE-WRITE CPU READ CPU RND-SEEKS 358MB/s 35% 179MB/s 22% 417MB/s 18% 1105/sec 358MB/s 36% 179MB/s 22% 414MB/s 18% 1147/sec --------- ---- --------- ---- --------- ---- --------- 717MB/s 35% 359MB/s 22% 832MB/s 18% 1126/sec 

32磁盘RAID-0,ZFS

 WRITE CPU RE-WRITE CPU READ CPU RND-SEEKS 354MB/s 35% 190MB/s 22% 420MB/s 18% 1519/sec 354MB/s 35% 190MB/s 22% 418MB/s 18% 1572/sec --------- ---- --------- ---- --------- ---- --------- 708MB/s 35% 380MB/s 22% 838MB/s 18% 1545/sec 

更多细节:

这是确切的单位:

http://www.supermicro.com/products/chassis/4U/847/SC847E16-R1400U.cfm

在不知道所使用的确切硬件的情况下,通过两个SAS SFF-8087可以达到的最大值是24Gbps或3 GBps; 但许多控制器 – 扩展器组合实际上不会正确使用SFF-8087中的所有4个通道,并且最终会获得大约一个单一链路(0.75GBps)。

考虑到你的performance数字,我会猜测后者是这样的。

我正在考虑获得这个单位,但是现在考虑到你所得到的performance,我最好再考虑一次。

另一方面,你使用的是什么raid控制器? 因为我读过其他地方,那些LSI背板在非LSI RAID卡上效果不佳。

关于理论性能:对于24驱动器背板,您应该具有(SAS2)6 Gbit x 4 = 24 Gbit(每个磁盘1 Gbit)。 使用相同的math,你应该得到每个磁盘2 Gbit与另一个背板。 现在,每个磁盘1Gbit代表… 80 MB / s? 所以,2Gbit就足以让磁盘成为瓶颈。 所以:

(80MB / s * 24)+(125MB / s * 12)= 3420MB / s

我知道这只是理论上的,没有人会期望这些数字在现实世界中…但是你正在得到〜10%。 你最好用Supermicro或LSI来检查这个问题,因为这很奇怪。

您引用的平均磁盘速度可能是在最佳条件下进行高度连续的操作。 如果你的工作量是随机的,说得更糟(我的意思是)。

SFF-8087电缆只有4个通道,并且可以以最大速度读取/写入4个磁盘。 问题是,你通常不会那么做,这就是SuperMicro在机箱的E1 / E2版本中使用LSI扩展器的原因。

如果您始终需要最佳性能,则需要将每个磁盘连接到控制器上的一个SAS端口。 大多数控制器有4个,8个或16个端口,所以你必须做math和添加更多的控制器来支持36个磁盘。 TQ版本中的SuperMicro机箱允许您对磁盘进行这种访问。

原始IOPS性能取决于您所关注的设备。 LSI HBA通常具有> 250k IOPS规格,而SATA磁盘将执行100-120,SAS多一点,平均英特尔SSD 3000 IOPS(高度取决于您的块大小)。

你必须了解你将在这台机器上投入的工作量,否则你将会过度configuration错误的资源。 如果您的工作负载是高度随机的,并且您需要的是从磁盘/ SSD获得更多的IOPS,那么将重点放在每个具有自己的通道的磁盘上的原始顺序速度将无济于事。