新手入门:服务器应用技术解析(2)
可靠、可用性 在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内存上常有奇数个内存模块。
(编辑:ASP站长网) |