搭建合理的服务器系统架构,保障服务的持续和稳定

北京市东城区教育信息中心 关维

我们使用服务器的目的,是让它们能够为用户提供持续、稳定的服务。然而,服务器的系统是复杂的,如果想要高效率地管理好大量服务器,使它们能够达到我们的要求,搭建好一个稳定、高效的服务器系统架构是必不可少的。

笔者所在单位最初仅有2台服务器,但随着应用的扩展,服务器的数量也在增多,短短几年时间就已经增长到30台左右。由于服务器数量的增加,系统架构也在不断地改变,每一次改变都让我们有了新的认识。

一、独立的系统架构

在最初的时候,我们采用的是独立的系统架构,服务器之间没有任何联系,各自为政。这种架构的好处是比较简单。其中一台服务器出现问题,只会影响它上面的所有应用,对其他服务器没有影响。如果要恢复数据或者重新安装操作系统,也只需要恢复某一台就可以了,跟其他服务器没有关系。

但随着服务器的增加,这样的架构很快就出现了问题。例如,在为服务器添加用户的时候,如果希望这个用户能访问每一台服务器,那么就需要在每台服务器上都做一次“添加用户”的操作。而如果想修改这个用户的密码,也需要在每台服务器上进行一次,对系统的其他设置也存在着同样的问题。一、两台服务器还算简单,如果有十几台甚至几十台服务器,管理员的大量时间就都耗费在重复劳动上了。为此,我们决定更改服务器系统架构。

二、以Windows域为基础的系统架构

由于单位的服务器使用的全部是Microsoft Windows Server系统,因此决定采用基于Windows域的系统架构。这个架构的基本思路是建立一个组织结构(称为“域”),将所有服务器加入到这个域中,然后为这个域指定特定的管理服务器,进行统一管理。域中的管理服务器称为域控制器,其他的服务器称为成员服务器。

由于采用了统一管理的方式,Windows域架构很好地解决了独立架构所产生的问题,域控制器可以对所有成员服务器进行统一管理,包括设置系统参数、管理用户、安装软件等等。这时如果要增加一个用户,只需要在域控制器上做一次就可以了,所有的成员服务器都能够识别这个用户。

实施这种架构确实给我们带来了好处,降低了管理难度,提高了工作效率,但不久我们就发现,这种架构比较浪费服务器资源。

域控制器是整个Windows域的核心,如果它出现问题,那么域就无法正常运转,甚至完全崩溃。为此,我们为Windows域建立了多台域控制器,当其中一台出现问题时,另一台可以作为替补。由于单位里一共有2个Windows域,为了保险起见,我们为每个域配备了3台域控制器,这样一共有6台服务器用于维护Windows域架构。实际上,这些服务器平时并没有什么太大的作用,基本上都是空闲的,而为了保险起见,又不能用过于陈旧的服务器来担任域控制器,因此这样做很浪费服务器硬件资源。

为了解决这个问题,我们在所有域控制器上都安装了额外的服务,有些成员服务器上也安装了多个服务,用以提高服务器硬件的使用效率。这样的方案我们实施了很长时间,直到一次事件才发现了问题。一次,由于一台域控制器系统突然出现故障,几经周折也没有修复成功,最终只好重新安装操作系统。由于这台域控制器上还同时安装了DHCP服务(一种自动分配IP地址的服务)、防病毒管理服务以及系统补丁管理服务,因此在服务器出现问题时,所有的服务全部都停止了,这直接导致了全单位所有的计算机都无法上网和升级,而且持续了一段时间,给单位的正常工作造成了影响。这时候我们才意识到,这种把很多服务集中到一台服务器上的做法是不可取的,一旦服务器出现问题,就会造成多方面的影响,而且恢复起来也比较繁琐。

一方面是服务器的数量有限且使用效率低下,另一方面是众多的应用需要更多的服务器,在经过仔细权衡之后,我们决定采用虚拟化来解决矛盾。

三、基于虚拟化环境的系统架构

虚拟化技术的使用已经相当普遍,它允许在一台物理服务器上同时运行多台虚拟服务器,每台虚拟服务器再提供单一的服务,这样它们之间就不会互相干扰,保证了服务的稳定。采用这种方式还能够提高服务器硬件的利用效率,节省物理服务器的数量,减少各种开支。

我们的物理服务器是四核CPU加上16G内存的平台,采用Windows Server 2008的操作系统,使用自带的Hyper-V虚拟化平台,在上面建立了10台虚拟服务器,用途从域控制器到数据库服务器,根据每台服务器运行的服务不同,分别分配了512M、1G和2G的内存。服务器创建至今已经大约半年时间,运行速度比较满意,稳定性也非常不错。目前正在计划升级硬件以创建更多的虚拟服务器。

应用虚拟化技术的同时还带来了更多好处。例如:可以根据需要随时调整硬件配置,包括CPU数量、内存、硬盘、网卡等;服务器迁移更方便、更快捷,只需要将虚拟机文件复制到另一台物理服务器就可以了;可以随时将服务器系统恢复到某一时刻,甚至重建服务器系统也是非常简便的。

目前所采用的“以Windows域为基础、基于虚拟化环境的系统架构”,是经过我们总结了多次失败的经验教训并进行多次试验后得到的,是比较符合我们工作实际情况的系统架构。

虽然应用这个架构已经比较成熟了,但它依然存在着不足,其中最主要的是Windows域环境的不稳定所造成的。由于在域中的每台成员服务器都需要同域控制器通信,要经常验证用户身份、获取管理策略等等,因此Windows域架构在默认情况下就已经非常复杂了,出现问题的几率会成倍的增加。而在实际工作中,我们也经常会遇到类似情况。对于这些问题,我们会不断的完善系统架构,提供更加稳定的服务。