视频信号数字化处理后所带来的信号损伤的种类及特点 2001_计算机
论服务器群集技术及应用 |
1、前言 广播设备、有线电视前端、卫星传输服务,以及许多公司和业界通信实体,正在越来越多地依赖于视频媒体文件服务器,以不断拓宽服务种类。 然而,我们在享受这些先进技术带给我们实惠的同时,又不得不面对这样一个事实:电子设备出现故障是不可避免的,视频服务器也不例外。现在,很多电视台已经使用非线性节目制作系统制或硬盘播出系统。无论使用哪种系统,服务器在整个网络系统的重要性是不言而喻,服务器作为整个网络的心脏,要为网络上所有的用户提供数据共享和应用服务,如果不能保障服务器的正常运行,网络系统的可用性就无从谈起。所以,要确保视频网络中的关键业务应用运行平稳,具有可靠的适时性和连续性,通过服务器的群集技术来提高系统的可用性和可扩展性是目前备受推崇的方案。 2、服务器群集技术概述 群集系统是一种由一组互连的整机构成的并行或分布系统,可作为统一的计算资源使用。服务器群集技术使用多台服务器组成服务器集合,可以提供相当高性能的不停机服务。在这个结构中,每台服务器都分担着一部分计算任务,由于集合了多台服务器的性能,整体的计算实力被增加了。与此同时,每台服务器还承担一些容错任务,当其中一台服务器出现故障时,系统会在软件的支持下将这台服务器从系统中隔离出去,通过各服务器之间的负载转嫁机制完成新的负载分担,同时向系统管理人员发出警报。再者,在某个应用软件的峰值处理期间内,对该应用的需求会变得过高,那么使用简单的操作命令就可以把同一节点的应用包转移到其他节点从而减轻该节点的工作负荷,来满足已增加的需求。群集系统就是通过功能整合和故障过渡实现了系统的高可用性和可靠性。 服务器群集技术提供了高度的可用性、伸缩性与易管理性: ·高度的可用性:群集被设计具有避免单点故障发生的能力。应用程序能够跨计算机进行分配,以实现并行运算与故障恢复,并提供更高的可用性。 ·可伸缩性:加入更多的处理器或计算机提高群集的计算能力。当现有服务器能力有限时,可以通过增加cpu、内存、甚至一台或几台服务器来扩展系统的能力。在服务器群集技术出现之前,用户通过增加cpu、内存来进行扩展,但是cpu、内存的扩展只能在一台服务器上进行,因此扩展是有极限的。而服务器群集技术可以通过在现有系统上增加服务器来进行扩展,增加的服务器将与原有的服务器紧密地集成在一起,为客户端提供高性能的应用服务。 ·易管理性:群集以单一系统映射的形式来面向最终用户、应用程序及网络,同时,也为管理员提供单一的控制点,而这种单一控制点则可能是远程的。 服务器群集技术的实现可以有几种不同的方式,考虑到用户的需求,大体可以分为以高可用性为主要目的的高可用性方案,和以提高性能为主要目的、同时亦可以提供高可用性的方案。这种划分同时也反映出群集技术在pc server上发展的两个阶段,既高可用性的两节点群集和提高性能的多节点群集。在今后 pc server群集发展的中将要实现更多节点的具有更高扩展能力的群集方案,这样在提供高可用性和高性能的同时,还可以通过节点数目的扩展,更加有效的保护客户的投资。 3、服务器高可用性群集拓扑结构 有两种典型的拓扑结构可以实现高可用性:被动备份服务器和第二活动服务器。我们将详细讨论第二活动服务器的三种实现形式:"全部复制"、"0共享"和"全部共享"。 下表了本文讨论的几种面向可用性的群集方法的优点和局限性。
3.1被动备份服务器 通常把一个服务器安排为"主"服务器,另一个服务器为"第二"服务器;由主服务器为用户提供文件、打印及应用服务,"第二"服务器只有在主服务器发生故障时才能投入运行,代替主服务器提供服务。在被动备份服务器方式下(如图3所示),除非主服务器发生故障,否则第二服务器只是"观察"并不作任何运作。 一种被称为"心跳"的简单机制被配置在主服务器上,它的作用是周期性地发送主服务器"生命尚在"的消息给备份服务器,一旦消息停止,备份服务器就认为主服务器发生故障,并把自己投入运行以代替主服务器。 "心跳"是一种很容易开发的协议,它可以通过网络链接实现;也可以仅仅在服务器间加一条传递"生命"消息的缆线;或者通过局域网消息传送实现。 3.2活动第二服务器 一个功能基本一致但成本低得多的方式是使第二服务器可以处理其它的应用程序,但当主服务器发生故障时,第二服务器也能够接管主服务器的工作。这种我们称只为"活动第二服务器"方法。这种方法的主要优点是在保持使用第二服务器的同时,获得服务器冗余,而不是仅仅把第二服务器作为备份使用。这种方法可以减少群集系统的运行费用。 实际使用中,"活动第二服务器"方法有三种实现方式。 "全部复制" "全部复制"就是指彻底的服务器冗余。每个服务器都有自己的磁盘。数据不断地被拷贝到第二服务器的磁盘上,以保证故障发生时,第二服务器可以使用已被拷贝的当前数据,并基于此当前数据作连续运转。 尽管这种方法的确可以带来高可用性,但它增加了服务器及网络的负荷,可能会严重影响系统性能。另一个缺点是当一个服务器发生故障时,可能会有主、从服务器的不一致现象:某个磁盘上的事务处理可能并没有完全在另一个磁盘上得到继续。因为即便以最快的网络相连,两个服务器间传送仍会有一定的延迟。 冗余的服务器也带来许多好处。因为数据是被完全复制的,所以客户的应用程序可以在任一服务器上运行,从而可以更好地平衡负载。另外,节点在空间上可以是分散的;节点间可通过广域网互连,上可以距离很远。这种拓扑结构常被用在灾难恢复设计中,提供对主要自然灾害如地震、洪水等的保护。 "0共享" 活动第二服务器方法的另一个实现是"0共享"。是指两个服务器上连接到同一个磁盘组上,尽管其中每个服务器"拥有"自己的磁盘。这在正常运作下,只有磁盘的主人才能存取其中的数据;但当某个服务器发生故障时,一个替代服务器将把自己设定为原来属于发生了故障的服务器的磁盘的主人,并对之进行操作。(如图3-3所示) 这种方式不必不停地在服务器间拷贝数据,从而大大降低了网络负荷。在这种方式下,磁盘是唯一可能产生导致长时间停机的故障的地方。于是,在这种体系结构的安装中,系统或是典型地依赖冗余镜像磁盘,或者在磁盘子系统中用raid技术,以保证在服务器或磁盘出错时,应用程序和数据的可用性。 "全部共享" 最后,我们还可以"共享一切",也就是说让多个服务器在同一时间共享同一磁盘。(参见图3-4)。在这种方式中,所有与磁盘相连的服务器在正常运作时可在相同时刻共享磁盘存取通道。这种方式要求开发一个复杂的锁定管理软件,保证在一个时刻只有一个服务器在读写数据?quot;共享一切"方法也典型地依赖磁盘镜像和raid磁盘。 4、服务器群集技术的实现方案 服务器系统用户根据本身业务的情况及组建群集系统的支付能力的不同,对服务器高可用性有一系列要求,如下表所示,不同的可用性等级带来不同的效果。 许多公司根据用户的不同需求,制定了许多种服务器高可用性群集方案。下面,我们就分别以ibm公司和hp公司的产品来举例说明。 4.1 ibm公司的服务器高可用性群集方案 以下以ibm产品为例,分别以通过磁盘镜像和共享存储设备为例;来阐述服务器高可用性群集系统的原理与实现方法。在探究每一种方案的细节之前,让我们首先看看它们的工作原理。 如图4-1所示,两个服务器的节点相互连接,构成了一个提供服务的整体。当客户端提出访问请求的时候,这个请求可以被群集响应。当群集中的一个节点失效,另外一个可以通过"失效切换"的过程接替失效节点上运行的应用程序。同时,由于应用程序和客户端所需要的数据是存储在共享的存储设备中的,在"失效切换"的过程中共享存储的访问控制权也由失效节点切换至运行节点上,客户端和应用程序可以通过共享存储设备继续访问必要的数据。这样,通过群集,可以实现在一个服务器节点失效的情况下,仍然可以提供数据访问和网络服务的正常运行,保证了客户的关键业务的运行。 4.1.1采用数据镜像方式的高可用性群集解决方案 采用数据镜像方式的群集方案是在两台服务器之间通过磁盘或者分区的镜像,保证应用程序的代码和数据可以在两台服务器之间相互备份,从而保证系统的高可用性。 ◆ 磁盘镜像实现方案 ·系统要求: 图4-2是磁盘镜像的工作原理示意图。图中左边的服务器(node a)和右边的服务(node b)分别运行不同的服务。两台服务器通过内部的高速网络连接在一起。图中(内部高速互连)是内部专用网段,用于传输两台服务器之间的镜像数据。两台服务器中各自拥有一个本地盘,本地盘是用于安装服务器的操作系统。在两台服务器中除本地盘外,还有一个"高可用盘","高可用盘"是用于存储用户的数据或者是高可用应用程序的代码。两台服务器中另外各有一个"输出盘","输出盘"是用于镜像另一台服务器中的"高可用盘"的一组硬盘。 在两台服务器之间,通过内部的高速网络连接?quot;高可用盘"和"输出盘"形成了一组镜像的"镜像盘"。这样在一台服务器中所有的用户数据都可以通过这一组"镜像盘"镜像到另一台服务器的"输出盘"中,网络客户端对于一台服务器的任何数据的改动都可以实时的复制到另一台服务器的"输出盘"中。 图中(client network)是网络客户端用于访问服务器的网段。 在正常工作的状态下,客户端网络通过一台服务器访问数据,服务器通过客户端网络向外提供服务。 当服务器失效的时候,另一台服务器就会接管这台服务器的任务。由于所有的用户数据通过前面所提到的内部高速网络,镜像在另一台服务器中的"输出盘",这时网络客户端可以通过备份服务器继续访问这些数据。网络服务在经过了短暂的停顿之后,又可以恢复了。 ◆ 分区镜像实现方案 采用分区镜像在采用镜像方式的高可用性方案中也很广泛。分区镜像和磁盘镜像方式的一个区别是,分区镜像可以采用更少的硬盘数目,减少成本。 ·系统要求: 图4-3,是分区镜像的原理示意图。图中左边的服务器(node a)和右边的服务器(node b)分别运行不同的服务。两台服务器通过内部的高速网络连接在一起。图中(内部高速互连)是内部专用网段,用于传输两台服务器之间的镜像数据。两台服务器中各自拥有一个系统分区,系统分区是用于安装服务器的操作系统。在两台服务器中除系统分区外,还有一个"高可用分区","高可用分区"是用于存储用户的数据或者是高可用应用程序的代码。两台服务器中的"高可用盘"相互镜像。 在两台服务器之间,通过内部的高速网络连接,传输镜像的数据。这样在一台服务器中所有的用户数据都可以通过这一组"镜像分区",网络客户端对于一台服务器的任何数据的改动都可以实时的复制到另一台服务器的"输出分区"中。 总之,通过磁盘镜像的方法虽然可以大大降低硬件费用,但只限于两台服务器间的相互备份,并且占用cpu,i/o口资源,对系统的性能影响较大,不适于承担较重任务的系统。 4.2采用共享存储设备的高可用性群集解决方案 ·系统要求: 这种群集方式的实现,是通过两台服务器共享一个外部的磁盘存储设备,所有要求高可用的数据和应用程序代码存储在共享的设备中,两台服务器分别对磁盘存储设备具有访问权。当一个服务器发生失效的时候,另外一个服务器仍然可以对共享存储设备中的数据进行访问,客户端网络的访问,可以由这台服务器继续维持。 ibm serverraid 3h 群集方案,支持 mscs (microsoft cluster server)。目前mscs 可以支持两个节点。节点a 和节点b 分别是两台相同配置的ibm pc server 或 netfinity 服务器,通过mscs 逻辑上生成一个虚拟的服务器,通过这个虚拟的逻辑服务器向外提供网络服务。 图中的两台服务器分别具有一个本地盘用于安装 windows nt 操作系统。服务器中分别安装由两块网卡,其中一组网卡用于网络服务的提供(图中客户端网络网段),另一组网卡通过一条心跳网线构成了一个内部互连的高速网络,这个高速网络是用于两台服务器之间的信息传递。在服务器中分别安装一个或多个serverraid 3h 控制卡,通过 serverraid 3h 可以实现服务器的内部和外部的阵列,同时通过该控制卡连接共享的存储设备(图中所示的共享scsi 总线)。所有要求维护高可用性的数据和应用程序代码都存储在共享的存储设备中,这也是该方案的关键部分。服务器中的 serverraid 3h 的第三个通道相互连接在一起构成scsi 内部互连,这个连接是用于两台服务器之间阵列的同步 。 ibm 基于serverraid 3h 的群集方案,可以支持节点级和资源级的保护。 ·节点级保护: 在任何时候,如果一个服务器失效,在这个服务器上运行的所有应用程序和网络服务都会在另外一台服务器上重新启动,共享存储设备的控制权从失效的服务器上转移到运行的服务器。运行的服务器可以继续支持群集的虚拟服务器,通过群集的虚拟服务器,用户的网络访问可以继续进行。从而实现节点的保护。 ·资源级保护: 如果一个服务器所运行的某个进程发生失效,该失效的进程会通过群集监视器被检测到,之后通过群集服务在另一台服务器上重新启动,通过虚拟的 服务器继续向外提供服务。对于原服务器上所运行的其他进程和服务不会受到失效进程的影响。 另外,ibm公司还提供共享ssa存储设备方案和共享共享光纤通道(fibre channel)存储设备方案。通过scsi 接口共享外部存储设备,这种方案虽然增加了外设费用,但是由于采用该方案,可以实现双机的监控管理,而对系统性能影响很小,极大的提高了系统的可用性及可扩展性。 5、hp netserver"超级保障"高可用性解决方案 在前面提到的ibm公司的磁盘镜像和共享外部存储设备两种服务器群集高可用性解决方案中,我们可以看出这两种解决方案使服务器的可用性等级达到高可用性等级,即正常运行时间为99.9%,宕机时间为8.5小时/年。有些人要说这种解决方案还是不能满足要求,的确,在电视台普遍采用硬盘播出的今天,人们希望的看到的是服务器永不宕机。现在,人们又在追求所谓"五个9"的正常运行时间(99.999%的在线正常运行时间),这是一个非常高水平的可靠性和保护。这类性能稍高于每年315秒的停机时间,或者用销售/交易的行话来说,"一年丢失的30秒的广告不超过10个。" 为此,惠普公司率先在推出?quot;超级保障"解决方案,使得99.999%的高可用性指日可待。 惠普公司在双机双控容错解决方案的基础上,提出的"超级保障"解决方案可用性极高,每年只有5分钟的外停机时间,正常运行时间达99.999%,比双机系统提高100倍。同时,这种"超级保障"高可用性方案并没有对相关软件、硬件提出更高的要求,它只需要标准的hp netserver、标准的microsoft windows nt server以及不需修改的"off-the-shell"应用程序,如microsoft exchange等,因此用户不必去购买专有的网络操作系统、中间件及应用。 系统由四台服务器组成,每两台构成一个单元,如图5-1所示。图中左边为单元1,右边为单元2,两边完全对称。每个单元中的两台服务器通过高速的pci接口和光纤相连,marathon接口卡(mic)能够驱动两台服务器之间发送和接收数据,组成了一个完整的系统单元。其中一台服务器称为计算单元(compute element,ce),它运行用户所有的应用程序;另一台称为输入/输出处理器(i/o processor,iop),它进行所有的输入/输出处理。所有的输入/输出请求都是由计算单元(ce)转到输入/输出处理器进行处理,而ce不进行任何输入/输出处理。iop上运行e4000软件,完成故障处理、磁盘镜像、系统管理和再同步工作。 两个单元之间通过光纤和mic卡相互连接。两台ce运行marathon专利同步技术和执行应用程序。磁盘镜像是通过两边的iop重复写磁盘实现raid1,因此不需要专门的raid控制器。当一台ce发生故障时,另一台ce马上在配置中移去故障的ce,并保持系统继续运行。故障的ce然后被物理上移走,修复,再连接,最后开机。这台ce使用高速连接的线路,通过同步另一台ce的状态而重新加入系统中。此外,当一台iop发生故障时,另一台iop能保持系统继续运行。故障的iop然后被上移走,修复,再连接,最后开机。在e4000软件开始运行后,修复的iop自动被加入系统。 ◆ 硬件组成: ◆ 软件特点: marathon管理器是本系统的管理软件。它是一个能够使你监视和管理系统的标准windows nt应用程序,具有标准的图形化界面的marathon管理器主要能够实现以下功能: ·显示系统及其各个部件的状态,包括计算单元、输入/输出处理器、互连、键盘、鼠标、以太网连接等; 6、构建群集系统的原则 6.1群集与管理 所有关于群集的讨论必须包含对系统及管理网络的考虑。资源需求大,运行关键任务的企业级环境对群集很感兴趣,比如电视行业。因为它们不能承担意外停机造成的损失。服务器群集十分复杂,而复杂的技术又往往会引入许多人为的错误,因此系统应有网络资源管理、系统监测管理,并具有可以简化管理过程的工具。 把群集仅仅视为单一系统或把它仅仅视为分立的服务器,持这两种观点的系统和网络管理软件是不能胜任工作的。对服务器群集的有效管理需要集成上述两种观点,当我们观察群集上运行的一个应用程序时,需要单一系统观点;另一方面,当我们试图区分、定位一个出错部件时,又需要分立服务器观点。如果管理系统不能提供必须的监测及管理能力,那么服务器群集是不能在重要的应用环境中投入使用的。 6.2群集与成本 我们知道,并不是所有的服务器安装都需要或能支付得起群集提供的系统级冗余。因此我们需要对比一下是系统发生故障所造成的损失大,还是购买及管理一个群集系统的费用高,使配置从群集中获益。 图6-1: 服务器群集可用性等级 服务器系统用户对可用性有一系列要求:从最基本的每个服务器系统都具有一定级别的品质和可靠性,到最高级别------具有容错能力,即在任何情况下,服务器都能连续操作。(如图6-1所示)当一个服务器系统达到了最基本的品质与可靠性后,服务器制造商将会提供多种方法实现故障的自动恢复:其中包括数据备份,ecc内存,内存更新,不间断电源和服务器自动重启。如果想获得更高层次的可用性,就需要有一定的部件冗余,包括(ups)磁盘(raid),配置(asr), 双控制器,热插拔冗余电源。可用性的这三个等级只涉及到单插拔服务器的可靠性。只有这些方法被有效使用的前提下,用户才能尝试系统或应用程序级的冗余策略。 值得注意的是,顾客对可用性的级别要求得越高,系统成本就会越高。(如图6-2所示)。 尽管容错系统性能非常好,但同时也非常昂贵的。顾客必须清楚为达到高可用性,自己必须付出的代价。 当系统发生故障时,企业会遭受直接和间接的双重损失。举例来说,直接损失包括因订购丢失而失掉的收益;间接损失也许得包括当系统最终恢复时为处理订购而必须付出的加班费。这两个例子正好也是另外一种区分标准下的两类损失:与内部人员相关的损失(服务器停机时无事可作);一类是与外界客户相关的损失(失去业务)。必须考虑两种类型的损失。 图6-2:系统可用性层次 高可用性群集涉及计划内与计划外停机。例如,当系统管理员要进行备份或其它系统服务时,他可以把这一活动定在某个时间进行,对最终用户的损害要小得多。有时,系统处于运行状态,比如说计算机24x7,而系统管理员却要执行上述任务。在这种情况下,大多数群集系统允许管理员把关键任务转移到另外一个节点上,进行系统备份;而此时用户仍然可以使用应用程序。计划外停机被定义为无法预知的停机,比如系统挂起或硬件故障。群集软件将检查故障并把应用程序移到替换服务器上,对用户的影响减少到最小。一个非群集系统由于计划外、内停机所造成的损失,在进行群集方案评估时,也必须被引入考虑。 6.3服务与支持 在企业级环境中,为达到高可用性,仅仅正确选择软件、硬件是不够的。我们已经触及到了必须的一些与结构上的变化;其实能得到适当的咨询与支持同样十分重要。当系统已经建好并投入运行后,得到合理的服务十分关键;而在阶段就向专家进行咨询,则是获得长期成功的重要保证。 |