全部博文(127)
分类: 服务器与存储
2011-09-21 16:15:43
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磁盘通道工作于环路模式下,一个光纤环路在同一时间只能实现单个磁盘的I\O,导致FC带宽不能被充分利用,并且影响到磁盘并行访问的性能。
SAS:
优点:SAS具备目前磁盘通道技术里面的最高接口速率,通过采用通道合并技术,SAS支持将多个phy合入一个port,可提供高达几十G的通道带宽,比如常用的4*SAS宽端口,带宽可达12Gbit/s;SAS的交换构架支持多个设备的扩展,一个SAS域理论上最多可接16128个设备,同时SAS设备支持24×7的多线程设计,可满足多任务的应用;SAS设备基于目前存储领域最成熟的SCSI技术,可兼容SATA,这使得SAS通道技术具备广泛的适用范围和良好兼容性。
缺点:由于与SAS通道技术配合的SAS磁盘价格偏高,目前主要应用于企业级场合。
小结:SAS作为磁盘通道技术,在接口带宽、工作性能、可扩展性、组网应用、可靠性等方面,有着突出的优势,尤其适合应用于企业级系统。
2. 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。
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作为交换路由表的内容,没有任何转换过程,一般的交换方法有如下三种:
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宽端口。