在过去几年中,由于技术的变化和快速增长的服务及资源需求,企业信息系统有了很大的改变。计算机资源的需求从未达到如此的高度。利用新的通信手段(如智能手机、社会化网络和即时消息),用户希望从任何地方,在任何时候都能立即访问信息。而且,公司管理层需要高水平的服务,在有限的预算条件下支持企业及业务需求。
1.1 虚拟化:IT变革的核心
IT经理面临对信息系统进行变革和现代化改造的巨大压力。为了满足日益增长的需求,同时控制成本,就必须实施服务器虚拟化。服务器虚拟化已经成为现代计算的基础,为云计算(cloud computing)铺平了道路。我们已经进入了一个新计算时代,曾经用于测试和开发的技术现在已经用在关键应用上。
在2012年,VMware vSphere 5是企业环境中部署得最多的服务器虚拟化解决方案。它已经成为生产环境中的标准。Microsoft、Citrix和Oracle也都提供了替代的方案,但是从硬件和软件上说,它们与数据中心的各个组成部分的集成度和兼容性都无法和VMware vSphere 5相比。
为了从VMware的许多优势中获益,IT团队必须理解这种技术和数据中心各个组成部分之间的相互作用。这些团队必须发展跨学科技能,并采纳利用该技术潜能和加速与数据中心集成所必需的方法学。虚拟化环境主要对系统管理员和网络、存储及安全团队产生影响。从早期就让这些成员加入,他们就能够支持这一项目而不是阻碍它的实施,他们必须具备自我培训的能力和改变传统方法的动力,这样的改变需要培训、网上信息和Web研讨会的支持。在项目的一些阶段,请求服务供应商分享他们的知识是很有帮助的。
这是重新思考工作流程和规程的一个机会。可以规划一次概念验证(Proof Of Concept,POC)来确定解决方案的功能特征,但是考虑到这一技术已经在各种活动和各类业务中证明了自己的成功,这一过程现在似乎已经没有意义。
管理团队也必须了解这一点,他们必须意识到与机构和工作流程相关的变化,以及项目成功所需要的投资。
有了这些支持,机构各个层面上的每个人都应该意识到与虚拟化相关的问题和深层次变化,以及公司由此得到的利益。
1.1.1 服务器虚拟化
服务器虚拟化是掩盖硬件设备物理资源的一个抽象层(abs traction layer),为系统提供与实际形式不同的资源。从本质上说,硬件资源是有限的。服务器虚拟化突破了这些限制,开启了一个具有潜力的新世界。服务器虚拟化并不是一个新概念,它是IBM在20世纪60年代为其大型主机系统创造的概念。在很长的时间内,它似乎是x86环境所无法采用的技术,但是VMware在1998年取得了成功。
VMware技术将整个x86服务器虚拟化为一个逻辑实体—虚拟机(virtual machine,VM)。如图1-1所示,低级别的虚拟化层次(称为虚拟化管理器hypervisor)可以在单个物理机器上运行多个操作系统。
图1-1 没有虚拟化,一台物理机器上只能运行一个操作系统, 而虚拟化允许在一台机器上同时使用多个操作系统
虚拟化管理器使得操作系统独立于所处的硬件,为在单台机器上整合各种基于服务器的服务带来了许多可能性。
1.1.2 采用服务器虚拟化的要素
后面几节将介绍在IT环境中采用服务器虚拟化应该考虑的因素。
1. 资源的浪费
在实体环境中,据估计有80%的数据中心服务器平均使用率低于10%。而从占地面积、耗能和散热方面来说,数据中心都将达到极限。这种浪费的根源在于许多公司都在运行单个应用程序的x86服务器上投入了大量资金。这使得物理服务器数量剧增,考虑到它们的实际使用,运行成本简直是天文数字。据估计,管理员花费大约70%的时间支持或者维护无法给公司带来任何价值的运营活动。
注意:与购买服务器的成本相比,管理、执行等间接成本和电力消耗成本已经成为巨额的费用,最多的时候,它们高达服务器初始成本的4倍。
维护服务器基础架构运行条件的高成本浪费了企业的资金,造成运营效率低下,不利于创新和管理新项目的能力。
与这种浪费对立的是,管理层向IT经理施加压力,要求他们在保证一定服务水平的同时,在相同(甚至更少)的IT预算下应对不断增加的请求量。虚拟化是满足这类需求,同时降低成本并且保持公司IT系统最新的一种方法。
2. 服务器虚拟化中的技术
服务器技术在过去几年有了很大的进步,已经具备了多核64位处理器和更大的内存管理能力。现在,在一个能够容纳几十个操作系统的服务器上安装单个操作系统显然是没有道理的。
虚拟化技术最大限度地利用了多核处理器,而且可以达到很高的整合水平。现在的服务器在性能上达到4年前的10至12倍。这大大地增强了与AIX、SUN和HP-UX等UNIX服务器竞争的能力。除了一些特殊的配置以外,SAP或者Oracle等策略性应用程序在虚拟化的x86环境中都能工作得很不错。
硬件中也已经集成了许多支持原生虚拟化的功能特性:
处理器通过Intel VT(虚拟技术Virtualization Technology)和AMD V(Virtulization)拥有了内置虚拟化功能。
存储设备制造商直接与VMware技术接口,从服务器接管某些与存储相关的任务(称作VAAI:vStorage APIs for Array Integration)。
诸如Cisco Nexus 1000V和最近的IBM DVS5000V等一些网络交换机能够简化这种环境中的网络管理。
从这几个例子可以看出,硬件和软件公司已经开始开发完全集成和利用虚拟化技术潜力的产品。
1.1.3 虚拟化环境规范
考虑了实施虚拟化环境的要素之后,你应该熟悉这种环境的基本规范。
1. 更改数据中心模型
用封装在文件中的虚拟实体代替物理服务器,这改变了数据中心当前的模型。在虚拟化之前,使用的是由许多小规模物理服务器组成的分布式模型。通过虚拟化,这种模型变成围绕单个服务器站点的集中化整合模型。存储成为支柱,为了部署虚拟机器,它必须提供高性能和数据安全解决方案。网络也起着关键的作用,因为一旦选择云计算模型,公司就完全依赖网络和互联网连通性。因此,网络带宽必须足够。
这一变革迫使企业重新定义目前的基础架构。
2. 虚拟机
在虚拟环境中,管理员管理的是虚拟机(Virtual Machine,VM)。VM包含了一个物理服务器的全部内容:操作系统(称作客户操作系统)、应用程序和数据。
至于基础架构,VM与物理服务器完全相同,不需要进行应用移植。管理员可以很精确地微调VM的大小。这种配置粒度使他们能够为VM提供所需的资源。
VM相互完全隔离(操作系统、注册表、应用程序和数据)。如果一个VM遭到病毒感染或者操作系统崩溃,不会危及其他VM。目前,VM之间的屏障还从未打破过。
VM的所有组件都包含在文件中,这称为封装(encapsulation)。封装简化了备份、复制、灾难恢复计划过程以及新环境的迁移,带来了很好的使用灵活性。
而且,VM完全独立于它们所在的硬件。在传统的物理环境中,操作系统与所安装的硬件紧密联系。(这种环境很庞大,要求每个服务器都需要有一个安装了特定驱动程序的主映像。)而在虚拟化环境中,虚拟化层总是为VM提供相同的虚拟硬件(图形卡、SCSI卡等),所以可以创建相同的VM而不需要考虑底层硬件。这减少了专用于每种类型硬件的多种主映像的创建,使大规模部署变得更加简单。
注意:许多公司在老的服务器上部署关键应用程序,对这些服务器的升级被无限延后的原因就是迁移的复杂性。利用虚拟化,这些服务器可以简单地转换为虚拟服务器,不需要重新安装操作系统或者应用程序。
3. 灵活性
灵活性是虚拟化环境的主要特征之一。VM可以从一台物理服务器以完全透明的方式转移到另一台服务器上。这减少了服务中断并简化了管理员在执行计划维护或者向新平台迁移时的日常管理。将负载分配给不繁忙的服务器也很容易。
4. 即时部署
虚拟化革新了传统服务器管理方法和服务器的运行。利用即时部署能力,新服务器能够在几分钟内投入使用,而在传统的物理环境中这可能要花费数周。这完全改变了时限性,使公司能够很快地适应与业务相关的变革,例如,合并、收购和新服务或者新计划的实施。特殊的需求能够很快满足,也能改进用户服务。
5. 将资源集中到群集
ESXi主机服务器能够聚集到称为群集(cluster)的实体中,这时的虚拟环境可以作为一个整体而不是单独的单元来管理。因为实体资源在群集中共享,可以获得高级的高可用性功能。在高活动率的时候,负载可以自动地在群集中所有服务器上共享。这简化了管理员的工作并保证了应用程序的服务水平。
6. 服务质量
为了保证每个VM都能访问所需的资源,可以实施服务质量(Quality of Service, QoS)。QoS可以在多个级别上设置—VM、ESXi主机服务器或者群集。
1.1.4 虚拟化的好处
服务器虚拟化提供了无法抗拒的直接好处,主要有:
成本降低:成本的降低是企业的主要关注点。虚拟化是降低CAPEX(资金支出)和OPEX(运营支出)的方法之一。数据中心内的服务器越少,意味着投资越低、维护成本越低、占地面积越小,电力消耗和散热的成本也越低。降低电力消耗和散热的成本是最根本的好处,因为这方面的费用最多可达基础架构硬件成本的3倍。而且,电费可能逐年增加,限制甚至降低电力消耗也就更加关键。
如图1-2所示,服务器虚拟化是降低数据中心电力消耗的一种方法。
2000~2010年间数据中心的电力消耗增长曲线在2006~2007年开始降低。在2000~2005年间,电力消耗翻了一番(从300亿千瓦时/年增长到600亿千瓦时/年),而在2005~2010年间,增长率只有56%,这种情况是由三个因素造成的:经济危机减缓了投资;数据中心的电力消耗得到了更好的控制;大规模采用虚拟化,从根本上减少了服务器的数量。
服务等级协议(SLA)的改进:利用vSphere 5的先进功能,可以非常简单地实现高可用性解决方案,同时又将管理员从耗时的群集解决方案中解放出来。而且,实现活动恢复计划和备份操作也比原来简单得多,这解决了过度狭窄的备份窗口以及相关的时间约束问题。
灵活性:虚拟化能够很轻松地适应增长的需求,不管这些需求是业务需求、与合并收购相关的企业需求还是用户需求。灵活性增强了反应能力和创新能力,因为任何项目必需的专用基础架构可以简单地建立,而不需要大量的投资。
图1-2 通过服务器虚拟化,数据中心电力消耗减少的情况(以上图形 摘自2011年8月Jonathan G. Koomey(斯坦福大学)的研究
操作效率:虚拟化的固有功能极大地简化了程序化维护操作、迁移的各个阶段和软件更新,而在物理环境中这些操作都极其耗费资源。
自动化:这使管理员可以解放出来,从事其他工作,并允许用户独立地使用资源,而不需要来自IT团队的帮助。自动化减少了不提供附加值的重复工作,对于成本的降低起到关键的作用。成本降低和信息系统自动化水平存在直接的联系。
用户:用户得到的益处最多,因为他们将IT当作一个服务消费,而不需要通过IT团队。
标准化:应用统一标准的能力更好地满足法规的要求,为日常运营提供更有效的过程。
但是,认为实现这一环境就能解决所有的问题也是个错误。在虚拟化展现出所有潜力之前,还需要经历多个阶段。