------------------------------------重要说明------------------------------------
以下部分内容来网络,部分自华为存储官方教材
具体教材内容请移步华为存储官网进行教材下载
网络引用内容无法找到原创,如有侵权请通知
------------------------------------重要说明------------------------------------
SAS采用点对点连接的设计使得通信的两个设备间建立了专用链路进行通信,而在并行
SCSI中采用的多点总线设计则是多个设备共享同一条总线。使用点对点连接,通信速度也快得多,因为通信的两个设备之间不需要在通信前检测是否被允许使用连接链路。每个设备连接到指定的数据通路上提高了带宽。
串行接口结构简单,支持热插拔,传输速度快,执行效率高。一般情况下,较大的并行电缆会带来电子干扰, SAS的电缆结构可以解决这个问题。 SAS的电缆结构节省了空间,从而提高了使用SAS硬盘服务器的散热、通风能力。
SAS的接口技术可以向下兼容SATA。具体来说,二者的兼容性主要体现在物理层和协议层的兼容。
在物理层, SAS接口和SATA接口完全兼容, SATA硬盘可以直接使用在SAS的环境中,从接口标准上而言, SATA是SAS的一个子标准,因此SAS控制器可以直接操控SATA硬盘,但是SAS却不能直接使用在SATA的环境中,因为SATA控制器并不能对SAS硬盘进行控制;
在协议层, SAS由3种类型协议组成,根据连接的不同设备使用相应的协议进行数据传输。其中串行SCSI协议(SSP)用于传输SCSI命令; SCSI管理协议(SMP)用于对连接设备的维护和管理; SATA通道协议(STP)用于SAS和SATA之间数据的传输。因此在这3种协议的配合下, SAS可以和SATA以及部分SCSI设备无缝结合。
SAS的连接器在SATA的基础上发展而来,通过巧妙的设计增加了一个数据端口,在确保兼容SATA的前提下完成了双端口。
SAS 系统的背板(Backplane)既可以连接具有双端口、高性能的SAS驱动器,也可以连接高容量、低成本的SATA驱动器。所以SAS驱动器和SATA驱动器可以同时存在于一个存储系统之中。但需要注意的是, SATA系统并不兼容SAS,所以SAS驱动器不能连接到SATA背板上。由于SAS系统的兼容性,使用户能够运用不同接口的硬盘来满足各类应用在容量上或性能上的需求,因此在扩充存储系统时拥有更多的弹性,让存储设备发挥最大的投资效益。
a. SAS特点
SAS相对SCSI而言,最重要的提升在于:
因为采用串行通信方式,可以提供更高的吞吐量,并为将来更高的性能成为可能。
四个窄端口可以绑定成一个宽端口( Wide Link),提供更高的吞吐量。
SAS采用全双工(双向)通信模式,而不是单向通信。传统的并行SCSI只可以在一个方向上进行通信,当设备接收到并行SCSI的一个数据包后,如果该设备要响应该数据包,就需要在上一个链路断开后,再重新建立一个新的SCSI通信链路。而是用SAS,则可以进行双向通信。每个SAS电缆有4根电缆, 2根输入2根输出。 SAS可以同时进行数据的读写,全双工的数据操作提高数据的吞吐效率。
b. SAS的可扩展性
SAS结构采用扩展器( expander)进行接口扩展,具有非常好的扩展能力,最多可以连接16384个磁盘设备。
SAS Expander: SAS域中的互联设备,类似于以太网交换机,通过 Expander的级联可以大大增加终端设备的连接数,从而节约HBA花费。每个Expander最多可以连接128个终端设备或者128个Expander。 1个SAS域由以下几个部分组成: SAS Expander、终端设备、连接设备(即SAS连接线缆)。
SAS Expander配备了一个地址的路由表跟踪,记录了所有SAS驱动器的地址。
终端设备包括启动器(通常为SAS HBA卡)和目标器( SAS/SATA硬盘,也可以是处于目标模式的HBA卡)。
SAS 域中不能形成环路,以保证其发现终端设备流程的正常进行。
实际使用中,因为带宽的原因,扩展器连接的终端设备比128个少很多。下一页我们将介绍原因。
c. SAS接口的带宽
原则上一条链路可含有多达16384个磁盘设备。然而很重要的一点是要认识到,如果连接的设备的数量太大,会有产生一些问题。在上面的图片中,我们将解释这些问题
在上述图片中,以3个磁盘框连接到控制器为例进行解释。当然,这个图是一个简化的图,而在现实生活中的布线将会更复杂一些。在第9章中,我们将解释真正的连接方案。
这三个硬盘框以一个串一个的方式连接到控制器(菊花链),因此从后面硬盘框中发出的数据将通过前面硬盘框。换句话说,从硬盘框3发送的数据要传送到控制器上的SAS接口必须要通过硬盘框2和硬盘框1。类似的,硬盘框2的数据要经过硬盘框1才能到达SAS接口。
在正文图中显示了这种一个串一个的连接方式,导致从硬盘框1到SAS接口的链路上,同时要传输从硬盘框1、硬盘框2和硬盘框3发送过来的数据。如果在同一时间,有过多的磁盘都在发送数据,则在最后的一条链路上传输的数据可能会超出该链路能够处理的能力。因此,如图所示,如果链路(接口)的最大处理能力是4个数据块,则在传输2块或3块数据块(从硬盘框3到硬盘框2和从硬盘框2到硬盘框1)是不成问题的,但最后的一段链路的处理是5块数据块,这就超出了链路的最大处理能力。这就是为什么通常一个SAS域并不会连接到最大支持硬盘数,而且对一个SAS链路上支持的最大硬盘框数会有限制的原因了。
d. SAS连线原则
大多数存储设备供应商现使用SAS线缆连接硬盘框到控制框,或者硬盘框之间的互连。SAS线缆通常将4个独立的通道(窄端口)捆绑成一个宽端口来提供更多的带宽。 4个独立的通道都可以在12 Gb/s上进行,因此整个宽端口可以提供48 Gb/s 的带宽。为了确保SAS线缆上的数据量不超过整个SAS线缆的最大带宽,因此我们需要限制被连接在一个SAS环路上的硬盘的总个数。
对于华为的设备来说,这个最大硬盘数是168块盘,也就是说最多7个24个硬盘槽位的硬盘框组成一个环路。但是,这个前提条件是在该环路中的所有硬盘都是传统的SAS硬盘。现在SSD盘用得越来越多了,我们必须意识到SSD盘传输速度远远高于SAS盘。因此对于SSD盘,最大环路硬盘数的最佳实践则为96块盘,也就是4个24个硬盘槽位的硬盘框组成的环路。
SAS线缆接口在SAS线缆单通道为6Gb/s时称为 Mini SAS 线缆,现在单通道速度提升到12Gb/s了,其相应的SAS线缆称为高密度Mini SAS线缆。这两种线缆的接口如图所示。