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中,并在需要时被访问。