浅析KVM虚拟化 下载本文

内容发布更新时间 : 2024/7/2 0:47:37星期一 下面是文章的全部内容请认真阅读。

龙源期刊网 http://www.qikan.com.cn

浅析KVM虚拟化

作者:李慧颖

来源:《中国新通信》2015年第21期

【摘要】 在云计算技术日益发展的今天,虚拟化技术已经成为云计算的重要支撑技术之一,其特点是能快速进行资源整合,进而最大限度的对已整合资源进行分配。KVM虚拟化是基于Linux内核的开源虚拟机平台,是硬件虚拟化的扩展及QEMU的升级版,在很大程度上已取代Xen,成为Linux系统上创建和支持虚拟机的默认开源方案。本文将针对虚拟化技术中的KVM进行介绍,使读者对KVM有初步认识。 【关键字】 Linux内核 KVM虚拟化 半虚拟化

据报告分析早前70%的IT预算都花费在基础设施上,并且在许多情况下还会更糟。为了解决这个问题,目前的数据中心已普遍采用虚拟化技术解决各企业对于操作系统单一用途的部署需求而导致的服务器大规模增长。虚拟化技术既能将各企业的应用隔离开来,又能解决服务器超低利用率导致碳排放激增的问题,为企业节省了开销。 一、虚拟化技术

根据韦氏字典的解释,虚拟现实是“通过由电脑提供的感官刺激(例如视觉和听觉),使用户产生一种人工环境的体验,并且在这人工环境中,用户的行动部分地由该环境中所发生的事情所决定”。虚拟化正是这样做的:虚拟机软件在一台真正的物理系统上创建一个或多个虚拟工作站或服务器。磁盘空间、处理器性能、网络适配器及大量随机访问存储器(RAM)均取决于真正物理机上的资源。

如图1所示,一般的计算机模型可以抽象成为一定的物理资源和运行其上的计算机元件,它们之间通过定义好的物理资源接口进行交互。虚拟化层必须能够捕捉到计算机元件对物理资源的直接访问,并将其重新定向到虚拟资源池中。

龙源期刊网 http://www.qikan.com.cn

二、KVM虚拟化

KVM的全称是Kernel Virtual Machine,翻译成中文就是基于内核的虚拟机,是一个开源的虚拟化模块。 2.1 KVM的产生

KVM最早是由以色列的Qumranet公司开发的,后于2008年被Linux的发行版提供商Redhat收购,从而成为KVM开源项目的新主人,开始着手用KVM替换掉早前已经集成在系统中却由于其自身管理系统资源架构的问题引起内核开发人员不满的Xen。2010年后,RedHat在其新推出的Redhat Enterprise Linux 6.0 以后2.6.20以上版本的系统内核中集成了KVM虚拟机,摒弃了早前RHEL 5.X系列中集成的Xen。 2.2 KVM的特点

KVM是基于Linux内核的完全原生的全虚拟化解决方案。与半虚拟化(准虚拟化)不同,全虚拟化提供了完整的X86平台,包括处理器、磁盘空间、网络适配器及RAM等,其无须对客户机操作系统做任何修改便可运行已存在的基于X86平台下的操作系统和应用程序。 与Xen相比,其优势显而易见:1)KVM是开源平台,大幅降低了虚拟机的部署成本;2)KVM在内核2.6.20版之后,自动整合到Linux内核中;Xen所需的内核源代码补丁与特定的内核版本绑定,而且安装时需要大量的软件包,却仍然无法保证每个Xen的正常运行;3)

龙源期刊网 http://www.qikan.com.cn

Xen的虚拟机管理程序是一段单独的源代码,并提供一组专门的管理命令,不是所有Linux使用者都熟悉;KVM的命令行管理工具继承自QEMU,已经被Linux学习者广泛接受; 2.3 KVM的适用范围

作为开源虚拟化平台,KVM适用于规模较大的环境,如虚拟主机达到2500台以上的情况,旨在节约平台采购与部署的成本;规模在500台虚拟主机以下时,不妨使用商业平台,毕竟此时在稳定性与性价比上商业平台能达到平衡;当主机数目在两者之间时,不妨考虑以商用平台为主,开源平台为辅的方法更能很好的发挥二者的优势。 三、结论

目前KVM已经得到了相当广泛的支持,除了一线的商业Linux厂商的支持外,蓝色巨人IBM的鼎力支持也是KVM发展中不可或缺的一个环节。其完善了X86架构上进行虚拟的限制,并推出了多种KVM的虚拟化解决方案,意在迅速将虚拟化系统转化为私有云。不得不说,KVM已经很大程度上成为Linux系统上创建和支持虚拟机的默认开源方案,将Xen取而代之,成为未来能与Hype-V乃至VMware相抗衡的有力劲旅。 参 考 文 献

[1] Danielle Ruest等著 陈奋译.虚拟化技术指南[M].北京:机械工业出版社,2011.15-16 [2]任永杰等著.KVM虚拟化技术实战与原理解析[M].北京:机械工业出版社,2014.8-9 [3] William von Hagen. 使用 KVM 虚拟化技术[J/OL]. http://www.ibm.com/developerworks/cn/linux/l-using-kvm/,2015-8-22