服务器应用技术完全解析(上)

        在前面我们看到了服务器为什么有别于PC机,主要是因为他们的设计思想不同,具体的来看就是他们各部分所采用的部件技术是有很大区别的。了解这些技术细节也能方便我们在建设信息系统时选择服务器用。可是光是枯燥的将技术,容易让人昏昏欲睡,怎么办呢?还是从实际的案例入手来分析什么情况该采用何种技术来得更加直观明了。
    从2004年8月底至今,中网在线公司陆续采购了20多台服务器进行企业信息系统的建设。中网在线是一家致力于互联网的广告推广公司,主要是招商、医疗、教育、房产方面的业务发展,现在开展最好的就是网络广告的招商。
    中网信息系统主要有业务平台和企业内信息管理平台两大信息系统:
    1、 策划平台,建设以招商为内容的行业网站,为客户策划打造品牌,给客户提供服务。
    2、 技术平台,企业运行的业务支撑,需要空间、域名、程序、技术上的支持,即企业内信息化建设平台。
    公司信息化平台的建设,主要包括业务监控、数据备份、备用服务器以及做外地的镜像网站等方面的功能,公司采购服务器主要做Web应用和数据库应用,建设网站为客户提供服务,为业务运行提供支持。
    那么中网又是如何在众多的品牌服务器中选择合适的服务器呢?其实无外乎五个方面的衡量标准:R•A•S•U•M,即可靠性(Reliability)、可用性(Availability)、可扩展性(Scalability)、易用性(Usability)、可管理性(Manageability)。
    可靠、可用性
    在04年8月的一个周末,中网公司原来使用的服务器出现了故障,难以解决,而公司的业务运行正在进行,必须迅速切换到一台新的服务器,不然就会影响到公司业务的正常运行。为此中网公司副总夏曦龙迅速联系了几家服务器厂商,最终采购了一台浪潮服务器,并在周五晚上冒着大雨将紧急生产出来的服务器直接拉回了公司。其实服务器在设计、生产的过程中就考虑到了机器可靠和可用方面的问题。
    为了保证服务器在运行过程中遇到一般的问题都能“带病工作”或者“自动修复错误”而采取了大量的冗余、容错技术。
    为了保证服务器有一个优异的品质,在服务器的制造过程中有众多的关卡来控制产品的品质,包括:服务器产品的研发流程(调研、评审、认证、确认),服务器产品的测试流程(板卡测试、部件测试、系统测试、管理软件测试、电磁兼容测试、环境测试、噪音测试、跌落测试、应用测试)等。在经过严格测试之后出厂的机器一般能够保证较好的可靠性。
    在设计过程中,为了保证服务的不见断,一般服务器都采用了部件冗余技术、RAID技术、内存纠错技术和管理软件来对机器的日常工作进行“保驾护航”。
    1、 部件冗余技术
    服务器是由众多部件模块组成的,而通常情况下,故障会在一些特定的模块发生,比如电源等,为此很多服务器配备了双电源甚至多电源来进行备份冗余,当一个电源发生故障停止运转的时候,另一个电源仍然能够提供服务器正常运转所需要的能源。这就是部件冗余技术。
    2、 RAID技术
    RAID是Redundant Array of Inexpensive Disk首字母的缩写,是由美国加州大学伯克利分校的D.A. Patterson教授在1988年提出的,简单地讲,RAID技术就是利用多个硬盘的组合提供高效率及冗余的功能。
    过去,计算机系统只能向一个硬盘写信息,硬盘价格昂贵并且容易出现故障。这主要是因为硬盘是机械装置而其它的是电子系统,所以硬盘成为计算机系统中最薄弱的一环。由于硬盘驱动器包含大量的高速运转的机械部分。所以主要的问题不在于硬盘是否会出故障,而是何时出故障。采用RAID技术就是保护硬盘中的数据不因硬盘的物理损坏而丢失。
    RAID通过两种方法完成了冗余和容错功能:一种是分段(striping),另一种是奇偶校验。分段就是每次将文件以块的形式写到多个磁盘上。这种技术将数据分别写到多个驱动器上,提高了数据的传输速率和整个磁盘的交易次数。适用于事务处理系统。
    奇偶校验通过对传输的数据执行冗余检验,确保了数据的有效性。如果RAID系统中的一个磁盘出错,其它磁盘有能力重建出错磁盘上的数据。而所有的这些对操作系统来说都是透明的。由磁盘阵列控制器(DAC)进行控制。
    当前常用的几种RAID级别包括:RAID0、RAID1、RAID1E、RAID5等。
    3、 内存纠错技术
    内存纠错技术通常情况下是指服务器内存的ECC技术。ECC意思是“错误检查和更正”(Error Checking & Correcting)。奇偶校验(Parity)内存提供错误检查但不能更正错误。而ECC内存可以检测并更正1位内存错(98%的内存出错都是1位错),并且能检测出所有的2位内存错,但只能更正其中的一部分。甚至,ECC内存还能检测出3或4位内存错。使用了ECC内存的服务器将能避免绝大多数由内存错误引起的系统失效。64位的数据需要8个校验位,因此ECC内存上常有奇数个内存模块。
    普通的ECC内存纠错1位、发现2位错误,用于中低端服务器;多位ECC可纠正x位错误,发现2x位错误,用于高端服务器。Chipkill是一种ECC的算法,专门为单个内存芯片(颗粒)失效的情况设计。由于ECC的算法比较复杂,为了纠正一位的错误需要消耗一定的时间,结果是整个系统的性能越下降2-3%。但是由于这种内存在整个系统中比较稳定,所以仍被用于作为网络核心设备的服务器,是服务器24×7运行所必需的。浪潮英信系列服务器均采用了ECC DDRII内存来保证服务器的可靠运行。
  服务器高超的性能
    中网对服务器的要求有明显的特点。一是对硬盘的要求并不大,因为中网并不是内容提供商,只是服务提供商,所以服务器只用记录流量,对硬盘存储容量要求不高;二是对I/O响应速度高,技术平台要实时记录用户的点击次数和习惯,因此经常有数据存取发生,I/0速度必须快;三是CPU、内存要求高。因为网站流量大,要频繁计算输入输出,而数据不是立即写入硬盘的,需要暂驻内存加快处理速度,所以对CPU、内存相对要求比较高。所以中网采购的Web服务器都是双CPU的结构,这就与单处理器的个人电脑有本质的区别。服务器采用双处理器结构甚至4处理器结构,这种结构就是SMP架构(个人电脑所用的处理器不是这种架构所以只能单颗工作),而在内存方面采用了双路交叉存取技术和四路交叉存取技术。
    1、 处理器的SMP架构
    SMP对称多处理器结构(Symmetry MultiProcessors),也称共享存储器多处理器结构(Shared Memory Multi-Processors ),是紧密耦合多处理器结构。它通过高速总线实现处理器之间的互连,以共享内存。为了减少多个CPU同时访问同一个存储器模块而引起的访问冲突,可以采用多种方法,例如,在IA服务器中,每个处理器中都带有高速缓存(Cache),使CPU对主存的访问多数能命中Cache,减少访问内存的冲突。
    通过采用SMP技术,使一个作业分配到多个处理器中并行处理,从而提高了计算机系统的数据处理能力。提高了计算机系统的速率。大部分IA服务器生产厂商,如HP、DELL和以浪潮为首的国内生产厂商生产的都是对称多处理结构的服务器,在文章中我们提到的服务器也都是对称多处理结构的服务器。
    处理器缓存
    处理器缓存
    处理器缓存
    处理器缓存
    总线或交叉开关
    共享内存
    I/O桥
    网卡、硬盘、其他外设
    PCI总线
  2、 内存的交叉存取技术
    交叉存取(Inter-Leaving)是指一种并行操作的内存存取,内存被分为一系列的簇,有多少个簇就叫做几路交叉存取。它的原理类似于RAID0技术。在交叉存取方式中,内存是被分在不同的块中,只要读写操作是要在两个块中进行的,它们就可以同时进行,这样就可以提高带宽。
    以上我们从服务器的可靠性、可用性以及性能方面分析了企业在选购服务器过程中应该注意的细节问题,下次我们将从易用易管理和投资成本两方面来分析企业到底需要什么样的服务器。