李洪亮 发表于:13年10月15日 16:47 [综述] DOIT.com.cn
信息化的快速发展及其单一应用的业务模式,导致X86 PC服务器在空间一定的机房内迅速增长,使得机房电力、制冷、空间容量等不堪重负,管理员每天都要面对繁重的维护任务,效率较低。因此,本文提出利用虚拟化技术解决上述问题。
1 X86 PC服务器存住的主要问题
大部分单一应用的X86 PC服务器资源利用率较低,CPU及内存利用率远小于50%,特别是应用系统采用微软群集技术的主备方式,一台服务器只有在另一台服务器发生故障时才会起作用,平时几乎处于空闲状态,不能作其它用途,资源浪费严重。除基于群集技术的应用外,只使用单台服务器,一旦硬件损坏,需要宕机并花费较长时间更换硬件,导致服务中断。服务器操作系统出现问题后,一般需要重新安装,并安装配置所有的应用程序,不能及时恢复服务,甚至出现数据丢失。
由于业务需求,每台服务器都有其各自的作用,不能相互交替使用,导致服务器数量较多,占用机房大量空间。运行时间较长的服务器,如果全部更新,成本比较高。而且,维护这些运行年限不同的服务器,需要投入大量的人力和物力,包括电力、制冷、网络端口以及网络存储需求等来进行维护以保证其稳定运行。
2 虚拟化概念及虚拟化技术概述
虚拟化是将服务器物理资源抽象成逻辑资源,让一台服务器变成多台相互隔离的虚拟服务器,不再受限于物理上的界限,而是让CPU、内存、磁盘、I/O等硬件变成可以动态管理的“资源池”,从而提高资源的利用率,简化系统管理,实现服务器整合,且多台安装虚拟化软件的物理服务器可以构建虚拟化群集,让IT对业务的变化更具适应力。虚拟化的好处是一批安装虚拟化软件的服务器,可以创建远多于物理服务器个数的虚拟操作系统,这些操作系统可以根据业务需求手工或自动分配资源,应用程序可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。而多台服务器构成的集群,会根据各个服务器资源的占用情况,自动把这些虚拟操作系统分配到各个服务器上,即使某一台物理主机出现硬件问题,也会把出现问题服务器上的虚拟操作系统自动转移到其它服务器上,保证业务的连续运行。
通过虚拟化软件虚拟出来的虚拟机可以是32位或64位的Windows,Linux等操作系统,且这些操作系统的各个版本都支持。有新的应用可以直接创建新的虚拟机,在虚拟环境上进行运行,不必购买新的服务器,节约成本。在对所有虚拟机进行备份后,如果虚拟机出现系统问题,可以进行即时还原,不需要重新安装。
通过大大减少X86 PcN务器的数量,提高服务器利用率的同时,保证了服务的高可用性,安全性、连续性,节省了运营成本。
3 利用VMware相关软件实现对X86 PC服务器虚拟化
在经过对各种虚拟化软件进行测试后,我们选定VMware相关产品实现虚拟化解决方案。其主要软件构成:
VMware vSphere4.1直接安装在物理服务器上,在其之上可以创建虚拟操作系统,多台安装该软件的物理服务器可构建群集,实现资源的动态分配和虚拟机在服务器之间、存储之间的迁移。
VMware vCenter控制管理软件,由其对虚拟机进行各种配置、管理,如群集配置、网络配置等。
vCenter Converter以vCenter中插件形式存在,可以将原有物理服务器转化成虚拟机。
VMware Data Recovery以vCenter中插件形式存在,对虚拟机进行备份恢复。
其物理拓扑图如图1:
图1 X86 PC服务器虚拟化物理拓扑图
根据VMware虚拟化体系结构,我们利用如下步骤进行对PC服务器进行虚拟化。
(1)为需要虚拟化的物理服务器安装Vsp—here4.1基础软件。
(2)安装配置VCenter,安装时选择数据库为Oracle数据库。
(3)根据业务的不同构建不同的数据中心、群集,并将安装VMware vSphere4.1物理服务器的主机添加到群集中。
(4)利用Converter插件将应用系统的操作系统及其各种软件直接转换到虚拟机中。
(5)根据应用系统的资源占用情况对虚拟机的CPU、内存、磁盘进行重新分配。创建资源池,将需要不同资源的虚拟机加入相应的资源池中。
(6)建立备份策略,对虚拟机进行备份。
(7)为各个应用系统建立用户,并赋予一定权限,让应用维护人员通过浏览器登陆vcenter,对虚拟机进行日常管理。
通过上述方法,对服务器进行了虚拟化,并将原来运行在服务器上的各个应用系统转换到虚拟机中,为充分利用现有服务器,可以在已经转换过的服务器上安装VMware vSphere4.1,并加入群集中。
4 虚拟化在实际生产中的应用
利用虚拟化解决方案,在郑州铁路局已经成功地实现了对车辆5T系统、站段18点统计系统、路局电子邮件系统、路局内部网站的虚拟化,取得了很好的效果,受到了业务部门的好评。
5 结束语
通过对X86 PC服务器虚拟化,整合服务器,我们大大减少了服务器数量,使服务器资源利用最大化。同时,保证了服务的安全性,可靠性、业务的连续性,降低了运行成本。