视频点播系统在我企业网Intranet上的应用环境:
骨干网为ATM、千兆位以太网和64K与2M DDN网的异构网络,局域网包括快速以太网、ATM直接到桌面,其拓扑结构如图1所示。
图1
视频服务器使用HP LH3 D7033A PII 450 128M M1 Array 32XCD ,磁盘阵列柜 Net Server Rack Storase/6口。视频磁盘总容量45G,10/100网卡和ATM155M双网卡。操作系统为Windows NT 4.0。视频服务器为Real Server,可同时支持40个视频流。
客户端使用联想PC奔月(Pentium 233支持MMX)。操作系统为Windows NT 4.0或Windows 98/95,支持DirectX 6。视频点播客户端为Real Player。
网络结构中的多媒体数据以实时数据流的形式传输。与传统的文件数据不同,多媒体数据流一旦开始传输,就必须以稳定的速率传送到桌面微机上,以保证其平滑地回放,视频、音频数据流都不能有停滞和间断;网络拥堵、CPU争用或I/O瓶颈都可能导致传送的延迟,引起数据流传输阻塞。应用实践中发现,当视频流数超过系统提供的并发流数时,视频服务器超负载,服务器性能监测CPU使用记录达99%,视频流出现延迟、中断,画面出现抖动、失真等现象,服务器有时宕机,无法进行正常的视频点播服务。
VOD系统是一个特殊的网络应用系统,它与一般门户网站Web应用不同,其最大的特点就是需要高速处理并发视频流数据。VOD系统对服务器I/O通道吞吐率要求是极为严格的,其数据流量是非常巨大的。VOD系统对于视频点播并发流的负载要求非常强大,单一服务器无法承担大量并发数据流的负载,想要合理解决这些问题,升级设备、改变拓扑并不是很有效,相对巧妙的方法是采用负载均衡技术,用多个设备共同完成任务。网络负载平衡对各台服务器之间的工作负载进行负载平衡,当一个服务器达到规定负载限度后,系统会将用户请求转发到另一个有负载能力的服务器,而这一切用户是感觉不到的。
VOD系统采用集群与负载均衡策略
1.VOD服务器集群高可用性、可伸缩性、可管理性
集群是由一组独立的计算机构成的系统,这些计算机协同工作,以运行一组公用的应用程序,并为客户和应用程序提供类似单机系统的功能。计算机在物理上通过电缆连接,在逻辑上通过集群软件连接。这些连接允许计算机实现一些诸如故障转移和负载平衡这样的问题解决功能。这对独立的计算机而言是不可能的。集群技术提供了高可用性、可伸缩性和可管理性功能。
高可用性:
故障转移、故障回复功能。故障回复能力是指当一个故障服务器重新回到联机状态时,能重新平衡该集群上的工作负载。产生故障时,集群系统可以实施故障转移。对资源的拥有(例如磁盘驱动器和IP地址)将自动从故障服务器迁移到其他的服务器中。
可伸缩性:
所有的VOD服务器都能处理自身的工作负载。这意味着集群中的每台计算机都可用于做实际工作,集群中的每台计算机也同样可用于恢复该集群中任何其他计算机的资源和工作负载,不需要为防止故障而另备一台多余的、闲置的服务器。
可管理性:
可以使用诸如VOD集群管理器来管理应用程序配置,控制和监视集群。VOD集群管理器可以用来管理集群对象,建立组,初始化故障转移,进行维护以及通过一个图形控制台监视集群活动。
2.VOD系统采用的负载均衡策略
网络的负载均衡是一种动态均衡技术,通过一些工具实时地分析数据包,掌握网络中的数据流量状况,把任务合理均衡地分配出去。目前许多负载均衡系统需要在服务器安装两块网卡,一块用于公共服务,另一块用于服务器间的相互通信。如果将负载均衡服务器设置成网关形式,数据传输的进出都要经过它,从而形成了新的“瓶颈”。这种形式的负载均衡系统对一般门户网站也许是适用的,门户网站的“瓶颈”往往是在服务器CPU的处理能力上,而对总线的I/O吞吐率没有太高要求。VOD系统则正相反,或许对服务器CPU处理能力没太高要求,而对总线的I/O吞吐率要求却十分苛刻。
因此,适用于VOD系统的负载均衡软件不能以牺牲系统I/O吞吐总量为代价。VOD系统采用的负载均衡策略通常有三种。
轮询均衡:
从服务器群组启动开始投入服务时起,每一次来自网络的请求依次分配给集群服务器中的具体服务器,从1到n,然后重新开始。 这种均衡策略适合于服务器群组中的所有服务器都有相同的配置并且平均Web访问时间相对均衡的情况。
最小连接数均衡:
在CLB软件系统中,对集群中的每1台服务器都有一个记数器,记录当前该服务器正在处理的进程数量,当有Internet的请求时,CLB总是将处理分配给当前连接数最少的服务器。 这样的策略同样适合在服务器的集群中,每1台服务器都有相同的配置,但与“轮询算法”比较,可以使负载更加均衡。因为每1次访问在Web停留的时间差异有可能是非常大的,因此,随着工作时间加长,每1台服务器上的进程可能会产生极大的差异,简单的轮询不能保证真正意义上的均衡。 而“最小连接数算法”则可以保证每一次访问请求都分配给当前处理进程最小的服务器,从而使均衡更加动态化,更加符合实际情况。
处理能力均衡:
上述两种均衡策略都是在假设所有集群服务器中的服务器配置相同情况下的负载均衡,没有考虑配置不同的情况。“处理能力均衡”算法,在系统Setup时,要求用户先给出每台服务器的配置情况,这里主要是指影响服务器处理能力的CPU型号、CPU数量和内存数量,然后系统将其换算成处理能力单位,CLB根据每台服务器的能力,均衡地将任务分配给服务器。 这个算法相对上述两种算法更加精确。
基于企业网的VOD视频服务器的集群负载平衡方案的实现
通过以上分析可知,在视频点播应用中,视频服务器必须具备处理大量并发访问服务的能力,其处理能力和I/O能力已经成为提供服务质量优劣的重要因素。负载均衡作为一种策略,能够让多台服务器或多条链路共同承担繁重的计算或I/O任务,从而以较低成本消除网络瓶颈,提高网络的灵活性和可靠性。在千节点的企业信息网中,信息并发流往往会达到上百个,这时需要两台以上的服务器进行协同工作,分布式处理。即将多台服务器建立集群系统,由专用负载均衡设备进行负载动态分配。这种方法的优点是便于管理,缺点是投资大。
1.集群系统硬件环境
采用四台联想万全4600R服务器建立了集群系统(其中两台设为域控制器),每台服务器配置为PIIIXEON1000/512M/10-100M网卡/视频磁盘容量40G。将它们都连接到Intel Express 510T Switch上,在Switch上通过1000M光纤接口连接到企业信息网的中心交换机上。服务器操作系统为Windows 2000 Advanced Server。
2.集群系统模式及应用程序的选用
通常,网络负载平衡可以对使用 TCP/IP 作为网络协议并与特定 TCP/IP 端口关联的任何应用程序或服务进行载量平衡。下面是一些示例:
在 TCP/IP 上的 HTTP :Web 服务器,如 Microsoft 的 Internet Information Services:端口 80。
在 TCP/IP 上的 HTTPS :在 SSL(安全套接字层)上的 HTTP,用于加密 Web 通信:端口 443。
在 TCP/IP 上的 FTP: FTP(文件传输协议):端口 20、端口 21 和端口 1024-65535。
在 TCP/IP 上的 TFTP: TFTP 服务器(由诸如 BOOTP 之类的程序使用):端口 69。
在 TCP/IP 上的 SMTP :SMTP(简单邮件传输协议):端口 25。
终端服务:端口 3389。
另外,网络载量平衡通常也和下列服务器一起使用:使用循环复用 DNS 的 Web 服务器、虚拟专用网络 (VPN) 服务器 、流式媒体服务器 。这里选用流式媒体服务器Windows Media应用程序同网络载量平衡一起使用。
网络载量平衡不支持混合的单播、多播环境。根据视频点播系统的实际需求,选用多播模式下的单网卡模型,该模型适用于集群中的主机之间的普通网络通信,但在其中只有有限的从集群子网外到特定集群主机的专用通信中,则只需要一个网卡。
3.集群系统主要参数的研究及设定
集群的主 IP 地址:该地址是虚拟 IP 地址,并且集群中的所有主机必须设置为一致。这个 IP 地址用于寻址整个集群,并且它应该是集群所指定的 Internet 全名的 IP 地址。因此,将4台服务器上共享同一虚拟IP地址,即主IP地址:10.65.10.156。
子网掩码:该参数表示指定 IP 地址的子网掩码。掩码以标准的 Internet 点分标记法键入,设定为255.255.255.0。
集群的完整 Internet 名称: 该参数指定了此网络载量平衡集群的 Internet 全名。这个名称作为一个整体应用于集群,并且对集群中的所有主机应该是一样的。在任何情况下,该名称都可通过 DNS 服务器或主机文件解析为集群的主 IP 地址。设定其对应的DNS域名(完整的Internet名)为:ds.ic.daqing.com。如果每个用户都点击它,它便会被自动输入,而集群IP地址就会与之相关联。该集群IP地址会在所有不同的集群结点中实现共享。
专用 IP 地址:该参数指定主机用于和集群没有关系的网络通信的惟一IP地址。这个 IP 地址用于区分集群中的每台主机,因此每台主机的 IP 地址必须惟一。 当一个网卡被同时用于处理客户到集群以及到这个专用 IP 地址的其他网络通信时,载量平衡就会引用此专用 IP 地址。网络载量平衡确保所有到该专用 IP 地址的通信不受网络载量平衡当前配置的影响。这里分别将4台服务器的专用IP地址设为10.65.10.121,10.65.10.122,10.65.10.123,10.65.10.124。
筛选模式:该参数指定集群中的多个主机针对相关端口规则处理网络通信。除容错功能外,还选用多主机模式。这种筛选模式通过在多个主机中分配网络负载调整性能,可指定在主机中均匀分配负载或为每台主机分配一定比例的负载。
负载比重:使用多主机筛选模式时,该参数指定了应由这台主机针对相应端口规则处理,而且已经过载量平衡的网络通信的百分比。选用均等这一负载分配参数,指定在针对相关端口规则的多主机筛选模式下主机承受载量平衡通信量的平均比例,达到所有主机负载均衡的目的。
基于企业信息网的VOD服务器的集群负载平衡方案性能分析
VOD网络负载平衡集群把多台VOD Server的服务器结合到单一的集群中,从而为基于TCP/IP的VOD视频点播服务提供了可伸缩性和高可用性。网络负载平衡集群在集群的VOD服务器中分配客户连接,由此来实现系统的高性能。通过在该信息网中进行的各种测试表明,该方案可自动检测和恢复故障或脱机的计算机;可完成定期的消息交换,即服务器在集群中定期交换多播和广播的消息,从而监视集群和每台服务器的状态;当集群的状态改变时,服务器交换消息确定一个新的集群稳定状态,确定主机优先级最高的服务器,也就是默认VOD主机。默认主机处理所有不受端口规则控制的网络通信量。在汇聚时,决定分担网络通信量处理的服务器的负载分配,在汇聚过程中,集群不中断地持续运行。它还具备计划内停机期间的可用性,在进行预防性维护时,可以将VOD服务器脱机而不会干扰集群的运行。因此,该VOD网络负载平衡集群能获得高可用性。
该方案可处理集群网络的意外分支和重新结合,集群设置发生变化时,可自动地重新平衡网络负载。将另一台IP地址为10.65.10.150联想万全服务器添加到该集群中后,系统在30秒内恢复和重新分配了工作负载。所以它可方便地添加VOD服务器以处理增加了的工作负载。在单个集群中最多可支持32台VOD服务器,对来自单个客户对多种VOD服务器的请求进行可选的负载平衡,完全的传输途径实现确保了VOD系统运行的高性能和低开销。因此,该VOD网络负载平衡集群具有良好的可伸缩性。
该方案使用端口管理规则来为单个IP端口或组端口指定负载平衡,这个管理规则为每台VOD服务器规定了工作负载,还可以启用客户会话的可选支持。可选的单主机规则能够把所有客户请求引导至单个主机,从而在不同程序间继续改善负载平衡。可阻塞不受欢迎的网络访问某个IP端口,并记录所有操作和VOD集群变化。在运行 VOD视频点播系统的计算机上使用外壳命令或脚本,可远程启动、停止和控制网络负载平衡操作。因此,该VOD网络负载平衡集群具有可管理性。
通过该集群负载平衡机制,当有较多的点播用户同时得到服务时,系统能够保证不会出现较大的延时抖动。将其中一台服务器停掉或者脱机进行升级、测试或维护时,集群将自动进行重新配置,客户连接也将重新分配。另外,在每个周期内,服务器使用的是批处理操作,这样使得网络资源冲突的概率大大减少。客户端有效的缓冲机制,也缓解了延时抖动现象。
文章转载地址:http://www.365master.com/kt_article_show.php?article_id=838&categ_code=10151002