摘要:串行连接
SCSI (SAS)在小型存储区域网络(SAN)服务器环境中正得到越来越多应用。这种技术可以在小型SAN或者簇结构中以及在刀片服务器环境下连接不同的大型目标用户组,使这些服务器在目标用户之间共享资源,因此SAS日益受到重视。随着SAS的广泛采用,用户需要通过分区对设备流量进行隔离管理,类似于目前大型光纤通道网络或使用VLAN的以太网所用的技术。本文将介绍向INCITS SAS 2工作组T10技术委员会提交的SAS分区如何满足这些分区和接入控制要求。SAS分区可提供流量隔离、资源灵活性、受控资源共享、拓扑结构控制以及保护免受未授权访问等功能。本文将包括对SAS分区操作和执行的概览介绍,并讨论分区如何实现对SAS刀片服务器的管理,同时支持配备SAS硬盘的企业级应用,以及配备SATA 硬盘的近线/固定内容存储的需求。 1、管理接入控制
串行连接
SCSI(SAS)在小型存储区域网络(SAN)服务器环境下正得到越来越多的应用,随着应用日趋广泛,需要采用和以前类似的方法对设备流量进行隔离和管理,如大型光纤网使用的分区,或者以太网使用的虚拟LAN等。通过这些方式,IT管理员可以构造更为灵活、可升级且更为有效的服务器网络,以满足业务的要求。SAS分区提供了这种性能,它已作为SAS-2规范所包含的一个部分提交给了T-10技术委员会。
1.1 方面易用的SAS
企业IT基础设施要求工作简捷,能提供很强的工作能力与灵活性。SAS具有很多优点,作为点对点协议,SAS是一种高性能、可升级且灵活经济的方案,可用于存储系统的配置。
SAS是并行
SCSI的替代技术,数据存储容量及输入输出能力的建立都非常容易,其目标应用是一个服务器连到多个磁盘驱动器的直接连接存储(DAS)。不过,SAS采用扩展器作为到终端设备的开关,可提供功能强大的开关性能,在一个SAS域下完成多个驱动器快速聚合(可达16,384个设备),这些扩展器完全可以实现多主机与多目标的连接。SAS以其在小型存储区域网(SAN)内连接很大一组目标而引起广泛关注,如在簇群或刀片服务器环境下,可以使这些服务器在目标间共享资源。
在这种大型服务器环境下,必须提供更多管理和控制服务。例如流量经常需要分割以提高效率,此外由于存储资源是共享的,服务器资源需要加以限制以控制各服务器管理的资源,防止非法访问。同时,不是所有服务器需要访问所有数据,有些数据仅供某一个服务器使用,另一些数据则是由多个服务器共享。SAS分区规范中提供的接入控制可以防止非法访问、恶意攻击以及服务器操作员失误造成数据崩溃。接入控制可以确保如果服务器受到威胁,只有受到威胁的服务器访问的数据才会有丢失的危险,而不会危及整个网络。
SAS传输协议在其串口上支持下列协议:
* 串行SCSI协议(SSP),连接SAS设备和现有的SCSI软件
* SCSI通道协议(STP),识别SATA设备并与之连接
* SCSI管理协议(SMP),管理SAS点对点拓扑结构
本文讨论的分区特性即通过SMP命令扩展进行管理。
1.2 SAS分区的优点
接入控制有什么好处?SAS分区为什么会吸引人?为了回答这些问题,我们可以假设有所示的SAS扩展器拓扑结构。
图1:SAS接入控制特性
接入控制提供数据、功能和传递流量的流量隔离,它在逻辑上将主机和其它资源上的流量分开,并对所有终端设备提供同样的接入权限。有很多方式分割流量,图1显示了流量如何在内部和外部区域中进行隔离。
接入控制可提供灵活的资源重配置特性,例如给工作组里一个服务器分配了一个硬盘驱动器(HDD),当该服务器需要更大容量时又能很容易在组里添加另一个硬盘。
接入控制还提供资源受控共享并实施接入限制。用户可以在每个SAS分区设置不同的规范,限制每个主机能“看到”的资源。通过将SAS PHY分配给各个组然后实施接入控制规范限制这些组,系统设计员可以确保只有授权用户可以访问系统特定的部分,对终端设备分组后,系统设计员还可以节省应用扩展器所需的资源数量。
分区可以限制用户对SMP控制板的访问,这样只有授权管理设备才能访问SMP控制命令。
接入控制还可以减少拓扑结构变化造成的影响。SAS网络使用一种所谓的拓扑发现机制确定哪些设备是结构中的一部分。每当有新设备加入、删除或丢失时,都会产生一个广播事件,通知所有扩展器和主机设备重新进行查找以确定哪些设备发生了变化。这是一个很费时的过程,需要用到主机和扩展器资源,并增加SMP流量。因此减小拓扑结构变化造成的影响是有意义的,当有设备增加或删除时,只有其主机有权看到拓扑结构的变化。
最后,接入控制还可通过限制广播流量的传播保护系统免受攻击,广播事件具有很强破坏性,频繁发送时(又称为广播风暴)会耗用大量连接带宽。如果广播风暴不加限制,拓扑结构中任何“反常”设备都可能破坏整个网络的运行,广播风暴不受控制将很难支持大型网络。
1.3 分区工作原理
接入控制功能完全在扩展器内部实现。扩展器仅用于控制,它很难知道某个主机是否经过授权,因此接入控制不需要主机干预或改变其行为。通过让扩展器控制分区,原来并不具备分区功能的SAS和SATA设备也可以在SAS域下正常工作。
从SAS系统管理员的角度来看,分区模型不需要改变网络中的终端设备。发起设备执行正常的SAS查找,发起设备和目标设备也像通常一样收发开放地址帧。不过和普通SAS系统不同的是,发起设备和目标设备不会看到整个SAS域,即服务传递子系统,相反它们只能看到部分域,或者称为工作组,根据每个分区扩展器配置的许可表,他们只允许看到这部分域,分区操作由扩展器每个PHY端口分区属性配置(称为PHY分区配置)决定。
2、分区管理的实现
为了在网络中实现分区,系统设计员/管理员必须:
1、使用分区扩展器构建服务传递子系统。(注意,虽然SAS-2分区提议可支持高达128个区,但各分区扩展器供应商支持的分区数是不一样的。)
2、分析需要共享公共接入权限的设备,确定分区中所需要的部分或工作组。该信息必须转换为放入扩展器内的分区许可表,许可表决定了不同工作组之间是否可以通信。工作组分配严格按照分区服务传递子系统扩展器端口进行,服务传递子系统既可以是SAS域的一部分,也可以是整个SAS域,提供普通SAS系统服务,包括区域管理和接入控制服务。每个PHY只能属于一个工作组。
3、确定每个扩展器PHY的属性:
(1)为服务传递子系统确定监管设备。监管设备相当于一个管理机构,可以是分区子系统内部的扩展器设备,也可以是子系统附加设备。监管设备也是SMP发起设备,可以针对SAS分区配置和管理生成SMP命令。在一个网络结构里可以有多个监管设备。注意监管扩展器用来协调监管设备,它根据拓扑结构中最大SAS地址自动选出来,负责将区域许可表的改动传递给子系统所有分区扩展器。
(2)指定分区子系统上的PHY是可信任的还是不可信任的。分区子系统边界以内的设备都指定为可信的,子系统外的则指定为不可信的。该工作确定了分区服务传递子系统的边界。
向T10技术委员会提交的SAS-2分区提议中包含了用于区域管理配置和拓扑发现的最新SMP命令完整详细信息。
2.1 分区范围
图2显示了一个SAS-2分区服务传递子系统的例子,该系统看起来和原来的SAS 1.1服务传递子系统是一样的,只是多了一些分区扩展器。分区扩展器可以对区域进行配置,并在网络上执行与加强接入控制规定。
与扩展器相连的终端设备可以是原有的设备(包括扩展器),任何与分区网络相连的终端设备及扩展器都可从分区服务传递子系统边界接入点取得区域成员资格。
图2:一个分区服务传递子系统的例子
由于分区功能完全由扩展器实现,所以该过程对终端设备或原有的设备是透明的,它们无需改变工作模式,如SAS 1.1和HDD之类不涉及分区功能的设备。
2.2 分区原则与结构设置
2.2.1 分区识别
为了使SAS分区扩展器对设备及其控制原则进行识别,系统管理员必须使用唯一的ID定义分区,即使用设备在制造时就规定的全球统一名称(WWN)或者连在服务传递子系统的端口号,然后再将这个唯一性ID发送给连在每个终端设备的扩展器PHY。
表1显示了用全球统一名与端口号进行分区的比较,注意每个都有其特定用户。分区提议对两者都支持,优先采用更为安全的方法,基于端口号进行分区,也即基于PHY的方法。不过使用上层管理软件作为WWN管理API可以进行WWN和物理端口ID的一对一映射。
表1:全球统一名与端口号分区基本控制原则比较
如果一个设备在网络中重新部署,管理软件可以发现变动情况并自动向新端口重新分配相同的原则。
2.2.2 原则与许可定义
图3显示了一个分区结构的例子。该例中设备0和设备2因为共享同样的资源(需要和第4组和第5组设备通信)而被分在同一个工作组中(第126组)。
图3:分区工作组
利用区域许可表对每个扩展器工作组接入控制原则(或者称为区域许可)进行定义,如图4所示。
图4:区域许可表
第0组和第127组作为特殊组,用户不能自行定义。在默认情况下,第0组不能访问第127组之外的任何其它组,第0组可用于一个新设备加入分区服务传递子系统但尚未被系统管理员分配到某一个组时。第127组(SMP目标)允许访问包括第0组在内的所有其它组,并用于拓扑结构发现与分区管理。
第1组到第126组由系统管理员根据应用需要进行配置,每个组使用的数值与其镜像对应的组相同,如P[x,y]与P[y,x]相等以满足SSP与STP的双向交换。同一组内的设备并不一定要互相访问,因此这些组的许可值必须进行配置。例如有两个服务器共享同一组目标资源以及同样的存储空间,但互相不能访问,这时用户可以把他们分配到一个组里(P[x,x]),限定互相访问,然后把所有共享资源到另一个组里(y),并在P[x,y]内加入许可访问值。
在配置图4所示的分区许可表时,必须遵守下面一些规则:
1.当P[x,y]=0时,第x组和第y组不可以互相访问,当P[x,y]=1时,第x组和第y组可以互相访问。
2.除了第127组外,第0组不能访问其它组。
3.第127组可以访问所有其它组。
4.许可值互为镜像,即P[x,y]等于P[y, x]
5.同一组P[x,x]内的成员并非一定可以互相访问。
2.2.3 区域许可表更新后的传递
每次SAS子系统检测到拓扑结构变化时,管理员将使用SMP命令CONFIGURE ZONE PERMISSION为服务传递子系统进行分区许可表更新。
许可表的更新是一个多步骤过程,管理员必须将整个许可表传递给当前监管扩展器,监管扩展器再将变动传给服务传递子系统内其它扩展器。使用监管扩展器可以确保服务传递子系统中所有分区扩展器内的分区表的一致性。
如前所述,监管扩展器根据拓扑结构中最大SAS地址选出,每个分区扩展器都有一个SUPERVISING PRIORITY属性,决定了扩展器是否以后可以作为管理员。如果设置了这个属性,当分区扩展器在SAS域内相邻扩展器内移动时,所有其它管理员都会记录。拥有最高选择优先值(最大扩展器SAS地址值)的扩展器将被选为监管扩展器。
2.3 PHY区域结构设置
监管扩展器的任务之一就是将扩展器PHY端口属性与服务传递子系统(扩展器)连起来,这是第二类需要完成的分区设置,PHY分区需配置的属性包括:
源数据组ID——GROUP ID属性是用户定义的唯一组分区ID号(从1到127)
监管状态——SUPERVISOR属性决定连在PHY上的设备是否可以作为管理员。
信任状态——TRUSTED属性决定设备是否可信,从而确定服务传递子系统的边界,它通常是扩展器PHY到扩展器PHY之间的属性。
数据源检查状态——该属性决定扩展器是否可以自动检查任何开放地址帧数据源地址,并与初始化过程中通信的数据源地址相比较。数据源检查状态确保设备不能假装成受信设备访问服务传递子系统并获得未授权信息。
PHY分区的更新非常细微,由管理员使用SMP命令CONFIGURE PHY ZONE发给分区扩展器。扩展器的自发现过程可将与SAS地址相连的新PHY区域信息传递出去,即使在多监管环境下,扩展器一级也不需要进行协调。
2.4 拓扑发现的影响
SAS 1.1规范定义了扩展器路径表,它是扩展器PHY的SAS地址映射。对于SAS-2分区来说,该路径表可以扩展以便包括GROUP ID、SUPERVISOR以及TRUSTED属性。在拓扑结构发现阶段,分区扩展器将分组安排沿着SAS地址传递。图5显示了一个分区扩展路径表。
图5:分区扩展器路径表
所有分区扩展器都设置为自配置扩展器,也就是说所有扩展器都可以在SAS结构内来回移动,并显示在分区扩展器路径表中。该过程还可保护服务传递子系统不会受到主机在配置分区表时所发生的任何问题的影响,因为此时安全性是没有保证的。
如SAS 1.1所定义,主机拓扑结构发现还是会发生,以确定服务传递子系统内的设备。分区子系统通过
REPORT GENERAL、DISCOVER、
REPORT ZONE ROUTE TABLE命令管理,这些命令包含了SAS分区所需的新的域。不过,信息过滤基于初始终端设备数据组ID,因此如果一个终端设备来自于一个特定组,如组x,那么分区扩展器也只会记录该设备连在组x上,即使它可能连到另外的组,这样就限制了主机能够“看到”的内容。
2.5 分区操作
2.5.1 开放地址帧处理
开放地址帧(OAF)是在两个SAS设备之间建立联系的方法,对于SAS分区,除了装载源SAS地址和目的SAS地址外,开放帧还带有在SAS分区网络进行路由所需要的两个新域:
源数据组ID (SGID)
接入区管理
定义新的OAF域
SGID域由图4所示分区许可表中的P[y]表示,扩展器使用三种标准SAS方法之一根据开放帧目的地址发送数据包,这三种方法分别是表路径法、直接路径法以及递减传递。在传送过程中,这些方法检查目的SAS地址,并将地址映射到目的数据组ID (DGID) (如图4中的P[x]),然后,SGID确定数据帧从何处来,DGID确定数据帧送到何处去。根据分区许可表检查数据组ID后,扩展器可验证开放请求是否可以批准。
接入区管理域确定开放地址帧是否从管理员设备发出,这对于正确进行接入控制和许可检查是很重要的。
图6:开放地址帧处理
SGID和接入区管理都仅对开放地址帧有效,该地址帧在信任扩展器PHY上于分区服务传递子系统内部传递。由于终端设备可能是以前的设备,没有这些域,所以当从一个非信任PHY收到开放帧时,源分区扩展器的进入端PHY将根据相关PHY管理员属性为与PHY和接入区管理相连的组ID设置SGID域。数据帧传递结束后,目的扩展器出口端PHY将会在传送到另一个非信任PHY之前将这些域删除。详细情况见图6。
许可检查
SAS分区许可检查可以通过单跳或多跳方式完成:
如果分区扩展器结构只使用表传递,那么分区路径表将包含域内所有SAS地址,也即路径表在整个结构内都是平的。在这种情况下,合法的开放地址帧总是会被第一个扩展器拒绝,区域路径表立刻将目的地址传送给与之相连的DGID,并根据许可表接受或拒绝开放帧。
如果在结构中使用了递减传递,则区域路径表内将只包含域内SAS地址的一个子集。这种情况下,开放地址帧将通过递减端口从一个扩展器传递到另一个扩展器,直到一个能够识别数据组ID和相应SAS地址的扩展器为止。在这种多跳方法里,非法的开放数据帧将采用递减式传递,直到目标地址最后一个扩展器。虽然这种方法会消耗更多扩展器内部连接带宽,但它可以使边缘扩展器拥有更小的路径表。
图7:单跳和多跳许可表检查
2.5.2 广播处理
在SAS 1.1中,当拓扑结构中设备状态改变时,将生成一个广播事件并沿着拓扑结构传递以通知主机发生了变化,广播限制概念将约束广播事件只传播到允许访问的区域。为了在SAS-2分区规范中实现这一点,广播帧包括了SGID。广播帧只能通过服务传递子系统传给SGID允许访问的组,这在访问许可表中进行了规定。广播限制对于减少广播事件以及网络流量非常重要。
在广播帧中插入SGID仅用于扩展器内部通信,如果广播信息是从连在非信任PHY上的分区扩展器传出(服务传递子系统之外),PHY在广播传给非信任PHY之前会将SGID删除。
3、SAS分区实际应用
串行连接SCSI具有丰富的功能可以替代并行SCSI,因此SAS围绕现有的SCSI直接连接存储(DAS)应用进行设计和定义。随着SAS越来越成熟,DAS市场之外的新型应用也开始出现,分区技术被引入串行连接SCSI标准以支持新的SAS应用,诸如刀片服务器系统中的SAS开关以及SAS存储片。
3.1 SAS开关
2004年以来,刀片服务器技术开始吸引服务器市场主流客户的注意,刀片服务器系统的优点包括性能和密度提升,以及齐全的刀片服务器系统产品,如刀片系统、多种处理器选择、多种操作系统、新型网络设备以及新型存储设备。这些优点促使主流客户在其数据中心使用刀片服务器,以支持业务流程中的重要任务。
为了不断为最终用户提供更多选择,推动刀片服务器市场增长,刀片服务器OEM计划将SAS引入到刀片服务器设计中。转向SAS后,刀片服务器结构可以同时支持用SAS硬盘的企业级应用以及用SATA硬盘的低成本存储应用。
刀片服务器是一个模块化计算平台,包括下面一些部分:刀片、开关模块、电源|稳压器、管理模块以及风扇。刀片是一个单板服务器,包含一到四个处理器、存储器、本地磁盘存储器、板上网络接口卡(NIC)以及SAN连接线路,如图8所示。刀片机架可以装入一个或多个刀片卡、一个或多个以太网或SAN交换模块、一到四个电源、一到两个共享管理模块与冷却系统。机架内各部分与一个全冗余中间板通信,可实现热插拔并易于维护。
图8:典型刀片服务器结构框图
SAS还会影响刀片服务器架构内的内部磁盘连接,为了使CPU刀片连到SAS或SATA存储器上,开关模块或开关刀片需要SAS开关,而不是以太网或光纤通道。
目前在刀片服务器应用中使用光纤通道和以太网开关是为了提供分区功能,确保服务器刀片不会“看见”刀片架构内部其他服务器。因此,SAS开关必须提供分区功能,SAS开关是在使用SAS扩展器基础上设计的,如图9所示。
图9:SAS刀片服务器架构示例
3.2 存储片
应用更少磁盘的服务器片是刀片服务器市场新出现的一种架构。把硬盘(HDD)从服务器/CPU片上拿走,放在一个称为“存储片”的共享位置上,0。存储片可以看作是“半本地”存储器,由数量不多的几个刀片共享。存储片概念不是真正的直接连接存储(DAS),因为它不是某一个服务器专有,它也不是个完整的存储区域网络(SAN),因为存储空间不是对网络所有服务器开放。存储片在分层存储结构中是一个新的中间层,由于不需要预先分配无用存储空间以及将存储器分摊到多个刀片上,它在价格和性能上都显示出一定优势。
图10:无磁盘刀片服务器架构
存储片为刀片服务器提供了一个普通可分配存储驱动器的集合,系统资源经理可以进行分配和管理,将所希望的导入图片、应用或其它选择的链接放到合适数据库中。存储片可为刀片服务器提供低延迟存储访问。
在无磁盘刀片架构中,分区是非常关键的,因为每个服务器片受保护启动驱动器都会放在共享存储片上,0所示,因此需要分区以保护每个CPU片和相应存储器,免受未授权访问与侵犯。
4、结论
SAS分区提供流量隔离、资源灵活性、受控资源共享、保护以及所需的拓扑结构控制功能,可以管理基于SAS的系统,包括刀片服务器。
PMC-Sierra非常积极地与其他服务器OEM合作,推动SAS分区的标准化。
PMC-Sierra和惠普联合向INCITS SAS 2工作组ANSI T10技术委员会提交了一份SAS分区共同提议。该提议得到广泛的支持,确定了SAS分区如何为扩展器提供灵活且高效的接入控制机制,且与现有扩展器协同工作。
附:
术语表
关于PMC
PMC-Sierra是一家供应高速宽带通讯半导体产品与存储器件以及MIPS-Powered处理器之领导厂商,产品主要领域包括企业级、接入、城域光纤传输、储存区域网络以及无线网络设备等。公司通过其遍布北美、欧洲和亚洲的分支机构在世界各地提供技术和销售支持。公司在NASDAQ股票市场公开上市,股票代码为PMCS,同时也是S&P 500指数的成员之一。
作者简介
Heng Liao博士是PMC-Sierra公司企业存储产品事业部(ESD)SAS扩展器产品首席工程师兼总架构师。加入PMC-Sierra公司之前,Liao博士在普林斯顿大学从事博士后研究,主要研究各种并行处理器架构和编译器技术。Liao博士在存储和通信ic领域有超过8年工作经验,承担过不同的设计任务。Liao博士拥有清华大学计算机工程博士学位,同时还获得超过18项美国及国际专利与奖项,涉及领域包括通信系统、交换技术、微架构以及存储系统。
Tim Symons是PMC-Sierra公司首席工程师兼存储架构师。加入PMC-Sierra之前,Symons先生是Adaptec公司(以前叫Eurologic
Systems)的存储系统架构师与技术专家。Symons先生拥有英国普利茅斯大学电子与电气工程荣誉理学学士学位。
Rachelle Trent是PMC-Sierra公司企业存储产品事业部产品行销经理。她目前负责服务器存储系统应用串行连接SCSI(SAS)产品,之前曾负责PMC-Sierra的高速SERDES产品线。在从事市场行销工作之前,Trent女士担任混合信号设计工程师,参与了高速模拟接口的设计工作。1996年,Trent女士以优等生毕业于维多利亚大学,获得物理学理学学士学位,1999年她又于西蒙佛雷萨大学获应用科学(混合信号设计)硕士学位。Trent女士目前还是SCSI贸易协会(STA)董事会成员,同时也是电子与电气工程师学会(IEEE)会员。
参考文献
1.ISO/IEC 14776-151:200x, ANSI INCITS. ***.200x, Project T10/1601-D, Working Draft American National Standard, Information technology – Serial Attached SCSI – 1.1 (SAS-1.1). July 9, 2003.http://www.t10.org/.
2.ISO/IEC 14776-150:200x, ANSI INCITS.***:200x, Project 10/1562-D, Working Draft American National Standard, Working Draft American National Standard, Information technology– Serial Attached SCSI (SAS). July 24, 2005.http://www.t10.org/.
3.T10/05-144r6, SAS-2 zoning, presented to the T10 Technical Committee. June 13, 2005. http:/www.t10.org/.