内容摘要:在升级服务器时,应当充分考虑服务器所扮演的角色。事实上,不同网络服务对服务器配置的要求是不同的。比如,Web服务器和代理服务器要求拥有较大的内存,对硬盘容量和CPU处理能力没有太高要求;FTP服务器和文件服务器要求拥有较大容量的硬盘和内存,对CPU的处理能力也没有较高要求;数据库服务器要求有较大的内存和较高的CPU处理能力,对硬盘容量要求不高,等等。

  在升级服务器时,应当充分考虑服务器所扮演的角色。事实上,不同网络服务对服务器配置的要求是不同的。比如,Web服务器和代理服务器要求拥有较大的内存,对硬盘容量和CPU处理能力没有太高要求;FTP服务器和文件服务器要求拥有较大容量的硬盘和内存,对CPU的处理能力也没有较高要求;数据库服务器要求有较大的内存和较高的CPU处理能力,对硬盘容量要求不高,等等。



  当对CPU处理能力要求较高时,应当考虑选择双CPU架构;当对硬盘容量要求较高时,应当考虑配置RAID阵列卡;当对内存要求较高时,应当提供1~2G的内存。



   如果服务器支持采用多CPU架构,并且没有插满所有的CPU插座,那么就可以通过简单地增加CPU的方式来提升服务器的处理性能。



  多CPU对称处理(SMP,Symmetric Multi-Processing)技术,是指在一个计算机上汇集了一组处理器(多CPU),各CPU之间共享内存子系统以及总线结构。虽然同时使用多个CPU,但是从管理的角度来看,它们的表现就像一台单机一样。随着网络应用水平的提高.只使用单个处理器确实已经很难满足实际应用的需求,此时,就必须借助对称多处理系统,为服务器插满CPU来解决这一矛盾。服务器中最常见的对称多处理系统通常采用2路、4路、6路或8路处理器。



  服务器通常使用新一代基于Pentium 4核心技术的至强(Xeon)处理器Foster。低端Foster称为Foster DP。DP就是Dual Processor的缩写,意思是支持双处理器。如果需要更多的处理器并行,就必须采用价格更高的Foster MP,MP也就是指支持多处理器 (Multi Processor)。MP系列还拥有最大4MB的全速三级缓存。根据二级和三级缓存的大小可以区分不同版本的Foster处理器,Foster DP将装备256KB二级缓存,Foster MP除了拥有二级缓存外,还装备有512KB或1MB的三级缓存。这样大的缓存会在某些多次使用同一数据的程序中有更好的性能,比如数据库。





  图1 支持2路CPU服务器主板


  因此,在为服务器选择新增配的CPU时,一定要注意服务器的不同架构和原有CPU的类型。另外,最好在一台服务器上选择使用同一型号、同一主频,甚至是同一批号的CPU,以保证CPU之间的兼容性。如果同时购置有多台服务器,可以让部分服务器全部使用旧CPU,而另一部分服务器则全部使用新CPU,以保证系统运行的稳定性。


  服务器究竟需要多大的内存呢?这与服务器的用途有关。目前,即使是最低档的入门级服务器,标准情况下配备的内存也在256MB以上;部门级服务器的内存应该在512MB以上;至于企业级服务器,则应该配备512MB或1G以上的内存。在实际应用中。我们推荐配置得更高一些,其中工作组级服务器应为512MB,部门级服务器应为1GB,而企业级服务器则应当在2GB以上。


  服务器使用的内存一般都是Registered ECC内存。“ECC”是“Error Check & Correct”(错误检查和更正)的缩写,是指带“错误检查和更正”功能的内存。ECC内存具有检查内存数据的功能,如果检查出错误,就会尽可能地自动修正错误。



  图2 ECC服务器内存


  升级服务器内存时,也应当注意与主板、原有内存的匹配。在同一台服务器上,应当尽量采用相同速率、相同容量甚至相同批号的内存。


   网络上经常有大量的用户同时访问服务器,要求服务器的I/O(输入/输出)性能要强大。SCSI技术、RAID技术、高速智能网卡、较大的内存扩充能力等都是提高IA架构服务器I/O能力的有效途径。


由于磁盘的存取速度跟不上CPU的处理速度.从而使磁盘成为提高服务器I/O能力的一个瓶颈。为解决计算机CPU的高速和磁盘的低速之间日益加剧的矛盾,1987年美国加利福尼亚大学伯克利分校的帕特森教授等人提出了RAID(Redundant Array of Independent Disks)的概念。其技术思想是:利用现有的小型廉价磁盘,把多个磁盘按一定的方法组成一个磁盘阵列,通过一些硬件技术和一系列的调度算法,使得整个磁盘阵列对用户来说,就像是在使用一个容量很大、而可靠性和速度非常高的大型磁盘。



  图3 SCSI RAID


  RAID有许多特点。首先,提高了存储容量,可以将多块硬盘组织起来,就像对一块硬盘那样进行读取操作;其次,多台磁盘驱动器可并行工作,提高了数据传输率,可以成倍地提高硬盘的数据读取速率,满足并发的数据访问请求;第三,由于有校验技术,提高了可靠性。对于RAID1和RAID5阵列而言,当有一块硬盘损坏时,利用其他盘可以重新恢复出损坏盘上原来的数据,而不影响系统的正常工作,并可以在带电状态下更换已损坏的硬盘(即热插拔功能),阵列控制器会自动把重组数据写入新盘,或写入热备份盘而将新盘用做新的热备份盘。另外,磁盘阵列通常配有冗余设备,如电源和风扇,以保证磁盘阵列的散热和系统的可靠性。目前,常用的RAID类型可分为RAID0、RAID1、RAID3、RAID5等。



  图4 SCSI硬盘


  通常情况下,IDE RAID和IDE硬盘价格便宜,但性能较差,因此,被用于廉价的工作组级服务器;SCSI、RAID和SCSI硬盘性能较高,但价格非常昂贵,所以,被用于部门级或企业级服务器。


提升每台服务器的性能当然是一种不错的选择,但是,将若干没有升级潜力的服务器有机地组织起来,借助负载均衡和服务器群集,来满足日益增长的网络需要,也是一种非常好的选择。事实上,采用多台性能较低的服务器,而不是全部安装在一台性能较高的服务器上,有些类似于“不把所有的鸡蛋装在一个篮子里”一样。


  群集技术工作原理:在一个群集中,有一个节点服务器充当群集管理者(Cluster Manager)的角色,它最先收到用户发来的请求,然后判断一下群集中哪个节点的负载最轻,就把这个请求发过去。群集中的所有节点都会在本地内存中开设缓冲区,这个缓冲区类似NUMA系统中的桥接板。当一个节点需要使用其它节点内存中的数据时,这些数据会通过网络先放入本地缓冲区。


  原因很简单,第一,由于是将网络服务分布在不同的服务器上,因此,即使其中某一台系统瘫痪,也不会影响其他的网络服务。相反,如果仅仅使用一台服务器,那么,系统瘫痪对企业网站的影响无疑将是致命的。第二,当多个网络服务请求同时发生时,多合计算机的同时处理各自的事件,显然要比在一合计算机执行多任务表现得更好。第三,多台性能较差服务器的总造价,往往比一台性能强劲的服务器更低。因此,如果对服务器的处理能力没有较高的要求,还是将网络服务分散到多台服务器上更为稳妥、经济。


  除了需要将不同的网络服务分配到不同的服务器外,还必须为一些重点服务设置负载均衡和群集,一方面可以分担过于集中的网络请求,减缓每台服务器的压力,为客户的请求提供快速和可靠的响应。另一方面,可实现服务器的故障冗余,以确保在一台或几台服务器发生故障时,仍然能够不间断地提供网络服务。