------------------------------------重要说明------------------------------------
以下部分内容来网络,部分自华为存储官方教材
具体教材内容请移步华为存储官网进行教材下载
网络引用内容无法找到原创,如有侵权请通知
------------------------------------重要说明------------------------------------
目录
1.存储中的SAS
SAS采用点对点的设计使得通信的两个设备间建立了专用链路进行通信, 而在并行SCSI中采用的多点总线设计则是多个设备共享同一条总线. 使用点对点连接, 通信速度也快得多, 因为通信的两个设备之间不需要在通信前检测是否被允许使用连接链路. 每个设备连接到指定的数据通路上提高了带宽
串行接口结构简单, 支持热插拔, 传输速度快, 执行效率高. 一般情况下, 较大的并行电缆会带来电子干扰, SAS的电缆结构可以解决这个问题. SAS的电缆结构节省了空间, 从而提高了使用SAS硬盘服务器的散热, 通风能力
SAS为企业级数据中心提供了一种高效用、高可靠、可扩展而又容易操作的解决方案. 在保持对并行SCSI逻辑兼容的同时, SAS在物理连接接口上提供了对SATA的统一支持. 这就为服务器和网络存储等应用提供了很大的选择空间.
2.什么是SAS
SAS(Serial Attached SCSI)即串行SCSI技术,是一种磁盘连接技术,它综合了并行SCSI和串行连接技术(如FC、SSA、IEEE1394等)的优势,以串行通讯协议为协议基础架构,采用SCSI-3扩展指令集,并兼容SATA设备,是多层次的存储设备连接协议栈。
更低的成本
1.SAS的背板可以兼容SAS和SATA两类硬盘, 使用不同类型的硬盘时部需要再重新进行投资
2.不需要为SCSI和SATA标准分别设计不同的产品, 同时也减少了设计时布线的复杂度和PCB的层数, 因此降低了成本
3.系统集成商也不需要为给客户配置不同硬盘而采购不同的背板和线缆
4.可连接更多的设备
5.SAS技术引入了SAS扩展器, 使SAS系统可以连接更多的设备, 其中每个扩展器允许连接多个端口, 每个端口可以连接SAS设备、主机或其他SAS扩展器
高可靠性
1.器件可靠性同SCSI硬盘、FC盘, 比SATA好
2.保留了经过验证的SCSI命令集
高性能
端口单向速率高
与SATA兼容
1.SATA硬盘可以直接装入SAS环境里
2.可以在同一个系统里使用SATA或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系统的兼容性,使用户能够运用不同接口的硬盘来满足各类应用在容量上或性能上的需求,因此在扩充存储系统时拥有更多的弹性,让存储设备发挥最大的投资效益。
SAS网络中目前有三种应用协议:SSP、STP、SMP。
SSP是一套用于Initiator和Target之间传输SCSI指令的传输保证协议,与FC中的FCP层充当相同的角色,在SCSI3规范中,已经将SCSI上层指令与底层传输系统相分离,SSP在此就作为SCSI指令的传输系统,SSP会保障SCSI指令和数据以及对指令的相应成功地被传送和接收。一共有五种SSP帧类型,包含COMMAND、TASK、XFER_RDY、DATA、RESPONSE类型,TASK和RESPONSE类型指令用于SSP设备控制指令步骤,COMMAND和RESPONSE类型用于SSP发起SCSI指令,DATA类型用于SCSI Read,XFER_RDY用于写指令。
STP是一套用于在Initiator和Target之间传送SATA指令的传输保障协议。由于SATA协议与SCSI协议是完全两套上层协议,不仅指令描述方式和结构不同,而且在底层传输中的控制上也不同,STP就是将SATA协议的底层传输逻辑拿来过来,并将其承载于SAS底层进行传输。但是记住,SCSI和SATA,他们都是在不同程度的Tunnel+Map的方式被承载于SAS网络上传递。
SMP是一种对SAS网络内所有Expander进行管理的协议,包括Expander拓扑发现和路由协议。由Initiator端建立连接后向Target端发起查询请求,Target只能响应Initiator的查询而不能主动向Initiator发送消息,SMP中的Target对应的整个Expander本身。Expander接收到针对这个Target的消息,就会自己做处理而不是转发到其他某个PHY。
优点:SAS具备目前磁盘通道技术里面的最高接口速率,通过采用通道合并技术,SAS支持将多个phy合入一个port,可提供高达几十G的通道带宽,比如常用的4*SAS宽端口,带宽可达12Gbit/s;SAS的交换构架支持多个设备的扩展,一个SAS域理论上最多可接16128个设备,同时SAS设备支持24×7的多线程设计,可满足多任务的应用;SAS设备基于目前存储领域最成熟的SCSI技术,可兼容SATA,这使得SAS通道技术具备广泛的适用范围和良好兼容性。
缺点:由于与SAS通道技术配合的SAS磁盘价格偏高,目前主要应用于企业级场合。
小结:SAS作为磁盘通道技术,在接口带宽、工作性能、可扩展性、组网应用、可靠性等方面,有着突出的优势,尤其适合应用于企业级系统。
3.SAS协议层次结构
物理层:对于线缆, 接头, 收发器等硬件进行了定义
PHY层:包括了最低级的协议, 比如编码方案和供电/复位序列等等
链路层:描述的是如何控制phy层连接管理, 以及原语, CRC检验和加解扰, 速率匹配处理
端口层:描述的是链路层和传输层的接口, 包括请求, 中断, 如何选择建立连接
传输层:定义了如何将传输的命令, 状态, 数据封装在SAS帧中, 以及如何分解SAS帧
应用层:描述了如何在不同类型的应用下使用SAS的细节
如果背板接的是sas硬盘,链路走的是scsi application layer这条链路,走的是sas协议中的子协议ssp协议。
如果背板接的是sata硬盘,链路走的是ata application layer这条链路,走的是sas协议中的子协议stp协议。
4.SAS特点
1.SAS相对SCSI而言, 最重要的提升在于:
因为采用串行通信方式, 可以提供更高的吞吐量, 并为将来更高的性能成为可能
4个窄端口可以绑定成一个宽端口, 提供更高的吞吐量
2.SAS采用全双工通信模式
SAS采用全双工(双向)通信模式,而不是单向通信。传统的并行SCSI只可以在一个方向上进行通信,当设备接收到并行SCSI的一个数据包后,如果该设备要响应该数据包,就需要在上一个链路断开后,再重新建立一个新的SCSI通信链路。而是用SAS,则可以进行双向通信。每个SAS电缆有4根电缆, 2根输入2根输出。 SAS可以同时进行数据的读写,全双工的数据操作提高数据的吞吐效率。
5.SAS连线的原则
1.SAS线缆一般有4个通道, 每个通道现在常用的是12Gb/s
2.线缆的带宽为4 * 12Gb/s
3.SAS设备以环路的形式连接在一起
4.一个环路中最大硬盘数的最佳实践是168块盘
大多数存储设备供应商现使用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线缆。
6.SAS与其他传输技术的比较
7.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个少很多。
SAS Expander之输出扩展器
SAS的Expander分为两种,即输出扩展器(Fan-out Expander)和边缘扩展器(Edge Expander):一个SAS域只能有一个输出扩展器,它可以随意连接边缘扩展器;一个边缘扩展器只能连接到一个输出扩展器上(前者将后者当作主机),而在没有输出扩展器的情况下最多仅允许两个边缘扩展器互连;在不超过Phy数目上限的前提下,扩展器可以随意连接发起者/目标设备。如果将边缘扩展器比作以太网或FC SAN中的交换机,那么输出扩展器就是以太网中的路由器或FC SAN中的导向器。
8.SAS的交换架构
SAS相关名词定义
(1)Domain:A set of SAS devices that communicate with one another through a service delivery subsystem
(2)Expander :A device that functions as a switch to attach one or more initiators to one or more targets
(3)JBOD : A group of hard disks, usually in an enclosure, that may or may not be RAID configured
(4)Initiator : A device containing SSP, STP, or SMP initiator ports in a SAS domain
(5)PHY : The mechanism that connects the physical SAS layer to the SAS link layer
(6)Physical link : Two differential signal pairs, one pair in each direction, that connect two PHYs
(7)SAS address : The address of an initiator port, a target port, or an expander device
(8)Serial ATA Tunneling Protocol (STP) :A SAS protocol used to communicate with SATA drives
(9)Serial Management Protocol (SMP) : A SAS protocol used to communicate with SAS expanders
(10)Serial SCSI Protocol (SSP) : A SAS protocol used to communicate with SAS drives
(11)Service delivery subsystem : The part of a SAS system that sends information between a SAS initiator and a SAS target
(12)Target : An end device such as a SAS drive, SATA drive, or SAS tape drive
(13)Wide port : A port that contains more than one PHY
(14)Zone group : A set of PHYs in a zone that all have the same access permission
(15)SAS Phy:一个phy即是一个transceiver,每个phy都有一个SAS addresss,和一个唯一的identifier;
(16)SAS Port:一个port包含一个或一组phy,每个SAS PORT有一个唯一的SAS地址,同一个Port中的所有phy共用一个address,即一个port只有一个SAS address;
(17)SAS device:一个SAS device可以包括一个或多个SAS port,device里的每个phy有一个独立的identifier;
(18)End device:是一种SAS device,SAS物理连接的末端设备,例如HBA卡、Disk driver都是end device;
(19)Expander device:包括Edge expander device和Fanout expander device Fanout expander device:起中心交换作用,既可以直接连接到end device,也可以连接到edge expander device; Edge expander device:一般用于连接fanout expander device和end device,也可以连接其它的edge expander device,一个edge expander set中只能包含128个SAS address。
(20)Domain:即整个SAS交换构架,由SAS device和SAS expander device组成,其中Device又区分为Initiator和Target,它们可以直接对接起来,也可以经过Expander进行连接,Expander起到通道交换或者端口扩展的作用。
每一个SAS initiator port和SAS target port都有一个单独的SAS address,expander device也有自己单独的一个SAS address,SAS的交换比较简单,直接用port的SAS address作为交换路由表的内容,没有任何转换过程
理论上,每个"Edge Expander Set"可以支持128个port,每个SAS Domain可以有128 个"Edge Expander Set",这样每个SAS Domain中最多可以有128 x 128 = 16384 个port。当然,这并不是说每个SAS Domain可以连接16384 个磁盘和SAS适配器,因为"Fanout Expander"与"Edge Expander"相连接时,会占用一部分port。如果128 个"Edge Expander"全部连接到"Fanout Expander",内部互联至少要占用256个port。也就是说,一个SAS域理论上可以连接16384 - 256 = 16128个SAS End Device。对比光纤环路126 个device的上限,16128 这个数字仍然是非常可观。
9.SAS宽端口技术
SAS port可根据使用情况不同,分为窄端口和宽端口,窄端口是指只包含一个SAS phy的端口,宽端口包含N个SAS phy,这些phy共用一个SAS地址,N的取值一般在2~8之间。
一个宽端口和对端端口建立wide link,通过将几个物理链接捆绑起来,提供一个更高带宽的SAS通路,目前普遍使用到的4*SAS宽端口带宽可达12Gbps。
宽端口在使用中,一般有两种方式:
a) 一个N-wide port和另一个N-wide port直接连接,N个phy同时连接建立一个N-wide link,比如常用的两个4*SAS宽端口通过线缆直接对接;
b) 一个N-wide port接到多个narrow port或者M-wide port,分别建立起多条连接,比如一个4*SAS的端口,可以分别接到4个窄端口,也可以接到2个2*SAS的宽端口,还可以接到2个窄端口和一个2*SAS宽端口。
SAS磁盘阵列的三种类型
SAS磁盘阵列的定义在于「由SAS硬盘组成的磁盘阵列」,也就是说数组内部使用SAS硬盘,但基于应用环境的不同,磁盘阵列对外的接口可以有SAS、FC与iSCSI等三类,也就是SAS-SAS、FC-SAS与iSCSI-SAS等三种SAS磁盘阵列。