1、阳光四通广东电视台视频服务器系统扩容技术建议书1 概述获悉广东电视台计划将原来在 SeaChange MediaCluster 上播出的 3 个电视频道扩展为 4 个频道。 SeaChange 公司特地就本次扩容提出我们的技术方案。在本建议书中还包括对原来系统配置模式的改进意见,以及对这两种配置模式在性能、容错性等方面的分析比较。最后,我们将提出 SeaChange MediaCluster 系统对自动播控软件的要求和建议。2 系统扩容解决方案我们建议在两个 MediaCluster 集群中各添加一个节点和相应的编解码器来实现频道的增加。同时利用这个机会对原来的配置模式进行调整,扩容调整后的系
2、统架构如图 1 所示:BMC 1#频道1_主 频道2_主BMC 2#频道1_备 频道2_备 频道3_主 频道4_主 频道3_备 频道4_备图 1图中左边的集群 1 作为频道 1、频道 2 的节目主播集群,右边的集群 2 作为频道 3、频道 4 的节目主播集群;每个频道的主播解码器与备份输出解码器放置在同一集群中不同的节点上;这样,当集群内任一解码器甚至某一服务器节点发生故障时,集群的播出工作不会中断,储存的节目内容也不会丢失(亦即, 容许单节点故障 )。原则上由集群 1 存储频道 1、2 的节目内容,集群 2 存储频道3、 4 的内容。为进一步提高系统的冗余性,满足贵台提出的 两节点容错 ,可
3、以在节目正常播出的同时以后台拷贝的方式来在两个集群间彼此镜像对方的部分或全部节目内容。这样,如果在某集群中同时发生 2 节点的故障,节目可在另一集群上备份编码器上继续播出(需自动播控软件支持)。理论上,通过在原 3 节点集群上增加编解码器的方式也能够实现播出频道数的增加。但是考虑到贵台的系统当前的完全镜像配置以及将来的扩展(例如将使用 50Mbps 码率的编解码卡、在系统中添加磁带库)。通过增加节点可以为将来的扩展提供更加充裕的带宽,为整个系统带来的更大的可扩展性、可靠性和冗余性。因此我们建议采取该方式扩容。3 系统性能比较与贵台原来的系统配置模式相比,本次建议的配置方式会带来一些显著的改善,
4、因为它符合 SeaChange MediaCluster 的“单一内容拷贝”的设计思想。 BMC 1# BMC 2#频道1_主 频道2_主 频道3_主 频道1_备 频道2_备 频道3_备图 2原来的配置方式(见图 2)是将两个 MediaCluster 作为互为镜像的主播、备播集群使用。由于每个频道的主、备解码器置于不同的集群上,解码器的自动故障恢复无法在单一集群内实现。因此节目内容在播出之前必须通过外部网络完全拷贝到备份集群;否则,如果在拷贝工作完成之前主播集群中任意一块解码器发生故障,由于此时备份集群尚未存储该频道的节目内容,将导致该频道的节目播出中断。这种“先镜像、后播出”的方式耗时较多
5、,使操作人员感到不便。而实际上,造成上述问题的原因在于该种配置方式未能充分利用 SeaChange 特有的 RAID技术的优越性。由于该技术同时在 节点内 以及 节点间 两个层次上对存储的数据进行带校验的条带化,内容在上载后就已具有很好的冗余性,得到了相当于磁盘镜像的保护。因此,按照本次建议的配置方式,内容一旦上载,即使发生整个节点的故障,也不会中断频道节目的播出。这就允许备份工作根据需要灵活地进行,从而提高工作效率。如果在两个集群上进行内容镜像,可以进一步提高系统的冗余性。若某集群中同时有 2 个节点发生故障(SeaChange 的产品目前还没有发生过这种情况),可以进行跨集群的故障恢复-用
6、另一集群上的备份频道解码器接替播出工作。由此可见,配置得当的SeaChange 系统可以提供极高的可用性。播出频道的分散配置带来的另一个好处在于,绝大多数情况下故障以及对该故障的恢复机制都被限制在较小的范围(单个集群)内,这种体系显然具有更高的可靠性。4 对播控软件的要求和建议根据对贵台自动播控软件和 SeaChange 系统实际运行过程的观察,我们希望自动播控软件能够具备以下功能:动态优化集群间复制过程SeaChange MediaCluster 集群的分布式文件系统允许从集群内任意节点或节点集上进行内容数据传输。在原来的集群间内容复制过程中,我们注意到播控软件系根据内容所属的频道来确定执行
7、该拷贝工作的节点(例如,珠江 1 台的节目通过节点 1 拷贝、珠江 2台的节目通过节点 2 拷贝 )。这种固定的映射方式没有考虑到系统的负载均衡,可能导致系统中的某些节点负载过重,而其他节点的资源却得不到充分利用;前一种情况下,服务器可能表现为系统资源占用率非常高,系统的响应速度变得很慢。建议贵台与播控软件提供商协商,修改相关的软件代码,使系统按照以下原则来安排拷贝工作:首先,软件察看每个节点(包括拷贝过程的源节点和目的节点)的工作负载情况,优先选择空闲的节点来执行后台拷贝工作;其次,如果所有节点均不空闲,则根据系统数据库中的记录,根据文件长度、系统带宽等因素预先估计出拷贝工作将要消耗的时间长
8、度,将拷贝工作量分配在将会最先完成工作的节点上。跨集群自动故障恢复在 MediaCluster 集群中,单个节点发生故障不会造成播出中断和内容丢失(无单点故障);如果某集群中同时出现 2 个或以上的服务器节点故障,本次配置的系统可以进行跨集群的故障恢复(容许两节点故障);例如,集群 2 关闭时可以用集群 1 上 的频道1、 2 备用解码器播放频道 3 和频道 4 的节目。该功能的实现需要得到自动播控软件的支持。基于 IP 的同步传输 -播出功能该功能可以满足某些特殊情况下的需求。在图 1 的例子中,若要紧急使用频道 3、4 来播放频道 1、2 的内容,而该内容并未存储在集群 2 中;SeaChange 系统可以用一种“边传输、边播出”的方式来解决这个问题,让内容拷贝与播出同步进行(在北京台已经使用了上述功能,拷贝工作开始 3 秒钟后即可进行同步播出)。播控软件通过可以调用 SeaChange 系统的底层 API 实现该功能,SeaChange 已向所有合作伙伴开放该接口。