Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11601072
  • 博文数量: 8065
  • 博客积分: 10002
  • 博客等级: 中将
  • 技术积分: 96708
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-16 17:06
文章分类

全部博文(8065)

文章存档

2008年(8065)

分类: 服务器与存储

2008-12-28 11:43:06

   在上海浦东张江软件园,一间并不宽敞的办公室里,江玮一边全神贯注地盯着电脑屏幕,一边不停地敲打着键盘,桌上堆满了一摞密密麻麻的数据表格。作为BearingPoint (毕博)上海开发中心的高级IT经理,江玮正在负责一项极富挑战性的工作:他即将为毕博上海开发中心启动虚拟化项目,并在1-2年内将其融入覆盖毕博全球的虚拟化体系中。

“我们将在新加坡和美国建立两个同步的数据中心,采用虚拟化技术连接全球的IT基础架构。” 江玮向记者表示。

毕博的计划只不过是虚拟化浪潮的一个缩影罢了。从著名的Linux world 到Intel IDF,从微软收购Connectix到EMC吞并VMware,虚拟化这个早在40多年前就诞生于IBM大型主机上的技术近两年忽然烧起了一把火。市场调研机构Forrester Research的调查结果显示,全球1200名企业CIO中75%的人知道虚拟化技术,26%的人部署了这项技术,另有8%的人将在明年试验该技术。
对用户来说,虚拟化技术究竟意味着什么?如何规划实施路线图,把虚拟化应用落到实处?记者以毕博的案例为蓝本,总结了以下五步秘诀。

第一步:分析系统应用和管理的瓶颈

作为一家以服务客户为主的机构,毕博上海开发中心对内的应用非常简单,只有财务、 HR、OA等小型系统。但随着咨询业务的增长,公司的IT规模迅速扩张。目前,该开发中心有60多台服务器,这些服务器都是提供给客户做软件开发测试用的,上面跑着“千奇百怪”的应用。每当一个新case启动,项目经理就会向IT部门申请相应的设备,等到项目结束的时候再归还回来。

然而,这种“case by case”的应用模式让江玮很是头疼。随着项目的推进,客户对硬件升级的要求层出不穷,且极为琐碎:比如今天要升级CPU,明天要加硬盘,后天又说内存不够了,IT部门的员工为此忙得团团转;不少急于上马的项目需要使用新设备,可有时刚买进一台服务器,老设备就空出来了,很难做到新老项目同步切换;服务器的使用情况也很不一样,有的机器已经“超负荷”运转了,有的则闲置了大半资源。
“我们面临着应用和管理两方面的瓶颈,而这种瓶颈正是计算资源的不平衡利用和传统应用模式所带来的。” 江玮说,“在‘一对一’(一台服务器对应一个应用)的旧模式下,企业很难突破物理设备对应用部署的限制。有没有一种统一的管理方式,能让IT部门根据应用对计算的不同需求灵活调配资源呢?比如说,有些应用需要较强的运算能力,就给它配置主频更高或更多的CPU;如果某个应用很吃内存,只要分配更大的内存容量就行了”。

这正是“虚拟化”所要做的。通过虚拟技术,企业能够屏蔽掉IT设备物理属性的差异,把自身的计算能力封装成标准化的“资源池”,并用统一的方法去访问它们。例如,我们可以把10台物理服务器变成两台‘虚拟’的大服务器,也可以将每台物理服务器划分成若干个小虚拟机,运行若干个不同的应用。这样的话,所有的物理资源都可以按照逻辑来管理,实现资源对应用的‘按需分配’。我们就不会被项目牵着鼻子走了。
虚拟化是一种很有用的技术,但千万不要为了虚拟化而虚拟化。企业问自己的第一个问题是:我有虚拟化的需求吗?实施虚拟化无非有两个目的,一是省钱,二是省力。中国日报网技术总监封志谦认为,虚拟化的目标是实现系统集成和流程的整合,应用比较单一的企业就没必要实施虚拟化。“如果企业的IT基础架构和应用管理本身就比较简单,虚拟化非但不能带来成本的节省或管理的简化,还有可能会增加你的IT支出和应用环境的复杂度。”

不少企业对虚拟化技术敬而远之,因为CIO们担心一个篮子里放了太多的鸡蛋。北京统一石油化工有限公司CIO邵其永说,假如一台单一的服务器出故障了,只会影响某个应用;而如果运行着10台虚拟服务器的主机出了故障,造成的损失就更大。这种担心是可以理解的,不过也有相应的解决办法,我们可以尽量把关联度高的应用集中到一起。因为这些应用原来就是相互依赖的,单点部署并不会提高风险的概率。 此外,支持虚拟化技术的设备一般都有相对较高的可靠性和足够的冗余措施,如多节点配置。

第二步:详细盘点IT资源

有了虚拟化的朦胧想法之后,江玮开始全面的摸底调查。他逐一清点开发中心的服务器、网络、存储等基础设施,记录其工作负载情况,列出一张详细的数据汇总表;再找来各业务部门的负责人,请他们仔细填写调研表格,根据项目进展提出未来1-2年内对计算能力的需求。调研的内容还包括运行各种应用需要搭建的软件环境,如操作系统、数据库等等,以备日后参考。

这次摸底调查的结果让江玮大吃一惊:毕博上海开发中心的IT基础设施利用率差别悬殊,有些服务器的存储空间很富余,但CPU早已不堪重负;而有些服务器80%的CPU资源是闲置的,硬盘却濒临爆满。此外,开发中心现有的60多台服务器中有接近30%的机器已经太“古老”了,亟需升级或者淘汰。“如果按照传统的应用模式来计算,我们至少要再买25台服务器。”

接下来,江玮又根据业务经理填写的需求调研表推算出项目所需计算能力的总和,再与现有的全部计算资源(比如公司一共有多少个CPU?多少内存?多大的存储容量?……)相比较。这种计算方式的依据在于,虚拟化能够让IT基础设施的利用率得到充分释放,因此它们不再被看作一个个物理的设备,而可以切割成CPU、内存、硬盘、I/O等基础架构组件。随着应用需求的提高,IT部门只要往虚拟服务器里增加计算组件就可以了。“我们得出的结论是,如果能够对现有资源实施充分的虚拟化,只要购买10台服务器就能满足需求”。
在采用虚拟化技术之前,CIO必须先对企业的IT基础架构有一个全盘把握,这是一项基础但必要的准备工作。资源盘点的内容包括服务器的数量、内存、网络带宽、存储容量、以及各个设备的工作负载等等,以便得出一份详细的资源使用状况报告。上海通用IT总监陈颖剑表示,CIO需要充分考虑应用成长性,如现有应用负载的数据量会不会突然增长?未来多长时间内,企业将面临计算能力或存储的瓶颈?

CIO还需对企业规模和应用系统的特点有一个更全面的考量。江玮认为,虚拟化通常适合部署在中等规模的企业,因为小企业难以从整合中得到规模效益,而大企业由于机构庞大又很难全面落实;鉴于虚拟化的目的是推动IT架构从分散走向统一,企业原有的应用环境要“相对集成”,否则会提高部署的难度和风险;此外,企业最好有走向SOA(面向服务的架构)的计划,这将使虚拟化基础架构的弹性得到更大的发挥。

第三步:选择合适的虚拟化技术和方案

虚拟化技术有很多种,目前主要可以分为三大类:基于硬件的虚拟化(如HP的nPar)、基于Hypervisor技术的软件虚拟化(如 IBM的Micro-Partition)、以及基于操作系统的软件虚拟化(如Solaris Container);从架构的角度看,X86架构虚拟化市场最重要的厂商是VMware,它是首家虚拟出x86指令系统集的软件供应商;此外,一些开源厂商也在提供虚拟化技术,像OpenVZ、XenSource等。

据悉,毕博上海开发中心的服务器以X86架构为主,主要跑在两大OS平台上:UNIX和WINDOWS(两者的比例是5:5);此外还有少量Sun的机器,运行的是SPARC芯片和Solaris操作系统。由于硬件平台主要基于X86架构,对毕博来说,最合适的选择莫过于VMware,可是 VMware的虚拟机不能在SUN SPARC上运行;开源软件OpenVZ的虚拟化技术虽然能够实现对Sun 的支持,但该技术10月份才通过应用测试,成熟性还有待验证;此外,与VMware相比,OpenVZ会带来一定程度的性能下降。

经过仔细权衡,江玮决定采取分步式的方案:先用VMware的免费单机版软件VMware Workstation进行小范围的应用测试和部署,等系统环境成熟之后再全面实施正式的商业版VMware Infrastructure 3;同时运用OpenVZ的方案把Sun的系统整合起来,作为某些关键应用的备份平台。

新技术的选择取决于两点:企业对自身应用的了解和对技术的掌握程度。上海通用IT总监陈颖剑告诉记者,不要指望一下子就能找到“通吃”的工具。例如,上海通用采用硬分区和逻辑分区技术,把十几个外围的应用系统都集中到一台服务器上,而对部分生产采集系统的虚拟化整合则是通过VMware实现的。
他认为:对于测试和研发项目来说,因为研发人员需要使用许多不同的操作系统,这使得相关成本很难估计,较好的选择是硬件虚拟化;服务器合并通常发生在支持在线应用和数据的生产型服务器中,需要考虑的两个主要因素是处理损耗和服务器利用率。其中,较好的解决方案是操作系统虚拟化,因为操作系统虚拟化拥有更低的服务器损耗,因此能够显著提升服务器的利用率

第四步:全面评估 长期规划

尽管虚拟化能够提高服务器利用率,节省硬件投入,但其居高不下的软件成本还是令CIO们望而却步。据介绍,VMware Infrastructure 3是以CPU数量为标准收取软件授权费的,按照毕博的规模,光软件这块的支出就要几百万。“部署虚拟化项目划得来吗?”江玮有些犹豫了。
他想起了自己在贝塔斯曼工作时亲身经历的一个例子:贝塔斯曼荷兰数据中心原来有5台IBM AS400和17台PC 服务器,经过成本评估,他们毅然决定淘汰这5台维护费用高昂的旧主机,新买10台PC服务器实施虚拟化整合。“当时很多人都觉得用PC Server代替AS400是脑筋有问题,而且10台服务器+虚拟化软件的一次性投入也是很大的。但事实上贝塔斯曼用1年半时间就收回了成本。”

根据未来的IT预算及应用增长情况,江玮对虚拟化技术的总拥有成本(TCO)和投资回报率(ROI)进行了进一步核算。他把所有可能影响 ROI的因素(包括虚拟化的实施范围、硬件、软件、运维、管理、应用部署、人员培训以及灾难恢复成本等等)综合到一起,对整合前后的系统及应用进行全面评估和比较后,制订了分步实施的投资方案。“我们计划用两年时间实现基础架构的虚拟化,将应用逐步部署到新平台上。预计到2009年项目结束的时候,虚拟化方案的投资回报将是传统方案的1.8倍。”
 
在虚拟化项目中,技术的实施成本及投资回报(ROI)是困扰CIO的普遍问题之一。虚拟化实施需要衡量每种技术的总拥有成本,诸如硬件支出、软件许可、运维管理以及人员培训成本等。陈颖剑表示,虚拟化的成本效益一般体现在后期,比如运维管理、新应用部署、灾难恢复等环节。通常企业容易犯的错误是,由于预算紧张购买了比实际需求少的设备,结果后来往往需要花费更多的钱来升级系统。在这种情况下,最好是把整个项目延迟,而不要去搭建一个不够用的平台,否则将很可能招致失败。

第五步:选择切入时机循序渐进

毕博的虚拟化计划还面临着最后一个难题:如果全面部署虚拟化,怎样把尚处在开发测试中各种“千奇百怪”的应用移植到虚拟服务器上?等待他们的将是一个劳师动众的大工程。
江玮的实施思路是“避实就虚”,先确定一个虚拟化大框架,在符合这个大框架的前提下 “绕开”会与之产生冲突的环节,一步步的解决。具体措施是:①在空闲的服务器上先行部署虚拟化技术,对所有新启动的项目一律分配虚拟服务器资源,使虚拟化成为应用的标准环境;②把所有还在开发测试应用的服务器先摆在一边,等项目结束再一个一个部署,逐步纳入进来;③淘汰那些过于“古老”的服务器,节省下来的维护费用用于设备更新;④将少量性能强大但不支持虚拟化功能的服务器作为虚拟化框架的补充,如充当备份平台或提供给少数有特殊需求的应用。

“部署虚拟化一定不能过于追求完美,而且要有足够的耐性,”江玮说。
正确地计划虚拟化实施的时间步骤,对项目的成功非常关键。别期望一夜之间就实现整合,要充分计划并适当安排时机,以便应付所有可能的情况。企业最好将整合与另外的升级方案捆绑在一起,这样会获得最大化的价值。比如替换老的系统、一次以改进安全性或灾难恢复能力、存储简化等为目标的基础架构升级、压缩数据中心的物理占地空间等等。

对CIO的另一个建议是:尽量减少应用移植。许多用户发现最艰难的部分就是向虚拟数据中心的移植。“安装一台大服务器并在上面建立多个虚拟服务器是容易的,但要把应用从物理设备向虚拟层迁移则是一个费钱、费时、困难重重的过程。”恒荣国际CIO高宏飞说:“对中小企业而言,与其做应用移植还不如去开发一套新程序。这简直是个不可能完成的任务。”
阅读(944) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~