利用CaaS控制虚拟机蔓延

标签:
虚拟机蔓延caasit |
分类: 虚拟化 |
文/李飞
1. 虚拟机蔓延
1.1. 什么是虚拟机蔓延?
计算虚拟化技术将操作系统从运行它的底层硬件中抽离出来,并为操作系统及其应用程序提供标准化的虚拟硬件,从而使得多台虚拟机能够在一台或者多台共享处理器上同时独立运行。借助虚拟化技术,用户可以轻松将多台不同服务器的工作负载整合到更为可靠并且性能更高的硬件平台上。
http://www.h3c.com.cn/res/201206/12/20120612_1372474_image001_747533_30008_0.jpg图1 虚拟化的关键特性
基于固有的分区、隔离和封装等特性,虚拟机与物理服务器相比具有很多优势。(如图1所示)其特点包括:
- 虚拟机在标准的 x86 物理服务器上运行,可访问物理服务器的所有资源(如 CPU、内存、磁盘、网络设备和外围设备),因此任何应用程序都可以在虚拟机中运行;
- 虚拟机彼此完全隔离,从而实现安全的数据处理、网络连接和数据存储,可与其他虚拟机同时运行,从而充分利用硬件资源;
- 虚拟机镜像封装于文件之中,因此通过简单的文件复制便可实现部署、备份以及还原;
- 可迁移,可以便捷地将整个系统(包括虚拟硬件、操作系统和配置好的应用程序)在不同的物理服务器之间进行迁移,甚至还可以在虚拟机正在运行的情况下进行动态迁移;
- 可作为即插即用的虚拟工具(包含整套虚拟硬件、操作系统和配置好的应用程序)进行构建和分发,从而实现快速部署。
正是计算虚拟化的这些优势,计算虚拟化在企业IT系统中迅速得到普及应用,企业通过虚拟化技术整合服务器资源、提高硬件资源利用率、增加业务部署弹性,在能源消耗、成本消减以及效率提高等方面收益,虚拟机在全球范围内的部署数量也不断稳步提高,从图2中可以看出,2009年是计算虚拟化应用的拐点,虚拟机的数量开始反超硬件服务器的数量。
http://www.h3c.com.cn/res/201206/12/20120612_1372475_image002_747533_30008_0.jpg图2
虚拟机部署在全球的部署统计(Source:IDC)
虚拟化技术不仅消除大规模异构服务器的差异化,其形成的计算池可以具有超级的计算能力,在一个云计算中心物理服务器达到数万台是一个很正常的规模(如图3所示)。
http://www.h3c.com.cn/res/201206/12/20120612_1372476_image003_747533_30008_0.png图3 密集的虚拟机群
一台物理服务器上运行的虚拟机数量是动态变化的,一般是4到20,某些高密度的虚拟机可以达到100:1的虚拟比(即一台物理服务器上运行100个虚拟机),在当前CPU性能不断增强(主频提升、多核多路)、各种硬件虚拟化(CPU指令级虚拟化、内存虚拟化、桥片虚拟化、网卡虚拟化)的辅助下,物理服务器上运行的虚拟机数量会迅猛增加。一个大型IDC中运行数十万个虚拟机是可预见的。
总的来说,虚拟机创建起来越容易,数量就会越来越多,而想要回收计算资源或清理虚拟机的工作就会越来越难,这种不受控制的虚拟机繁殖被称为虚拟机蔓延(VM Sprawl)。虚拟机蔓延有以下几种表现形式。
1、幽灵虚拟机:许多虚拟机的创建没有经过合理的验证和审核,导致了不必要的虚拟机配置,或者由于业务需求,需要保留一定数量的冗余虚拟机,当这些虚拟机被弃用后,如果在虚拟机的生命周期管理上缺乏控制,随着时间的迁移,没有人知道这些虚拟机的创建原因,从而不敢删除、不敢回收,不得不任其消耗计算资源。
2. 僵尸虚拟机:许多虚拟机被停机了,但由于虚拟机生命周期管理流程的缺陷,相关的虚拟机镜像文件依然被保留在硬盘上,出于备份的考虑,甚至还可能保有多份副本,这些虚拟机资源大量占据着服务器的存储资源。
3、虚胖虚拟机:许多虚拟机被过度配置(过高的CPU、内存和存储容量等),而在实际部署后完全没有充分利用这些被分配的资源,长期占据CPU、内存和存储资源,形成浪费。
1.2. 虚拟机蔓延的后果
虚拟机蔓延意味着没有适当总量控制的虚拟机的创建和部署。一个节省成本的技术如果没有被很好的使用时,反而会增加使用成本。在数据中心里,虚拟机的蔓延会增加拥有虚拟机的总体成本,包括以下几个方面。
1、软件License成本
在软件的耗费成本因素中,License费用是最大的。并且虚拟机都需要操作系统和应用程序的License费用,通常情况下是按照单一CPU或者单一CPU内核来收费License费用。因此,无论虚拟机是否运行,只要部署安装,License费用都是需要支付的。
2、服务器及存储设备成本
企业用户在部署虚拟机时通常会采购多CPU、大内存的服务器,以满足不断增长的虚拟机数量。这些买来用于托管虚拟机的服务器的标准规格通常要比单机的X86服务器要高的多,托管多个虚拟服务器需要更多的中央处理器资源和更大的内存,这些都需要消耗更多的能源和产生更大的热量。
同时,每创建一个虚拟机都会生成对应的虚拟机image文件,这些文件通常尺寸不会太小(1~2GB的很常见)。随着虚拟机的创建,存储空间会快速的被消耗,如果考虑到备份需求,存储容量规划通常需要加倍增加。
当计算虚拟机的成本时,要包括针对这些虚拟机、映像以及备份的硬盘相关成本。
3、时间成本
虽然虚拟机在创建过程的时间被大大缩短,但企业用户依旧需要投入大量的时间到虚拟机的部署中:
(1)
(2)
2. 利用CaaS控制虚拟机蔓延
虚拟化部署不可避免,如何控制虚拟机蔓延呢?基本思路就是"开源节流":减少资源消耗、重复利用和回收资源。一方面从源头上控制,减少未经授权和过度配置的虚拟机数量;另一方面积极监控虚拟机使用情况,回收闲置及被弃用的虚拟机。
802.1Qbg标准提供了控制虚拟机网络接入的精细化解决方案,即在邻接物理交换机提出vPort的概念(如图4所示),类似物理交换机的网络端口,vPort这类逻辑虚接口可以实现和VM对应的vNic/VSI的1:1对应关系。
http://www.h3c.com.cn/res/201206/12/20120612_1372477_image004_747533_30008_0.jpg图4 802.1Qbg的vPort
同时,802.1Qbg的VDP特性解决了VM接入定位准确性的问题,即通过VDP通告,邻接物理交换机学习到连接接入的VM信息和对应的网络连接配置信息,并主动向网管系统请求对应的网络连接配置profile,减少了网管系统进行VM接入位置定位的步骤。
对系统管理员来讲,只需要关注网络提供的虚拟服务器到邻接交换机的连接;而对网络管理员而言,则只需要关注针对不同的应用系统(或VSI类型)应提供什么样的网络接入配置。这样在网络和服务器之间就产生了一种抽象的服务概念——连接即服务(CaaS,Connection as a service)。连接即服务的出现,不仅仅帮助完成了网络连接的资源化,同时为控制虚拟机蔓延提出了新的思路。
2.1.通过网络资源申请减少未经授权和过度配置的虚拟机数量
在数据中心环境中,为实现按需分配资源,需要计算、存储、网络资源的协同调度,才能完成服务/应用的创建部署。如图5所示,此过程中需要为服务(VM)分配:
1)
2)
3)
http://www.h3c.com.cn/res/201206/12/20120612_1372478_image005_747533_30008_0.jpg图5 网络资源分配
引入802.1Qbg后,虚拟机在创建时,需要申请网络资源vPort,即到邻接交换机的连接,才能接入网络,虚拟机和其申请到的网络资源一一对应,只要制定适当的策略,管理员不仅可以控制虚拟机的创建方式,还可以控制该虚拟机所消耗的资源量及资源消耗方式。若企业需要进一步对虚拟机进行管理,只需制定相应的策略,实现虚拟机审核流程自动化,从而避免创建多余的虚拟机,实现虚拟机蔓延的控制。
2.2.通过VM智能感知回收闲置及被弃用的虚拟机
对大部分资源回收方案来说,最耗费人力和时间的环节是识别和搜集可回收资源。虚拟基础架构资源回收也有着同样的问题。
对于数据中心部署的虚拟机来说,是否具备活动的网络流量是识别虚拟机是否在线的一种手段,因此通过监控虚拟机的网络流量来识别闲置虚拟机是管理员可借助的手段之一,同时辅助虚拟机CPU状态、内存活动、磁盘IO等信息综合判断并识别闲置虚拟机。
目前正在形成标准的802.1Qbg方案中,VM间的流量必须通过外部网桥进行交换。如图6所示,网络具有完全的流量可视性,只要网络流量分析管理软件(如H3C iMC管理组件)能够将触角延伸到VEPA外部网桥上即可。
http://www.h3c.com.cn/res/201206/12/20120612_1372480_image007_747533_30008_0.jpg图6 802.1Qbg网络流量模型
借助802.1Qbg标准,虚拟机的东西向流量以及南北向流量均可纳入可监控范围,同时通过H3C iMC的可视化流量监控,管理员可以初步判断闲置虚拟机(如图7所示)。
http://www.h3c.com.cn/res/201206/12/20120612_1372482_image009_747533_30008_0.jpg图7 H3C iMC流量监控
同时,H3C iMC网络管理软件已经可以提供虚拟机的CPU、内存、磁盘IO信息监控,如图8所示
http://www.h3c.com.cn/res/201206/12/20120612_1372483_image010_747533_30008_0.jpg图8 H3C iMC支持VM的CPU、内存、磁盘IO信息监控
综合以上手段识别闲置和被弃用的虚拟机后,企业可根据自身策略和管理要求,执行闲置虚拟机回收机制,为了提高回收流程的管理效率,企业需要一个自动化流程配置平台,借助它将已确认的非闲置虚拟机从闲置虚拟机报告列表中剔除,与用户确认该虚拟机是否需要保留,并将那些不需要保留的虚拟机所消耗的资源全部进行回收。
3. 结束语
基础架构虚拟化的投资回报是直接而且可量化的。对于企业来讲,通过虚拟化整合物理资源可获得很大的管理收益。然而,虚拟化基础架构的低利用率会造成相当高的资源浪费,从而导致虚拟化所带来的实际成本节约没有预期那么高。EVB(802.1Qbg)网络方案不仅仅实现的网络资源的虚拟化和池化,同时它也解决了虚拟机在网络中的精确定位和虚拟机流量监控问题,通过网络资源申请减少未经授权和过度配置的虚拟机数量以及通过VM智能感知回收闲置及被弃用的虚拟机,都是有效控制虚拟机蔓延的手段。