(一)什么是SAS
SAS(Serial Attached SCSI)即串行SCSI技术,是一种磁盘连接技术,它综合了并行SCSI和串行连接技术(如FC、SSA、IEEE1394等)的优势,以串行通讯协议为协议基础架构,采用SCSI-3扩展指令集,并兼容SATA设备,是多层次的存储设备连接协议栈。
说到SAS,自然会联想到在存储上广泛使用的另外一种磁盘通道连接技术:FC(光纤通道),这里将2种磁盘通道连接技术做一个简单的对比:。
FC:
优点:基于Fabric Channel环路协议基础上的串行技术,通过给后端磁盘提供带宽2.0Gbit/s或者4.0Gbit/s的FC环路来进行磁盘的连接;FC线缆的连接距离远,比较容易扩展,是目前广泛采用的磁盘通道连接技术之一;
缺点:FC接口速率虽然能到2.0Gbit/s或者4.0Gbit/s,但由于FC磁盘通道工作于环路模式下,一个光纤环路在同一时间只能实现单个磁盘的IO,导致FC带宽不能被充分利用,并且影响到磁盘并行访问的性能。
SAS::
优点:SAS具备目前磁盘通道技术里面的最高接口速率,通过采用通道合并技术,SAS支持将多个phy合入一个port,可提供高达几十G的通道带宽,比如常用的4*SAS宽端口,带宽可达12Gbit/s;SAS的交换构架支持多个设备的扩展,一个SAS域理论上最多可接16128个设备,同时SAS设备支持24×7的多线程设计,可满足多任务的应用;SAS设备基于目前存储领域最成熟的SCSI技术,可兼容SATA,这使得SAS通道技术具备广泛的适用范围和良好兼容性。
缺点:由于与SAS通道技术配合的SAS磁盘价格偏高,目前主要应用于企业级场合。
小结:SAS作为磁盘通道技术,在接口带宽、工作性能、可扩展性、组网应用、可靠性等方面,有着突出的优势,尤其适合应用于企业级系统。
(二)SAS的交换构架
要了解SAS的构架,先弄清几个概念:
SAS Phy:一个phy即是一个transceiver,每个phy都有一个SAS addresss,和一个唯一的identifier;
SAS Port:一个port包含一个或一组phy,每个SAS PORT有一个唯一的SAS地址,同一个Port中的所有phy共用一个address,即一个port只有一个SAS address;
SAS device:一个SAS device可以包括一个或多个SAS port,device里的每个phy有一个独立的identifier;
图1 SAS device,SAS port,SAS phy关系示意图
End device:是一种SAS device,SAS物理连接的末端设备,例如HBA卡、Disk driver都是end device;
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。
图2 SAS Expander拓扑构图
Domain:即整个SAS交换构架,由SAS device和SAS expander device组成,其中Device又区分为Initiator和Target,它们可以直接对接起来,也可以经过Expander进行连接,Expander起到通道交换或者端口扩展的作用,如下图所示:
图3 SAS交换构架示意图
每一个SAS initiator port和SAS target port都有一个单独的SAS address,expander device也有自己单独的一个SAS address,SAS的交换比较简单,直接用port的SAS address作为交换路由表的内容,没有任何转换过程,一般的交换方法有如下三种:
Routing Method |
Function |
Direct Routing |
Routes connection requests to attached devices with the specific SAS address. |
Subtractive Routing |
The method the expander connection manager uses to route connection requests not resolved using the direct routing method or table routing method. |
Table Routing |
The method the expander connection manager uses to route connection requests using an expander route table. |
理论上,每个"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 这个数字仍然是非常可观。
(三)SAS宽端口技术
SAS port可根据使用情况不同,分为窄端口和宽端口,窄端口是指只包含一个SAS phy的端口,宽端口包含N个SAS phy,这些phy共用一个SAS地址,N的取值一般在2~8之间。
图4 SAS port示意图
一个宽端口和对端端口建立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在IX3000产品中的应用
在H3C公司自主开发的新一代中端存储系统IX3000中,完全支持SAS技术标准,同时支持SAS和SATA II硬盘,对硬盘种类的识别和硬盘速率的检测完全是自动地。如下图所示,在IX3000 SCU里,IO处理器通过1个8*SAS的宽端口,接到SAS fanout expander模块,fanout expander对外又提供3路4*SAS的宽端口(下面的图中只画出1路),用以挂接IX3000 DEU磁盘柜。SCU为双主控,对外最多可提供6个4*SAS宽端口。DEU就是SAS edge expander的功能,同样采用双控模式,下面挂接16个SATA/SAS磁盘,对外各提供两个4*SAS宽端口,一个接到SCU,一个用以扩展下级的DEU,具体的组网请参见下图:
图5 SAS在IX3000产品中的应用
按照上述的组网方式,SCU的双主控里任何一个控制模块都能访问到下面挂接的所有磁盘,其中一个主控板故障的情况下,可保证业务不中断;同样,DEU采用双控模式,采用上述组网,对下面挂接的每个磁盘的访问都提供了两条可用的通道,在其一个expander故障的情况下,仍能保证磁盘正常访问,从而实现较高的可靠性。
每个SCU控制器可以对外提供3个x4 SAS磁盘柜端口,每一个SAS端口下面可以级连7个DEU,因此系统最大可以连接21个DEU,配备以高性能的15000RPM SAS硬盘,完全可以满足各种高可靠性、高性能的存储应用需求。