1 SAS的价值
SAS提供了一种可扩展的点对点网络拓扑(Point-to-point topology)结构,可以在多种层面实现存储连接。SAS现已进入第二代,其标准也在不断演进以得到更高带宽利用率、更加易于管理并使网络更加稳定。本文将对SAS持续增长的价值进行分析。
1.1 数据中心网络拓扑结构
数据中心需要支持丰富的内容和更高的系统吞吐量(System throughput),同时法规还要求其支持数据存储、保护、恢复以及文件存档,在这些需求的推动下,数据中心正变得越来越复杂,串行连接SCSI(SAS)已代替并行线缆SCSI成为内部互联技术,如图1所示,SAS可以在多个层面实现存储连接。
图1:数据中心的各种连接
SAS架构支持多主机和无限多的连接设备,可容纳的系统包括小型直接连接的磁盘驱动器直到数以千计的网络磁盘驱动器与控制器。
SAS的优势在于:
提供更高的带宽和数据吞吐量(data throughput)
与串行ATA(SATA)结构兼容
1.2 高带宽高吞吐率的协议
SAS传输层运行下面三种协议:
串行SCSI协议(SSP) ? 为SAS (SCSI) 磁盘驱动器、磁带驱动器等提供端到端连接
串行管理协议(SMP) ? 对SAS域进行配置和管理
SATA隧道协议(STP) ? 提供与SATA驱动器的兼容性
SSP允许端到端连接。主机可以在网络一端建立一个开放的链接,然后在通信开始前将其连接至网络另一端的目标设备上。由于数据传输采用打包的形式,因此链接不会长时间保留,这样可确保整个网络上所有设备的数据吞吐量得到平衡。另外,多路链接(宽端口)可独立应用以提供更高带宽并提高系统吞吐率。
扩展器和控制器使用SMP对SAS域进行配置和管理。该协议在SAS链接频带内工作,对域内设备变化发出通告,例如增加或减少磁盘驱动器或其它设备,另外它还具有系统登录报告功能。SMP由扩展器和控制器设备启动。
请注意目前刚起草的SAS 2.0还针对诊断功能提供额外的状态与报告信息,确保系统保持最佳工作状态。如果出现错误,该状态数据将用来进行判断、隔离和分析错误以及误差状态。
STP提供SAS和SATA之间的连接,SAS控制器利用STP将SATA协议与数据包装入SAS数据包中,当一个SATA设备连接到端口时SAS扩展器可以对其进行识别,并用STP去除SAS外封包以原始SATA协议表现SATA磁盘驱动器。
在SAS环境下能够使用SATA设备还有很多优点,下面将继续讨论。
1.3 对SATA的支持
SAS被设计成与高容量SATA驱动器兼容,这一兼容性很有价值,因为不管是任何存储介质SATA都可以最低千兆位存储成本提供最高存储容量,如图2所示。另外还可利用SATA 双主动 (Active/Active)端口选择器使SATA硬盘驱动器(HDD)成为“双端口”设备,从而设计出全冗余路径存储系统架构,以获得更高的系统容错能力 (Fault-tolerance)。
图2:SAS / SATA相对成本
虽然相比SATA而言SAS具有更高性能和可靠性,但其容量却比较低。本文完成的时候SATA驱动最高可达1000Gbyte,而最大的SAS驱动器只有300Gbyte。
SATA的性能和可靠性不如企业级SAS和光纤通道(FC) 设备,不过数据存储中心通常都有备份以及独立磁盘冗余阵列(RAID)以确保在设备发生故障时能对数据进行恢复,部分弥补了其可靠性的不足。通常SATA驱动器被用于不经常访问的数据、近线存储(Near-line storage)或后备RAID,以此弥补SATA存储的可靠性风险问题。
SAS与SATA的协同作用可以在更大范围实现网络兼容和升级。
2 第二代SAS
第一代控制器、扩展器和端口多路复用器使系统成功地从基于总线的并行SCSI发展为基于连接的串行SCSI,这些连接速度为3.0 Gbit/s。多路连接(宽端口)可用来提高设备间可用带宽,还可以加入扩展器设备使SAS网络在一个域里扩大到16,000个设备。业界成功组织了系列协同会议,确保不同供应商设备和系统互相兼容。
SAS已进入第二代,现正在起草SAS 2.0,它定义了更高链路速率与带宽利用率,还有其它一些性能,来改进sas拓扑网络的稳定性和易管理性。
一些主要变化包括:
6 Gbit/s SAS ? 连接速率与带宽加倍
多路复用 ? 让两条3 Gbit/s链路共享一个6 Gbit/s端口使带宽得到优化
分区 ? 可以将域分割成小块可访问设备
自发现扩展器设备 ? 可以加快网络初始化和变化检测
诊断和稳定性 ? 改善了状态报告和错误通知功能
关联支持 ? 可以使一个SATA磁盘驱动器响应不止一个主机
第二代控制器经过优化,可充分利用PCIe 2.0(每个链接5 Gbit/s)连接,并调整为SAS 2.0的6 Gbit/s链接,其吞吐量持续不变,且比以往任何一代设备都高。SAS 2.0的这些进步确保SAS系统速度更快、提供更高带宽利用率、更易于管理并使系统稳定性得到提升,同时SAS也还在发展演进过程中。
2.1 6 Gbit/s SAS链接速率与多路复用
第二代SAS扩展器设备具有连接结构,可与高性能控制器相匹配。6 Gbit/s链接提供两倍可用带宽,能支持更多磁盘驱动器和更高吞吐量。
6 Gbit/s链接可以复用,使两条交叉存取的3 Gbit/s链路共享一个端口,这样高传输率控制器利用少量连接即可同时访问更多磁盘驱动器。在一个既有3 Gbit/s又有6 Gbit/s设备的系统里,一些端口可以配置为多路复用端口,同时其它端口还是以原来的6 Gbit/s的速率运行, 这样可优化系统性能并保持后向兼容性。详情请见图3。
图3:多路复用连接
2.2 分区(Zoning)
分区(Zoning)提供了一种机制,在一个SAS子系统中为一个特定控制器分配一组设备。分区(Zoning)允许SAS子系统中的设备群相互连接或分割以简化数据服务管理。
在刀片服务器应用中分区(Zoning)也特别有用,此时位于不同刀片处理器的控制器连在一个公用刀片存储器上,分区(Zoning)使刀片存储器上的磁盘驱动器(HDD)针对不同的刀片处理器进行分隔,这样每个控制器只会关注刀片存储器的磁盘驱动器(HDD)的一个小部分。
分区服务传递子系统(ZPSDS)将一个主机分配给一组设备以访问整个网络的部分设备,一些设备可以被多个主机共享,另一些则可能在热备用磁盘(Hot-spare)组里,可以随时分配给任何需要额外容量或备用驱动器的设备组。
图4显示了一个分区子系统。分区(Zoning)可以通过远程控制,也可以直接由系统中的设备进行控制。一个应用管理客户使用SMP功能可以配置域里面的所有设备。
图4:分区服务传递子系统(ZPSDS)
Expander
分区(Zoning)不仅仅隔离数据服务,同时也对每个分区子系统中的管理和诊断通知进行分隔。这样确保一个区域里发生链接不成功或者链接中断不会影响到其它区,保证ZPSDS里的每个区在任何时刻都保持最高性能。
在一个SAS系统中可能会有多种类型的设备,包括:
多路主机控制器
高性能SAS驱动器
高容量SATA磁盘驱动器
SAS磁带驱动器
SAS DVD驱动器
此外,应用程序在访问SAS存储子系统时可能会有多种需求来自于存储系统,如:
高可用性驱动器
近线(Near-line)访问驱动器
远程启动驱动器
后备驱动器
RAID保护驱动器
加密保护驱动器
热备用磁盘(Hot-spare)驱动器
除应用程序方面的需求外,法规还要求个人和财务记录以及E-mail存档必须采用不同存储策略,分区功能的应用使得数据中心能更轻而易举地满足以上不同的需求。
2.3 自配置扩展器
第一代SAS扩展器没有协助参与SAS网络发现过程,由SAS控制器完成每个扩展器设备内所有设备的识别和路径表映射。
但第二代扩展器具有自配置功能,每个扩展器可以探测到跟自己连接的设备并完成自己的路径表。由于所有扩展器同时进行初始化,所以整个系统网络可以很快确定,这在大型网络或者一个域里有多个主机时特别明显。
2.3.1 第一代SAS初始化
图5是一个使用没有自配置功能的第一代SAS控制器和扩展器设备的实际SAS系统性能测量结果。
图5:没有自配置扩展器的网络发现过程
扩展器建立路径表的初始化时间约4秒,主机总线适配器(HBA)发现并与操作系统(OS)驱动进行通信的过程需要12秒的时间,13秒之后OS通知用户关于驱动器的信息。
在这个测试中,磁盘驱动器在主机初始化之前就已经上电启动。
2.3.2 第二代SAS初始化
图6显示了一个使用第一代SAS控制器和具有自配置能力的第二代SAS扩展器设备实际SAS系统性能测量结果。很明显初始化时间改进了33%。
图6:具有全自配置功能扩展器的发现过程
扩展器设备内路径表初始化时间约4.8秒,主机总线适配器(HBA)发现并与操作系统(OS)驱动进行通信的过程需要4.8秒的时间,8秒之后OS通知用户关于驱动器的信息。
在这个测试中,磁盘驱动器在主机初始化之前就已经上电启动。
第二代主机控制器还可能进一步缩短初始化时间,因为它不会尝试将路径表写入扩展器设备中。
2.3.3 磁盘驱动器的初始化
在前面的测量实验中,初始化时间是从关机状态(冷启动)开始记录的,可以注意到所有SAS设备立刻开始其连接初始化工作,但大多数SATA设备直到启动过程之后才会建立连接,据测量这通常需要13.6秒,见图7。额外的连接初始化将使整个启动时间延迟另外的13秒。
图7:SAS和SATA连接初始化过程
2.4 诊断
系统维护和服务费用会随规模和复杂性的增加而增加,SAS 2.0标准一个主要目的是改善整个SAS网络的状态报告。
控制器、扩展器以及SATA端口选择器(如像PMC-Sierra提供的产品)都可以提供链路测试和反馈回路以及自测试功能,能够在任何时候于任何链路上执行并进行分析。这些功能和智能诊断应用一起,可对SAS系统内每个连接进行持续的状态监控和测试。
错误计数器、状态改变计数器甚至通知计数器都可用来记录SAS系统每个PHY上面发生的事件。门限计数器用于在实际链接失败发生之前和之后确定和记录错误率,以改进错误分析,避免更换掉工作正常的设备。
在冗余系统中,远程监控与系统策略可以自动开启错误恢复过程,甚至可以用一个在连接状态的热后备驱动器取代错误率超过可接受限度的设备。如果一个设备显示出不寻常的高错误率,那么就可以在其报废前将它取代,这样才可能在这个驱动器报废和数据丢失之前将其中的数据备份出来。
在一个RAID系统里,如果任何设备出现较高重试率都会降低整个RAID系统的性能。通过检测重试情况可保证得到优化的RAID运行效果,并取代任何工作于非优化状态下的设备。
SMP应用程序客户端被整合到控制器和扩展器设备中,它们各自单独监测PHY的状态。诊断应用程序利用PHY计数器生成的数据,执行针对系统错误情况的策略及自测试操作,生成系统事件历史记录。为使状态信息活跃度处于最低水平,通知事件仅在超过门限时才被触发。
系统监测可以远程管理,这样可以提高可靠性、服务性和系统稳定性。
2.5 多重关联支持
企业级存储系统通常会有几个层次的冗余,而磁盘驱动器需要有两个端口以支持自动故障切换冗余。为解决这一问题,可采用SATA端口选择器将一个SATA接口多路复用成两个端口。
PMC-Sierra提供一种双主动(Active/Active) SATA端口选择设备(PM8307 SPS 3GT) ,可以让两个控制器随意连到两个端口,同时工作。双主动(Active/Active)端口选择器可实现系统冗余和负载平衡,两个控制器共享对磁盘驱动器的访问。
图8显示了SATA磁盘驱动器适配板上的SPS 3GT多路复用器,框图显示的是通过SXP 24x3G扩展器设备连接到两个PMC-Sierra SPC 8x6G主机控制器设备域。
图8:带有多重关联支持的Active/Active端口选择器
SAS驱动器执行原生指令队列(NCQ) ,SATA端口选择器提供额外的信息进行处理以及将响应映射到请求设备上。
SATA协议是为那些只有单个主机控制器的桌面环境而设计的。协议包括一些标签将响应数据连接到特定的需求中,但不包括信息源和目的地址信息。在应用Active/Active端口选择器的场合,需求和响应标签都映射(或加入)到正确的主机控制器设备上,以支持一个以上主机设备。
3 利用公共软件
供应商提供SAS控制器和应用程序之间的软件接口,为了向市场推出高性能高品质产品,对于设备配置而言经过验证的、用户友好(User-friendly)型且可升级的便携式接口是非常重要的。
PMC-Sierra的传输独立软件架构(TISA)提供了一个公共的类似于SCSI的软件接口,可以确保SAS开发人员利用其前一代Tachyon控制器设备的专业知识,以开发新一代SAS方案。见图9。
图9:公共软件接口
该模型可应用于所有PMC-Sierra存储设备,从控制器到扩展器再到SATA端口选择器。
公共软件接口提供了一个特定传输配置和管理接口,其特性包括:
独立于所有操作系统平台的软件接口,可以快速推向市场
提供重复使用的公共编程环境和工具,可降低风险,提高生产率和可靠性
降低服务和支持成本
在所有层都可进行编程,甚至低到寄存器层
存储应用程序开发使用TISA 应用编程接口(API),通过替代该API下面针对传输的层可支持不同的SAS和SATA传输协议(以及iSCSI和FC)。TISA程序包还包括:
TISA 应用编程接口(API)
低级应用编程接口(API)
硬件接口
4 结论
SAS正在不断演进和发展。第二代控制器不仅能提供更高吞吐量和带宽,以及SATA互操作性,它还可与扩展器和SATA端口选择器基础架构设备进行通信,以改进系统诊断性、状态、管理、配置以及初始化。SAS 2.0的优点是增强系统稳定性,并使带有各种设备的大型网络成功实现互操作。
PMC-Sierra在SAS/SATA和光纤通道存储设备领域都是市场领导者。 完整端到端SAS存储方案能使采用PMC-Sierra Tachyon SAS协议控制器(SPC)、maxSAS SXP扩展器以及SPS端口选择器设备用户获益。结合了用户友好、通用软件平台和TISA, 源自于业界领先的Tachyon系列,PMC-Sierra提供的存储产品具备成熟的技术和稳定性。
如欲进一步了解本文所涉及内容更多信息,可参考:
SAS 6G协议详细资料 www.sas6g.org
SAS规格与草案 www.t10.org
产品特性与技术细节
www.pmc-sierra.com/storage