SAN是千兆位速率的网络,它依托光纤通道(Fibre Channel)为服务器和存储设备之间的连接提供更高的吞吐能力、支持更远的距离和更可靠的连通。SAN可以是交换式网络,也可以是共享式网络。
以目前的技术,其中任何一种网络都能够提供更好的伸缩性、故障恢复和诊断信息;此外,以其中任何一种网络为基础建设SAN都不需要对现有设施进行全面升级。由于降低了管理成本,SAN的基本设施的最初成本也就变得并不昂贵。 SAN的组成通常包括服务器(主机)、存储设备(磁带或者磁盘阵列)以及桥接器和多路复用器,并且所有这些设备都连接在光纤通道的交换机上。
在LAN和WAN环境中,交换机为连接着的所有设备提供主干,其中的一个或多个交换机称为光纤通道交换矩阵(Switching Fabric)。SAN的交换矩阵允许数以千计的结点进行连接。SAN还可以组成FC-AL环网(Fibre Channel Arbitrated Loop),这是一种共享介质的网络。
FC-AL环网结构在每个环上允许多达126个设备,可以直接连接到光纤通道的交换机上,也可以连接到和交换机相连的集线器上。此外,光纤通道还有助于分担服务器的负载,以前服务器一直要承担向存储设备和LAN传输数据的负担;而现在,服务器可以将传输数据的工作交给SAN。
SAN的设计
要进行SAN网络的安装,任务是相当简单的。光纤通道SAN可以设计成共享介质的网络,也可以设计成交换式访问的网络。
在共享介质的网络中,所有设备共享同一个千兆位的环,这种结构的问题在于随着设备的增加,网络的吞吐能力会下降。尽管对于小型应用环境来说这也许是可以接受的,但基于光纤通道交换机的主干将大大增加SAN的总带宽。
建立交换矩阵SAN可以使用一个或多个光纤通道交换机,然而只有当所有存储设备的网卡象操作系统和应用一样能够连接到这一交换矩阵上,才有可能访问由这一交换矩阵所提供的服务。这是因为首先网卡要通过登录到这一交换矩阵来成为网络的一个成员,这一过程称作Fabric Login。因而显而易见,在组建SAN时选用支持Fabric Login的网卡是非常重要的。
对于连接到SAN中的设备,另外一个关键的问题是发现整个交换矩阵中的所有设备的能力。光纤通道定义了一种发现机制SNS(Simple Name Service),它能够知道连接在这一体系结构上的设备的地址、类型以及特征。SNS信息驻留在光纤通道交换机中,而网卡和存储控制器则从交换机中查询SNS数据,因而网络管理员同时还应该寻求支持SNS的光纤通道网卡和存储控制器。
对于错误恢复和故障隔离,光纤通道有着一个称为RSCN(Registered State Change Notification)的可选功能,能够对设备进行配置更改。假如RAID(Redundant Array of Independent Disks)或者是JBOD(Just a Bunch of Disks,没有RAID控制器的磁盘集)、磁带设备和主机是直接连接到一个交换阵列矩阵上,而不是同处于一个共享访问的连接环上,则RSCN所起的作用会更大。因为故障结点不会影响到其他任何连接到这一交换矩阵体系上的设备。同时由于有问题的设备或是连接能够被隔离,因而交换式网络的故障恢复速度也要比共享介质的网络要快得多。
此外,光纤通道本身还具有多点传送的功能特性。别名服务器是一个可选的交换矩阵的服务,它的角色相当于一个光纤通道多点传送场所,进行多点发送组的创建和删除。但是光纤通道的多点传送和IP多点传送并不相同,在IP多点传送中,是由主机来建立多点传送组,而且这一团组也仅仅工作在网络层;然而交换矩阵本身能够帮助进行多点传送,这种团组关系基于光纤通道的物理地址,对上层的协议是完全透明的。
由于光纤通道能够结合许多不同的协议,网络管理员可以通过建立SAN来满足最大规模的数据中心的存储需求。例如,通过使用SNA到光纤通道的网关和光纤通道到SSA(Serial Storage Architecture)的桥接设备,完全可以将Escon(Enterprise Systems Connection)设备和SSA设备集成到SAN中。未来的大型主机和SSA设备将支持到光纤通道的直接连接。通过使用分布式锁管理软件或者一些分区机制,这些数据中心的SAN甚至可以允许存储设备为企业环境中的所有服务器共享,而不管他们所运行的操作系统是Unix操作系统还是NT。
SAN的管理
为了做好管理工作,网络人员应该能够使用LAN和WAN环境中的所有工具和系统。这就意味着他们必须寻找能够通过SNMP协议管理或者运用HTTP传输协议通过Web界面进行管理的SAN设备。
同时设备还应该支持telnet登录协议;SCSI设备上另一个可供选择的特性是SES(SCSI Enclosure Services)。所有这些设备都应该提供有关设备状态、性能级别、配置和拓扑变化以及历史数据等方面的详细信息,主要的状态和性能信息包括吞吐量和响应时间,将来还要求提供一些传输确认和优化工具。
在FC-AL网络中,由集线器来提供环网上所有设备的管理信息。但是它不能提供连接在环以外的设备的信息。当然,当这个环连接到交换矩阵上以后,就能够对任何设备进行远程管理和诊断了。在确定使用何种方式将环连接到交换机上以后,网络管理员们应该尽量寻求性能良好的设备,以使它们能够充分利用独占环的时间来传输数据。
SAN的选择 现在,一些企业用户已经安装了交换式或者共享介质的SAN网络,但他们需要将两种网络进行合并,所以应该一开始就考虑好SAN的哪些部分需要采用交换式网络、哪些部分又需要采用共享式网络。
对小型网络而言(只有一两台服务器和一两个RAID或是JBOD磁盘阵列),存在着3种选择:仅仅采用SCSI应用模式;转移到点对点的光纤通道网络(一块网卡连接一个存储设备使服务器到所有存储设备都存在连接);通过环形拓扑结构采用一个共享访问(基于集线器)的SAN。主要的考虑因素是成本和平滑升级的能力。
对于具有多个服务器和数据量超过500GB的智能阵列的网络,则最好采用基于交换方式的SAN。对于具有3台服务器、多个RAID阵列和一个磁带系统的中等规模网络,可以将RAID阵列和服务器进行交换式的连接,服务器和多个JBOD设备之间采用环型连接,而磁带系统则采用桥接方式连接(见图)。但同时要记住,由于这一SAN是基于交换机而组建的,因而它可以进行故障隔离,能够提供其他交换矩阵的服务。
究竟一个SAN的哪些部分应该设计成共享式的、又有多少部分应该设计成交换式的,这个问题必须视具体情况而定。在这一问题上,不应该将所存储的数据量作为决定组建何种类型的SAN网络的主要因素。相反,应该从数据的重要程度、网络的距离要求、存储设备的管理需求、数据的可用性和灾难恢复的需求以及管理和应付配置改变的能力方面来考虑。
首先,应考虑企业内部如何进行重要数据的访问。例如,对于通过并行的SCSI接口连接的存储设备,服务器是控制中心。当服务器发生问题时,可能需要30到90秒才能够正常复位。对于提供电子商务服务的公司,这段时间足以带来致命的打击,因此不能采用共享介质的SAN。因为这种网络不能够消除复位时间,而且由于令牌环还要进行一个环初始化过程(Loop Initialization Process),这将导致所有设备的复位。
假如对数据的访问具有相互竞争的需求,那交换式的结构体系则正好符合要求。假如对于存储有距离要求(如跨越建筑物或是跨越园区内的多幢建筑物),则SCSI可能就不是一种合适的选择,因为SCSI的传输有70米的距离限制,即使使用了SCSI集线器或者中继器也没有用处。假如想要监视位于多个建筑物中的设备的状态,光纤通道的SAN比较适合,因为它本身就能够提供管理特性。使用位于环上的JBOD设备的部门,可以直接连接到位于SAN网络主干上的交换机上,交换式主干于是就与服务器以及位于环上的存储阵列直接连接,创建了一个虚拟的数据中心,为网络管理员提供管理数据和信息。
最后,从灾难恢复的角度来看,交换式的结构也是一个正确的选择。在10公里或更远距离以外创建一个冗余(备份)的数据中心,需要非常高的带宽来进行数据同步,这一要求目前只有交换的方式能够提供。
SAN的ASP
对于不同专业的从业人员,ASP有着不同的含义。但是当它和支持Web功能的ERP以及电子商务应用发生联系时,ASP只能是可用性、灵活性和性能(Availability、Scalability、Performance)的代名词。在这种解释之下的ASP带来了很多技术难题,那就是要求向用户提供跨越网络的可以持续稳定访问的应用系统。
网络上这种开放的服务刺激了用户数量和数据的传输量,同时在应用上也产生了许多不可预知的问题。那些大型的ERP和电子商务系统遍布全球,为了提高性能,对这种应用的访问需要强有力的数据缓存。沿用以前的系统(如大型主机)来装载新的应用是一个极端,而选择基于PC的低端服务器运行应用则是另外一个极端。相比之下,SAN是最佳的选择,它能够减轻所有这些问题。
SAN和集群
SAN可以被用作所有存储资源的高级网络主干,其中包括硬盘、磁带、光纤通道的硬盘和遥控设备,它们在网络上的所有服务器节点之间共享。支持SAN功能的集群使用了集群技术,也就是两台或多台互相之间知道彼此配置和所提供的服务/应用的计算机系统完全协同工作在SAN拓扑环境中。一个真正意义上的SAN网络早已超越了任意连通性、任意服务器到任意存储系统的连通的观念。事实上,通过将所有存储系统从一个高速的网络主干上隔离出来,或是通过在数据、存储管理和使用这些数据的应用之间引入逻辑层/物理层,这种好处是相当巨大的。
为了实现无缝的存储管理,SAN结构本来应该在所有存储资源(如磁盘阵列、备份设备、逻辑卷的管理、文件系统管理和备份管理)以及所有需要这些资源的应用系统基础之上,引进一个软件层。那些运行在CPU数目满足需求的服务器上的应用服务(如应用服务器、数据库管理系统、中间件、HTTP服务器)能够提供负载均衡和故障切换功能,而不需要专门的存储设备。
这些应用服务并不知道数据存储方面的有关信息,比如数据实际上究竟存放在什么地方、数据是否已经了镜像和分布式处理等。所有基于网络的RAID、分布式I/O、数据冗余、配置冗余、硬盘组、逻辑卷、动态的多个路径、分层存储、在线的高速备份等有关的问题都由存储管理系统来处理。一个正确的SAN是一个能够提供高可用性、增强的灵活性和改良的性能的基础构架。
SAN能够提供一个理想的拓扑结构来实现集群系统,因而其中一个系统的故障并不意味着所提供的服务会发生任何中断。参与这一集群的其他一个或多个生还的结点将自动处理由故障结点所提供的应用或服务。支持SAN的集群的一个优点就是在集群环境中发生故障时恢复速度快。由于数据是持续可用的,问题仅仅是由备用或协同工作的应用来访问原先由故障结点来访问的数据。在能够容忍的灾难发生之后,SAN能够通过光纤通道从10公里以外提供数据。
挑战ERP和电子商务
在可用性、灵活性和性能要求很高的大型的、支持Web功能的ERP和电子商务环境中,SAN和支持SAN的集群解决了一些主要的技术问题,如更为灵活的备份手段、更快的恢复、正常运行时间更长。
从更高层次来看,现在具有三层或更多层结构的ERP和电子商务体系都向着一个方向发展,同时Baan公司、Oracle公司、PeopleSoft公司和SAP公司等不同厂商的系统之间还存在差别。现今所有ERP和电子商务应用都是支持Web功能的构件,就象OLAP构件、应用构件、数据库构件一样,在逻辑上是互相独立的。
在应用结构适合SAN以后,最严重的问题便是这些模块化的应用所访问的大部分数据都集中在一个或很少几个数据库中(数据相当集中)。在这种情况下,一般可以对数据进行复制,以支持数据仓库或是其他负载分解方式。由于这些应用支持Web功能,使消费者能够对全球范围的用户分发他们的操作执行动作,这就使大量协同用户同时访问这些ERP和电子商务应用成为可能。
而市场的这一趋向又带来了系统的可伸缩性问题。由于这些用户遍布世界各地,所提供的服务就要求不能因为时间原因而中断。这一趋势同样带来了可用性问题。随着用户以显著的速度增加,所收集和分发的数据的总量也以几何级数的速度快速增长。随之而来的便是要求对通过ERP和电子商务系统所收集到的数据(数据已经复制到了数据仓库)进行分析、加以分类,并通过现存的和新启用的应用进行扩充,于是这又带来了与性能和速度有关的问题。所有这些因素更加明确地向结构体系提出了要求,要能够解决可用性、灵活性和性能问题。
可用性(Availability)
可用性是持续正常运行时间的一个衡量指标。当然,目标是100%的正常运行时间,这表明ERP和电子商务应用服务没有停工时间。通过对基础构造的所有构件部分都建立冗余(即使这一冗余是明显多余的,这是完全有可能达到的。
为所有冗余部件建立冗余备份的观念能够应用到SAN中的所有硬件和软件中,如处理器、应用服务器、中间件、DBMS等。如今,为了实现高可用性和容错,在ERP和电子商务应用环境中集群扮演了统治地位的角色。基于共享(如Oracle公司的产品)或非共享(如Sybase公司的产品)结构将两台或多台服务器组成集群协同工作,是目前常用的方式。
在这两种结构中,在系统和它们的存储单元之间都有着必须的大量冗余的互连,这一问题直到SAN出现才解决。随着SAN和基于SAN的集群的推出,由于在存储系统和服务器之间引入了一个逻辑/物理层,因而消除了这种连接要求。SAN中的每一台参与集群工作的服务器都能够访问SAN中的存储空间中的每一个字节,因而消除了系统和它们的存储系统之间的所有的互连需求。可伸缩性(Scalability)
如今,在SAN中的集群配置已经达到了32个结点,这一数字近来还有可能上升到128(例如,来自Veritas Software公司的Veritas Cluster Server软件)。SAN这种结构体系使得在一个集群配置中包含大量的结点成为可能。随着基于SAN的集群系统所提供的有效的负载平衡,真正的伸缩性和资源的有效利用也完全引入了ERP和电子商务系统。
作为一种体系结构,SAN能够为资源的有效利用铺平道路。假如一个服务器需要使用硬盘资源,另外的存储资源就会被从网络中拖拉出来,而无须增加额外的存储子系统。假如一台特定的服务器正严重缺乏处理器或内存资源,应用这些资源的服务将会转移到另一个未充分利用的系统上运行。
网络延迟的可以承受的水平仅仅由SAN中的存储资源或硬盘容量这些限制因素决定。由于存储容量的需求和数据库及应用密切相关,因而在网络延迟可以接受的前提下,尽量往SAN中添加资源就可以解决这一问题。从理论上说,运行在SAN中的系统和应用的可伸缩性是无限的。
网络中的全部资源能够被ERP和电子商务(要求具有内置的智能功能)的所有构件所使用,以有效地使用可用资源。因而从长远眼光来看,这种网络就好象是一台计算机,而它的和处理器、内存相关的资源分布在多个分担结点上。SAN中的存储和访问是集中处理的,为高级的应用机构、应用分割、故障恢复和负载均衡等提供余地。
所有这些发展表明可伸缩性主要受到SAN中的资源的可用性的影响。假如一个特定处理中的内存消耗使得可伸缩性受到影响,这一处理就可以分布到基于SAN的集群系统中的两个或多个结点中并行处理。假如物理硬盘的I/O正在影响系统的可伸缩性,那么SAN中的基于网络的RAID则可以使得这一状况得到改善。假如所有的结点的使用率都已经达到了100%,则应该考虑在集群的SAN中增加结点,进而也应该对应用的配置也应该作出相应的调整。
性能(Perfermance)
假如资源需求影响到了一个特定构件的性能,这种问题可以通过将构件重新部署到网络中,或是为构件在负载均衡的基础上建立冗余来解决。直到SAN出现,从客户机/服务器结构方面考虑集中备份,这种跨越网络的高速备份和恢复才成为一种主要的观念。应用如今的技术,具有许多服务器的网络中的集中备份意味着网络将会受到备份数据流的冲击和妨碍,哪怕使用最先进的压缩技术。
要将网络上的所有服务器中的数据进行备份,也许要会花好几个小时。这是因为每一个备份客户端都要通过网络将数据传送到中心备份服务器中,而且有可能要通过广域网连接。首先由客户端机器从硬盘上读出数据,然后从网络的不同方向传送到中心服务器上,最后由备份服务器将它写到备份设备上。有了SAN,SAN中的中心备份服务器将从存储设备读出数据,直接将它们存储到磁带、CD光盘或者硬盘等备份设备上。由于备份和恢复都不会影响外部网络的工作状态,因而都能够在相当快的时间内完成。
当进行了条带化或是镜像操作,RAID通常能够防治因硬盘故障而造成数据丢失。由于通向冗余数据的通路丢失,位于冗余硬盘上的可用数据不能被访问到,控制器故障和连接故障问题目前仍然没有解决。在SAN上的存储管理中使用了逻辑卷管理,可以在位于网络上不同的存储子系统中的硬盘之间建立条带化和镜像操作,因而增加了可用性。
由于到这一数据有多条通路可用,每次都使用最短的访问路径,这样就大大提高了I/O性能。同样,在SAN中,由于物理上的I/O分布完全不可能发生在位于存储子系统中的硬盘上,但能够被分布处理在网络上进行负载均衡,因而I/O性能也得到了推进。
SAN的蓝图
总体上说,作为一种结构体系,SAN非常适用于任何要求可用性、可伸缩性和性能的计算环境中,特别是那种ERP和电子商务应用扮演主要角色的环境中。这种类型的结构体系能够为运行于生产部门的基于事务的ERP和电子商务应用提供更高的可用性、增强的性能和提高的伸缩性。即使是在进行数据备份和归档,那些配备了冗余构件的服务器彼此之间还是能够连续不断地高速访问数据。
不管是数据、代码还是元数据,从底层来看它们都是数位和字节。在基于SAN的结构中随着逻辑卷管理层(位于存储服务器端)的引入,所有这些数位和字节被冗余地存储在SAN中,并在需要时被访问。