虚拟机蔓延罪魁祸首:免费虚拟机

日期: 2015-03-12 作者:Brian Kirsch翻译:王学强 来源:TechTarget中国 英文

尽管虚拟化技术实现了资源整合,但是即便再小的虚拟机也需要消耗系统资源;并且如果随意运行新的负载,那么也会对成本支出带来很大压力。 虚拟化技术的发展使得管理员可以在几分钟内创建一台新的服务器,这种前所未有的灵活性使得IT部门不但能够满足业务部门快速增长的需求,还可以帮助IT部门从之前的业务发展“障碍”转变为业务成功的推动者。但是,这种保证IT部门和业务需求协同发展的新技术可能导致某些意料之外的问题:IT部门会面临不同程度的虚拟化基础架构增长失控现象。 在虚拟化技术出现之前,IT部门使用一种十分明确的方式提供基础架构资源。

如果业务部门需要一台新的服务器来运行应用程序,则由IT部门进行购买,通常使用……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

尽管虚拟化技术实现了资源整合,但是即便再小的虚拟机也需要消耗系统资源;并且如果随意运行新的负载,那么也会对成本支出带来很大压力。

虚拟化技术的发展使得管理员可以在几分钟内创建一台新的服务器,这种前所未有的灵活性使得IT部门不但能够满足业务部门快速增长的需求,还可以帮助IT部门从之前的业务发展“障碍”转变为业务成功的推动者。但是,这种保证IT部门和业务需求协同发展的新技术可能导致某些意料之外的问题:IT部门会面临不同程度的虚拟化基础架构增长失控现象。

在虚拟化技术出现之前,IT部门使用一种十分明确的方式提供基础架构资源。如果业务部门需要一台新的服务器来运行应用程序,则由IT部门进行购买,通常使用业务部门预算或者项目预算。几个星期或者几个月之后,IT部门完成服务器的安装和部署,交付给业务部门。这种方式需要同时考虑时间和费用两个方面,因此IT员工需要加倍小心以确保设计和部署的顺利进行。

而当虚拟化技术出现之后,这种方式发生了很大变化——而新的方式在提高灵活性的同时也带来了一些麻烦——产生了“免费虚拟机”的谣言,并且导致了虚拟机蔓延问题。

如何分配虚拟机资源?


虚拟机蔓延问题主要表现为两种形式:虚拟机所需资源及其数量。

如果应用程序所有者可以在两个或四个CPU之间做出选择,那么很明显,  大多数人会选择后者。我们不能将这种现象的原因归结于人性的贪婪(尽管有时确实是这样),而是大多数人潜意识 当中都认为资源越多越好。对于计算机和计算机逻辑来说,更多通常代表着更好,这是一种我们已经根深蒂固的观念,不太可能在短时间内发生改变。

但是这些CPU和应用程序的性能表现究竟怎样呢?现在的监控工具可以提供更多的后台信息,为我们提供一个和Windows监控工具完全不同的角度。

由于我们的操作系统可以利用CPU多线程特性,因此很多应用程序在2颗CPU和16颗CPU上的性能表现并没有很大差异。传统的计算机逻辑宣称更多的CPU可以提供更好的性能表现,但是提前是软件必须能够利用这种多线程机制。一个大型、分布式的多线程应用程序需要很长时间进行编码,对于许多开发者来说,这样的代价太大了。因此CPU速度方面的限制以及CPU内核数量的不断增加导致应用程序并不能充分利用CPU内核。

内存和CPU略有不同,如果允许,应用程序将尽可能多地使用已分配内存,而不管需要与否。借助于这种内存预留机制,可以保证应用程序在需要时能够访问足够多的内存,你还可以查看哪些内存处于活跃状态。

虚拟化技术出现之前,管理员在操作系统或者应用程序当中很难看到哪些内存处于活动状态。而现在借助于硬件虚拟化技术,可以看到哪些内存已经被分配、用作缓存或者处于活动状态。通过这些额外的信息我们可以了解应用程序对于内存的依赖情况,实际内存使用率可能在40%到90%之间变化——根据应用程序、操作系统和配置而有所不同。所有这些意味着没有哪两台服务器是相同的,而正是虚拟化技术使得大家了解这种情况。

真实的资源使用情况表明“更多永远更好”的假设未必总是对的。随意分配服务器的硬件(或者虚拟硬件)资源不会产生更好的结果。现在像vFoglight和vCOPS这样的工具 ,可以显示虚拟机对于资源的真实利用情况以及多少基础架构资源被浪费。

免费虚拟机的谣言


虚拟化环境中的第二种蔓延类型是关于支持特定应用程序所需的虚拟机数量。

IT管理员和架构师在设计新的环境时都需要考虑一个默认的限制因素:成本。在配置服务器过程中也需要考虑实际预算问题,这种限制迫使IT部门在设计过程中综合考虑功能和成本因素。使用虚拟化技术可以避免这种限制,但是有可能导致虚拟机蔓延的第二种形式。

“虚拟机是免费的。”这种陈旧的观念基于一种误解:既然虚拟基础架构已经存在,那么分配一些虚拟机也不会产生任何开销。毕竟,这样只占用了总体资源中的“很小一部分”。这种逻辑还认为虚拟机请求者不需要分担整个基础架构开销。虚拟基础架构是系统总开销的一部分,不应该针对特定的部门进行收费。而更深的担忧在于一旦人们认为某种东西是免费的(或者以某种形式包含在现有环境当中),那么通常会过度使用甚至滥用。

“免费虚拟机”的概念从诞生之初就受到很多人的质疑。通过向用户和管理层展示虚拟化环境如何分配资源,Chargeback和showback工具被认为可以帮助解决这个问题。使用这些工具的部分挑战在于最初部署时的成本开销和复杂性。

另外一种障碍是如何利用系统产生的数据。比如,Chargeback工具可以显示哪些虚拟机使用了四个CPU、16GB内存和2TB硬盘,而哪些虚拟机只有一个CPU、4GB内存以及500GB硬盘。虽然通过为这些资源定义货币价值,你可以找到哪些虚拟机使用更多的资源,但是使用这些信息你能做些什么?是否真的能够控制虚拟机蔓延的趋势?

许多公司并没有内部chargeback系统,因此尝试分配一块共享环境是最大的挑战。这并不像购买新的电脑或者平板之后向各个部门收取费用那么简单——虚拟服务器上并没有资产标签。虽然可以详细统计一台自定义虚拟机的计算、网络和存储方面的开销,但是如果不使用专门的provisioning/chargeback系统,并且使用内部架构来支持chargeback模型,这会是一个十分艰巨的任务。

创建一个能够正常工作的chargeback生态系统十分困难——以至于很多企业干脆放弃部署。因此,基础架构仍然是一种共享的企业资源,而使用请求可能会变得难以管理。

翻译

王学强
王学强

TechTarget特邀编辑,毕业于计算机专业,现任职于外企IT分析师,负责网络、防火墙和服务器等系统运维工作,对虚拟化、网络安全和渗透测试拥有浓厚兴趣,工作外热爱旅行、汽车和健身。

相关推荐