摘要:服务器的可管理性和可利用性
本篇要向大家介绍的是服务器的另两个重要特性--可管理性和可利用性。
一、服务器的可管理性
服务器的可管理性特性就是使得服务器具有非常高的可管理性能,可为用户提供十分方便、及时的网络管理。这其中就包括硬件和软件两方面,但主要是软件方面。下面分别予以介绍。
1. 服务器硬方件面的可管理性
在服务器硬件方面的可管理性方面,多数是在服务器主板上集成了各种传感器,用于检测服务器上的各种硬件设备,同时配合相应管理软件,可以远程监测服务器,从而使网络管理员对服务器系统进行及时有效的管理。如采用Intel的服务器主板的服务器,就有一种称之为ISC(Intel Server Control,Intel服务器控制)技术,它就是一种网络监控技术,不过只适用于使用Intel架构的带有集成管理功能主板的服务器。采用这种技术后,用户在一台普通的客户机上,就可以监测网络上所有使用Intel 主板的服务器,监控和判断服务器是否"健康"。一旦服务器中机箱、电源、风扇、内存、处理器、系统信息、温度、电压或第三方硬件中的任何一项出现错误,就会报警提示管理人员。值得一提的是,监测端和服务器端之间的网络可以是局域网也可以是广域网,可直接通过网络对服务器进行启动、关闭或重新置位,极大地方便了管理和维护工作。
EMP(Emergency Management Port,应急管理端口)技术也是一种服务器管理技术。EMP是服务器主板上所带的一个用于远程管理服务器的接口,远程控制机可以通过Modem与服务器相连,控制软件安装于控制机上。远程控制机通过EMP 控制界面对服务器进行打开或关闭服务器的电源、重新设置服务器(甚至包括主板BIOS和CMOS的参数)、监测服务器内部情况(如温度、电压、风扇情况等)。
2. 服务器方面的可管理性
服务器的可管理性主要体现在软件方面。在服务器的软件可管理性方面除了网络操作系统自身所具有的各种可管理性外,服务器厂商还可针对特定需求或者硬件结构设计开发特定的管理软件。为了说明服务器在软件系统方面的可管理性要求,下面介绍一款IBM在中、高档服务器中的服务器系统管理软件--IBM Director 。
IBM Director软件是一套非常适用于包括在IBM x系列服务器在内的功能非常强大的工具组合。在工业标准下,IBM Director是基于Intel环境下的服务器而设计的,它支持不同的操作系统,包括Windows系统、IBM OS/2系统、Novell的NetWare系统、Linux系统和SCO UnixWare系统。同时IBM Director又支持不同的工业标准,如DMI、CIM、WBEM、WMI、MPM、TCP/IP、IPX、SNA、NetBIOS、SLIP、XML和HTTP,以及其它标准。
IBM Director正在进行升级以使它支持企业级服务器X架构性能,它可以在节点与分区之间进行区分,所以系统硬件管理报警可以在节点和分区之间得到精确查出。
IBM Director由三个主要组成部分:服务管理、控制台和代理商管理,另加四个可选项,服务器扩展,如图1所示是IBM Director的控制台界面。
图1
IBM Director扩展服务通常被称之为生命周期工具。这些程序能扩展管理您的服务器整个生命周期中的硬件系统,帮助您有效地去配置、发展、管理和维护IBM x系列服务器。现在IBM Director的服务范围包括以下几个方面:
·Software Rejuvenation(软件恢复)
·Rack Manager(架构管理器)
·System Availability(系统实用性管理)
·Advanced Systems Management(先进的系统管理器)
·Capacity Manager(容量管理器)
·Cluster Manager(群集管理器)
·RAID Manager(虚拟管理器)
IBM Director在新的企业级X架构x系列服务器中升级增加了如下服务:
·系统分区管理器
系统分区管理器为建立隔离提供图形界面。这就允许系统管理员远程登录系统,在启动系统后对服务器进行详细地配置。系统分区管理器使用网络连接到系统管理处理器,在节点间建立关联。这种关联在当前数据库系统中是始终保持的,可以在任何时候通过图形界面调用和激活这种关联。它是整个用来管理正在运行分区管理组织的一部分,图2中显示的是一个早期版本的系统分区管理器。
图2
·活动PCI插槽管理器
活动PCI插槽管理器可以通过指导您安装最好的PCI和PCI-X适配器来对I/O性能进行优化。它也可以帮助您决定在您的服务器内或者远程输入/输出(Remote I/O)扩展单元中哪能些适配器最适合您的服务器。如图3所示是一款正在发展的终极版活动PCI插槽管理器。
图3
以上所介绍的是服务器厂商专门为服务器管理所开发的软件,其实许多管理性工作都在服务器操作系统中得到实现,如微软的Windows 2000 Server和Windows Server 2003中所具有各种服务和管理工具都可以实现对服务呖呖的各方面灵活管理,在此就不多介绍了。
二、服务器的可利用性(Availability)
服务器的可利用性能是从服务器的处理能力上来说的,因为服务器所负担的负荷都比较重,要面对整个网络,所以多数情况下我们讲服务器要求具有高的运算处理能力,处理效率要高。
在服务器的处理能力上各家开发、生产厂家专家们也是绞尽脑汁,想尽办法,目前最主要的技术是通过采用对称多处理技术和群集技术来实现的。其实这时所讲的这两个技术在前面的"可扩展性"特性方面也作了简述,那是因为所采用的这些措施是相互联系的,各种性能之间也没有一个必然的界线。
1. SMP(对称多处理器)技术
(SMP)技术的英文全称为"Symmetric Multi-Processing",是指在一个计算机上汇集了多个处理器(多CPU),各CPU之间共享内存子系统以及总线结构。虽然同时使用多个CPU,但是从管理的角度来看,它们的表现就像一台单机一样。但要注意的是,所用CPU必须是成对出现的,也就是必须是如2、4、6、8之类的双数,当然除单CPU的服务器外。
随着用户应用水平的提高,只使用单个的处理器确实已经很难满足实际应用的需求,因而各服务器厂商纷纷通过采用对称多处理系统来解决这一矛盾。PC服务器中最常见的对称多处理系统通常采用2路、4路、6路或8路处理器。目前UNIX服务器可支持最多106个CPU的系统,如Sun的Fire 15K。SMP系统中最关键的技术是如何更好地解决多个处理器的相互通讯和协调问题。如图4所示为一块支持双路CPU的服务器主板截图。
图4
目前在服务器中广泛采用的多处理(MP)系统有以下几种:
(1)非共享 MP(纯群集)
非共享MP是指每个处理器都是一个完全独立的机器,运行操作系统的一个副本。处理器之间没有共享的部分(每一个都有自己的内存,高速缓存和磁盘),但是它们是互联的。通过LAN连接时,处理器之间是松散耦合的。而通过转换器连接时,处理器之间是紧密耦合的。处理器之间的通信是通过消息传送来实现的。
这种多处理器系统的优点是它具有很好的可伸缩性和高可用性;而缺点则是该系统是一个不为人熟悉的编程模型(消息传送)。
(2)共享磁盘 MP
共享磁盘MP类型是处理器拥有自身的内存和高速缓存,处理器并行运行并共享磁盘。每个处理器都运行操作系统的一份副本,并且处理器之间是松散耦合的(通过 LAN 连接)。处理器之间的通信是通过信息传送实现的。
共享磁盘的优点是保留了熟悉的编程模型的一部分(磁盘数据是可寻址和连续的,而内存则不是),而且与共享内存的系统相比,这种系统更容易实现高可用性;缺点是由于在对共享数据进行物理和逻辑访问时存在瓶颈,它的可伸缩性受到限制。
(3)共享内存群集(SMC)
一个共享内存群集中的所有处理器有自己的资源(主存储器、磁盘和 I/0),并且每个处理器运行一份操作系统的副本。处理器之间是紧密耦合的(通过一个转换器连接),处理器之间的通信是通过共享内存实现的。
(4)共享内存 MP
共享内存MP类型是所有处理器通过一条高速总线或者一个转换器在同一机器中紧密耦合,处理器共享同样的全局内存、磁盘和 I/0 设备,只有一份操作系统的副本跨所有处理器运行,并且操作系统必须设计为能利用这种体系结构(多线程操作系统)。
SMP系统中最关键的技术是如何更好地解决多个处理器的相互通讯和协调问题。虽然系统同时使用多个CPU,但是从管理的角度来看,它们的表现就像一台单机-样。系统将任务队列对称地分布于多个CPU之上,从而大大地提高了整个系统的数据处理能力。
目前支持SMP的服务器主要是RISC架构和Intel的IA架构,AMD新推出的Opteron目前也可支持多达8路对称多处理器系统。
构建一套SMP系统的必要条件是:
·支持SMP的硬件,包括主板和CPU;
·支持SMP的系统平台,如Windows NT/2000 Server、Windows Server 2003、Linux以及其他Unix等32位操作系统;
·还需要有支持SMP的应用软件,才能发挥SMP的威力。
在CPU方面,要组建一个SMP系统,最关键的就是需要合适的CPU相配合。支持SMP是有许多必要条件的,不可能随便拿几颗CPU就凑成SMP系统。支持SMP的CPU必须满足以下几个条件:
(1)CPU必须内置APIC单元
Intel多处理规范的核心就是高级可编程中断控制器(Advanced Programmable Interrupt Controllers,缩写为APIC)。CPU通过彼此发送中断来完成它们之间的通信,通过给中断附加动作,不同的CPU可以在某种程度上彼此进行控制。每个支持SMP的CPU都必须有自己的APIC,否则将无法处理多CPU之间的中断协调。
(2)CPU的型号必须相同
SMP的CPU必须具有相同的产品型号和同样类型的CPU核心。虽然AMD Athlon XP和Intel Pentium 4各自都内置有APIC单元,想要让它们一起建立SMP系统是不可能的,因为它们的运行指令不完全相同,APIC的中断协调差异也很大。即使是Intel Celeron和Intel Pentium 4也不能一起建立SMP,甚至即使是相同核心但是产品批号不同的CPU,也可能会影响SMP的建立。
(3)运行频率要相同
SMP的CPU需要运行在完全相同的运行频率上。例如要建立双Pentium 4系统,必须使用两颗频率相同的Pentium 4 CPU,比如都是2GHz,而不能是一颗1.8GHz,另一颗2GHz,否则系统将无法正常使用。
(4)尽可能使用相同产品序列号的CPU
即使是同样核心的相同频率处理器,由于生产批次不同也会造成意想不到的问题。两个生产批次的CPU作为双处理器运行的时候,有可能会发生一颗CPU负担过高,而另一颗负担很少的情况,无法发挥最大性能,更糟糕的是可能导致死机,因此,应该尽可能选择同一批生产(即具有相同产品序列号)的CPU来组建SMP系统。
除了CPU外,服务器的主板也必须支持SMP,它是实现SMP诸多因素中仅次于CPU的因素。
首先主板要支持SMP,否则这么多的CPU插在哪儿呢?有的SMP主板支持两颗CPU,有的能够支持4颗CPU,还有的主板支持更多的CPU,但是支持SMP的主板的CPU插槽数量必须是偶数。
SMP主板并非只是增加几个CPU插槽,其中涉及非常复杂的多处理技术。SMP主板也需要I/O APIC来处理由I/O设备引起的中断。
另外服务器的操作系统也要支持SMP。
有了支持SMP的CPU和主板,并不等于万事大吉了。如果没有多处理器操作系统的支持,即使安装了多颗CPU和相应的主板,系统性能会跟装有1颗CPU的系统没有什么差别,原因就在于因为没有操作系统的支持。现在服务器操作系统一般都支持多CPU,比如Windows NT/2000 Server、Windows Server 2003、Linux以及其他Unix等32位服务器操作系统,而Windows 9x/Me等用于PC的操作系统是不支持多处理的。
在应用软件方面,如果要体现SMP的优越性,也就有必要支持SMP。
即使有了CPU、主板、操作系统的支持,但是如果没有针对SMP优化了的应用程序的支持,如PhotoShop、3D Studio MAX和AutoCAD等,SMP也不能自由发挥。只有针对SMP优化了的应用系统才能在SMP系统上大展身手,SMP可以显著提高经过优化了的应用软件的多任务和多线程性能。
说了这么些,您对SMP有了一定的了解了吧?在以上的讲解中,我们忽略了相当多的技术细节,因为对于一般读者来说,没有必要知道这些技术细节,了解SMP的一般原理和如何实现就足够了。
2.群集技术
服务器群集技术也是提高服务器性能的一项技术措施,它是近几年才兴起的一项高性能计算技术。一个服务器群集包含多台拥有共享数据存储空间的服务器,各服务器之间通过内部局域网进行相互通信。当其中一台服务器发生故障时,它所运行的应用程序将由其他的服务器自动接管。在大多数情况下,群集中所有的计算机都拥有一个共同的名称,群集系统内任意一台服务器都可被所有的网络用户所使用。服务器群集是将一组相互独立的计算机通过高速的通信网络而组成的一个单一的计算机系统,并以单一系统的模式加以管理。其出发点是提供高可靠性、可扩充性和抗灾难性。
群集技术工作原理:在一个群集中,有一个节点服务器充当群集管理者(Cluster Manager)的角色,它最先收到用户发来的请求,然后判断一下群集中哪个节点的负载最轻,就把这个请求发过去。群集中的所有节点都会在本地内存中开设缓冲区,这个缓冲区类似NUMA系统中的桥接板。当一个节点需要使用其它节点内存中的数据时,这些数据会通过网络先放入本地缓冲区。
群集系统的一个优点是容错性好,例如在两个街点的群集中,如果一个节点失效了,另一个节点可以通过检查缓冲区中的内容将失效节点的任务接管过去。目前最为流行的方式是用高速或超高速网络传输设备将几台服务器相连,实现并行处理,屏蔽单点失效。目前对群集技术需求最迫切、发展最快的领域主要有:www应用、数据库应用等商业计算领域。群集系统可以通过使用纯硬件的方式或使用软硬件结合的方式来搭建。
集群系统可以按照应用或结构进行分类。
(1)按应用目标可分为:面向科学计算型和面向关键任务应用型。
(2)按组成集群的处理机类型可分为:PC集群、工作站集群和SMP(对称多处理器)集群。
(3)按处理机操作系统可分为:Linux集群(如Beowulf)、Solaris集群(如Berkeley NOW)、NT集群(如HPVM)、AIX集群(如IBM SP2)、数字VMS(虚拟存储机)集群、HP-UX集群和微软Wolfpack集群。
(4)按处理器的配置可分为:
·同构型集群:所有节点拥有近似的构造和相同的操作系统;
·非同构型集群:所有节点拥有不同的构造和不同的操作系统。
(5)按处理机的位置和数量可分为:
·组集群:节点数量为2~99,通过SANs(系统级网络),如Myrinet,集群实际上装入一个机箱中或存在一个范围之内;
·部门集群:节点数量为几十或几百;
·企业集群:节点数量为几百。
(6)按构筑集群的方式可分为
·专用集群
·非专用集群:极高的性能价格比使专用集群深受欢迎
在群集系统中运行的服务器并不一定是高档产品,但服务器的群集却可以提供相当高性能的不停机服务,每一台服务器都可承担部分计算任务,并且由于群集了多台服务器的性能,因此,整体系统的计算能力将有所提高。同时,每台服务器还能承担一定的容错任务,当其中某台服务器出现故障时,系统可以在专用软件的支持下将这台服务器与系统隔离,并通过各服务器之间的负载转移机制实现新的负载平衡,同时向系统管理员发出报警信号。群集系统通过功能整合和故障过渡技术实现系统的高可用性和高可靠性,群集技术还能够提供相对低廉的总体拥有成本和强大灵活的系统扩充能力。