李健虹
(天津中环创新科技有限公司 天津 300190)
虚拟化概念的提出应追溯到 20世纪 60年代,当时 IBM的工程师 Jim Rymarczyk首次在大型机上采用虚拟化技术,使不同的应用程序可以在一台大型机上同时运行。随着技术的不断发展,微型计算机以及价格经济的 x86服务器被广泛使用,虚拟化技术逐渐淡出人们的视野。20世纪90年代末,x86服务器和硬件的增加带来了新的问题:基础架构使用率低下(通常只有 10%~15%),电力成本上涨,管理成本激增以及安全保护不足等。为解决上述问题,针对x86系统的虚拟化技术应运而生,再次成为研究热点。虚拟化技术能够降低管理成本,提高系统使用率;实现资源的动态分配,满足终端用户复杂的需求;另外,虚拟化技术能够极大地提升系统安全性。因此,针对x86系统的虚拟化具有广阔的应用前景。
目前中等规模的服务器机房一般都有几十台服务器,分别部署着不同的应用系统,包括 Web服务器、数据库服务器、邮件服务器、文件共享服务器以及冗余备份服务器等。这些服务器的配置不同,性能也高低不一,只有很少部分是用于高速数据处理的小型机,其余大部分是PC类服务器。初期时,所有的业务系统都能高效正常运行,但随着业务系统的增加,PC服务器的数量也不断增加,逐渐出现部分业务系统运行效率降低,维护和管理成本急剧上升的问题。这些问题主要是因为有些业务系统在运行初期系统负载较小,随着时间的推移,业务在不断增加,但原有服务器的资源却没有相应增加,从而导致服务器负载太大,业务系统运行效率降低。与此同时,其他服务器资源利用率却很小,各服务器之间负载不均衡。另外随着服务器数量的增加,投入的硬件成本也在不断增加,由于不能集中管理,导致管理成本也急剧增加,因此高效整合服务器、动态调整资源、集中式地管理成为解决这些问题的关键,而服务器虚拟化正是解决这些问题的利器。
首先建立一套共享的存储系统,将企业数据集中存储在更加可靠的共享存储系统中,以保证数据的完整性和可靠性。其次利用虚拟化软件建立虚拟服务器环境,并将安装有关键应用的服务器实现 HA(高可用性)的连接,构建一个以共享存储为基础、以虚拟化为核心的服务器架构(见图1)。
目前主要有 SAN(存储区域网络)和 NAS(网络附加存储)两个主流的共享存储系统部署方式,本文采用 SAN部署方式。具体做法是,将光纤存储阵列产品通过高性能的光纤通道交换机相连,并采用光纤网络协议通信,这些连接基于固有的光纤通道和 SCSI(通过 SCSI到光纤通道转换器和网关),一个或更多的光纤通道交换机在主服务器与存储设备之间提供相互连接,确保连接的可靠和高效。
为了保证系统资源的负载均衡,可充分利用虚拟环境中虚拟机可动态迁移的特性,将由虚拟管理软件生成的虚拟主机文件存放在 SAN共享存储系统上。通过共享的 SAN存储系统,可以最大化地发挥虚拟架构的优势,当某个关键应用的服务器出现问题时可将虚拟机动态迁移到别的服务器,保证关键业务的连续性。VMWare的 DRS(Distributed Resource Scheduler,分布式资源调度)技术可以实现动态资源调度的自动化,当 DSR发现某个虚拟机的可用资源短缺时,会采用VMotion技术将这个虚拟机动态迁移到另一个可用资源充足的主机。另外,关键应用的备份也至关重要。
图1 服务器虚拟化系统架构图Fig.1 Architecture of the Server virtualization system
服务器虚拟化的目的之一就是提高应用程序的性能,因此性能是需要考虑的首要因素。这里不仅要考虑虚拟化产品自身的性能,还要考虑虚拟化技术对应用程序带来的影响。与直接部署在物理服务器上的应用程序相比,采用虚拟化架构的应用程序性能普遍下降 1%到 60%,因此不同虚拟化架构的产品对应用程序性能带来的损耗差异非常大,甚至相同虚拟化架构的不同产品都会有所不同。理论上,对虚拟化软件比虚拟化硬件带来的性能损耗要低得多。
除了性能,成本也是尤其需要考虑的因素。正如前面所讲,虚拟化产品通过分布式资源调度技术提高服务器的硬件利用率,最终降低了硬件成本。但除了硬件投入的成本外,服务器的管理操作产生的成本也不容忽视。服务器的管理包括应用程序和操作系统的安装、更新、备份、补丁升级等,一般的服务器集群,少则三、四十台服务器,多则上百台服务器,甚至更多,如果按照传统的管理方式,对这些服务器进行单独维护和管理,可想而知成本非常大,而采用虚拟化产品的管理工具就可以对这些服务器进行集中管理,包括集中更新、升级和备份等,也可以集中监控所有服务器资源,因此优秀的管理工具是虚拟化产品的杀手锏。
目前主流的虚拟化技术主要分为 3类:硬件虚拟化技术、并行虚拟化技术和操作系统虚拟化技术。其中前两种技术都是对服务器的硬件进行虚拟化,都支持在单台物理服务器上虚拟多个不同的操作系统,区别在于第 1种技术会带来较大的硬件损耗,而第 2种技术针对操作系统做了一些修改,降低了硬件损耗,但遗憾的是目前并没有成熟的商用产品。第3种技术是基于软件的虚拟化,它对硬件的损耗几乎可以忽略不计,因此具有较高的性价比,但是缺点就是单台物理服务器上只能虚拟一种操作系统,甚至有的虚拟化产品只支持固定的1种操作系统。另外 3种虚拟化技术对平台的支持程度也不同,前两种虚拟化技术的产品,需要考虑其是否支持服务器的CPU、内存、主板、硬盘以及显卡等所有硬件,有时还要考虑其对服务器某些硬件特性的支持程度,比如是否支持SMP和64位处理器,或者多路 CPU以及大内存等。第 3种是针对操作系统进行虚拟化,只要被虚拟的操作系统支持服务器的硬件,其就可以完美支持。
从服务器的利用率和性能损失来说,操作系统虚拟化是服务器整合的最有效方式,但是单台服务器上只能虚拟 1种操作系统,不够灵活。硬件虚拟化技术支持多种操作系统,但需要考虑物理服务器的硬件,各有利弊。总之,服务器虚拟化技术可以有效降低数据中心的硬件和管理成本,提高服务器的利用率,并且可以快速创建关键服务器,保证业务的连续性。因此,服务器虚拟化技术是系统资源负载不均衡、保证系统关键业务不间断运行的有效解决方案。■
[1] 温研,王怀民. 基于本地虚拟化技术的隔离执行模型研究[J]. 计算机学报,2008,31(10):1768-1779.
[2] 谭郁松,吴庆波. 虚拟化与操作系统辨析[J]. 计算机工程与科学,2011,33(4):62-68.
[3] 刘忠麟,肖利民,郝沁汾,等. 一种机群上的处理器虚拟化方法[J]. 北京航空航天大学学报,2009,35(5):627-630.
[4] 陈靖,黄聪会,孙璐,等. 应用虚拟化技术研究进展[J]. 空军工程大学学报(自然科学版),2013(6):58-62.
[5] 李琼,汪审权. SAN存储技术研究[J]. 计算机工程,2003,29(19):175-177.
[6] 陆琳琳,佟本尚. SAN存储技术概述[J]. 电脑知识与技术,2011,7(26):16-18.