游戏服务器可用性问题的简单分析

时间:2009-11-20   来源:   网友评论:0   人气: 345 作者:

作为信息化建设中硬件架构不可或缺的游戏服务器一直以来都备受关注,同时,游戏服务器的更新换代也在见证着世界领先科技的发展历程,不论是最初的16位处理,还是后来红极一时的32位处理器,甚至包括如今同时支持的32位、64位的处理器以及即将到来的纯64位处理器年代,游戏服务器虽然历经千变万化,但有一点一直是永恒不变的主题,那就是游戏服务器的可用性。一台游戏服务器如果连最基本的可用性都无法保障,它将无法登上时代的大舞台。

    究竟什么是游戏服务器的可用性?它包括哪些内容?为什么如此受到大家的关注?下面我们将一一作答。

    游戏服务器的可用性(Usability)其实就是要求游戏服务器具有高的可靠性、高稳定性、易于管理维护,不要时不时死机、出故障,尽量少出现停机待修现象。因为多数情况下游戏服务器是要求连续不间断工作的,所以它的性能稳定、可靠是非常重要,如果是普通的PC死机了重启,最多时会丢失一些本台电脑上的文档信息、少量的数据,不会造成巨大的经济损失。但是如果游戏服务器出现死机的情况,后果将不堪设想。因为许多重要的数据、资料、信息、记录都保存在游戏服务器上,尤其是许多网络服务都在游戏服务器上运行,一旦游戏服务器发生故障,将会造成大量数据丢失、许多重要业务停顿,如代理上网、安全验证、电子邮件服务等都将失效,如果是需要计费的网络,将无法提供准确的计费数据,不但无法实现安全运营,严重的将造成整个网络的瘫痪,其损失是难以估量的。而易于管理和维护就不必说了,对于非专业的用户而言能够用最简单的管理去维护网内的所有设备是他们很开心的事情。所以综上所述,高可靠性、高稳定性和易于管理维护是游戏服务器可用性的具体体现。

    但是仅仅提供了硬件不见得冗余是远远不够的,还需要一些硬件在线诊断技术的配合,才能使游戏服务器的可用性发挥至极致。比如热插拔技术,就是指有些部件可以在系统带电的情况下对部件进行插、拨操作。这非常重要,因为当我们发现一些部件已损坏,但因为提供了硬件冗余,所以系统仍能继续保持良好运行。我们需要把损坏的设备更换下来,如果没有热插拔技术,就必须关闭游戏服务器的电源才能进行,这样就会造成人为的游戏服务器停机。随意在航天联志的游戏服务器产品,绝大多数都采用了支持硬件热插拔的功能,比如在电源、硬盘、风扇、内存、网卡等。

    在这里我们还需要提到内存纠错技术----ChipKill内存技术,这是一种新的ECC内存保护标准。随着基于Intel处理器架构的游戏服务器的CPU性能在以几何级的倍数提高,而硬盘驱动器的性能同期只提高了5倍,因此为了获得足够的性能。游戏服务器需要大量的内存来临时保存在CPU上读取的数据,这样大的数据访问量就导致单一内存芯片上每次访问时通常要提供4(32位)或8(64位)比特以上的数据。一次性读取这么多数据,出现多位数据错误的可能性会大大地提高,而ECC又不能纠正双比特以上的错误,这样就很可能造成全部比特数据的丢失,系统就很快崩溃了。

     但是在游戏服务器的硬件架构的设计上如何来保障可用性呢?关键是要做到硬件冗余和硬件在线诊断技术。其中常见的硬件冗余包括:磁盘冗余、电源冗余和风扇冗余,另外还有一些RAM冗余、PCI适配器冗余和网卡冗余等;而硬件在线诊断技术则需要包括:热插拔技术、内存保护技术、内存检查和纠错技术、内存镜像技术、内存热添加/交换技术、活动PCI技术、活动诊断技术等。

    硬件冗余比较容易理解,就是对硬件的组成部件采用冗余备份的方式来保障因部分部件损坏引起的硬件系统的瘫痪,但是出于对设备成本考虑,所以不能做所有部件的冗余,一般都是对其中一些关键部件的冗余,比如说磁盘冗余技术,就是人们常说的RAID(磁盘阵列)技术,即:把多块独立的硬盘(物理硬盘)按不同方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据冗余的技术。在现在的游戏服务器产品中,基本上都采用了此项技术,支持RAID0、RAID1,使游戏服务器可以充分利用总线的带宽完成数据的操作,显著提高磁盘整体存取性能,最大限度的保证用户数据的可用性。同时现在的游戏服务器产品有些已经可以提供双电源和双风扇的冗余备份,还可以支持热插拔技术,这就给电源和风扇创造了一个轻松负荷的工作状态,减少了因电源或风扇的损坏而出现的系统内部问题,从根本上避免了游戏服务器的工作不稳定和停机。


 

文章评论