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