KVM背靠Linux好乘凉
虚拟化是走向云的第一步,同理,开源虚拟化是走向开源云的第一步。云计算所提供的产品与方案都是围绕着IT资源的新交付与消费模式。云的形式多样,私有云、公有云与混合云,无论哪种云都具有三个关键特征:虚拟化、标准化与自动化。那么,KVM是什么?它能否满足企业对云的需求?
KVM是什么?
KVM(Kernel-based Virtual Machine)源自一家公司叫Qumranet。2008年9月,该公司被红帽收购后大力发展KVM的社区,目的在于增强底层架构功能,简化虚拟机管理。KVM是一个开源的系统虚拟化模块,它需要硬件支持,如Intel VT技术或者AMD V技术,是基于硬件的完全虚拟化。
KVM背靠Linux好乘凉

从上图可以看到,KVM是完全内置于Linux的开源hypervisor。它将Linux转换成虚拟机监控器。因此,KVM能利用Linux做大量hypervisor能做的事情,如任务调度、内存管理与硬件设备交互等。
事实上,自Linux 2.6.20之后,KVM就集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。红帽2011年发布RHEL 6后,完全抛弃开源Xen,支持KVM作为hypervisor。
KVM专注于成为最好的虚拟机监控器,创建的虚拟机能作为Linux处理器,当做子操作系统运行在Linux或Windows上。此外,通过使用另一个开源模块QEMU,提供虚拟机中的I/O设备仿真。
近年来,随着x86虚拟化流行,KVM能利用虚拟化扩展运行在x86处理器上。所以在虚拟x86处理器很得心应手。KVM价值在于能运行Linux或Windows虚拟机,由于其内置在Linu中,无需任何修改就能运行Linux应用。
IBM与KVM的渊源
在44年前,IBM为了更好地利用硬件,实现了大型机分区技术,也就是虚拟化技术。硬件支持对于虚拟化的采用至关重要。早在1967年,IBM System/360大型机上就实现了虚拟化,客户可同时运行多个应用提高硬件利用率。随着时间推移,这项技术也伴随着IBM大型机的发展进入了z/VM。这时也开发了新市场,将Linux移植到System z,z/VM就能让成百上千的Linux虚拟机同时运行在单台IBM主机上。
90年代,IBM将hypervisor带入Power系统,充分利用底层硬件。发展到现在,PowerVM能虚拟AIX、i/OS以及Linux操作系统。
让我们回到早期的x86服务器时代,那时英特尔和AMD还不能友好地支持虚拟化技术。VMware使用动态内存翻译技术,Xen使用Paravirtualization(半虚拟化)技术,修改操作系统以便进行虚拟。转机发生在2005年,英特尔和AMD为虚拟化添加了硬件支持,由此开启了x86 hypervisor新时代。
不久,KVM问世。它构建在Linux之内,并将其转换成一个成熟的hypervisor。KVM背靠Linux好乘凉,迅速发展壮大。
KVM引起了业界大佬们的兴趣。红帽与IBM开始投资这个开源新秀。2007年,KVM正式成为Linux的一部分。同年,红帽收购Qumranet及其专家资源。2009年,IBM大幅增加KVM工程投资。如今IBM有60位程序员专门工作在KVM开源社区上。
开源KVM的未来
四年多前,从KVM内置在Linux的那一刻起,就注定着它有不平凡的发展道路。KVM本身就是使用Linux企业的不二选择,加上它还支持Windows平台,所以也是异构环境的最佳选择。
近几年,随着红帽、IBM和其他厂商的投入,KVM已经成为一个企业级hypervisor。KVM特别之处在于将Linux转换成一个Type-1 hypervisor。所以无需任何变更就能享受现有的Linux内核进程调度、内存管理和设备支持。随着Linux持续发展,KVM也能受益于其成果。
2011年五月,IBM、红帽、英特尔等重量级厂商组成开放虚拟化联盟(OVA),致力于提升开源技术KVM的认知度与采用率。2011年11月,红帽、IBM、英特尔等厂商赞助成立了oVirt.org开源社区,旨在开发开源KVM管理与建立ISV生态系统。OVA从市场角度联合业界大厂商入手,oVirt社区从技术联合开发人员入手,为KVM的发展保驾护航。
如今的KVM提供了一个成熟的开源虚拟化平台,可以直接用于企业业务。KVM的时代已来临。
KVM背靠Linux好乘凉的更多相关文章
- kvm上的Linux虚拟机使用virtio磁盘
kvm上的Linux虚拟机使用virtio磁盘 系统:centos6.6 64位 网上的文章比较少,怎麽将Linux虚拟机的磁盘改为使用virtio磁盘 因为centos6或以上系统已经包含了vir ...
- CentOS7.1 KVM虚拟化之linux虚拟机安装(2)
一.上传ISO文件到/data/iso下 这里使用CentOS-5.5-i386-bin-DVD.iso 二.安装CentOS5.5 CentOS7.1 安装KVM虚拟机默认磁盘格式为qcow2(推荐 ...
- Centos7 搭建KVM并创建Linux Windows虚拟机
一.安装KVM 查看系统版本 cat /etc/redhat-release 关闭防火墙及selinux systemctl disable firewalld.service 查看防 ...
- kvm初体验——linux之kvm安装及使用qemu工具安装系统【转】
本文转载自:https://blog.csdn.net/Heimerdinger_Feng/article/details/79119445 一.安装虚拟机之前先升级软件仓库 sudo apt-get ...
- 关于Linux虚拟化技术KVM的科普
虚拟化技术应用越来越广泛,虚拟化技术需求越来越强劲.KVM.XEN.Docker等比较热门,尤其是KVM技术越来越受欢迎. 基于此背景,了解一下KVM+QEMU就有点必要了. 从网上收集了一些资料进行 ...
- KVM源代码解读:linux-3.17.4\include\linux\kvm_host.h
#ifndef __KVM_HOST_H #define __KVM_HOST_H /* * This work is licensed under the terms of the GNU GPL, ...
- centos7 通过kvm+vnc 实现远程桌面虚拟化和创建windows、Linux虚拟机
感谢朋友支持本博客.欢迎共同探讨交流,因为能力和时间有限.错误之处在所难免,欢迎指正! 假设转载.请保留作者信息. 博客地址:http://blog.csdn.net/qq_21398167 原博文地 ...
- Linux中安装配置KVM虚拟化
KVM 概述: KVM 即 Kernel-based Virtual Machine 基于内核的虚拟机. KVM,是一个开源的系统虚拟化模块,自 Linux 2.6.20 之后集成在 Linux 的各 ...
- Oracl Linux KVM虚拟机备份
Oracle Linux KVM 作为Oracle Linux的一部分,基于KVM的Oracle Linux 服务器虚拟化解决方案在功能上得到了增强.用户可以利用Oracle Linux旧版本,将操 ...
随机推荐
- 对Memcached使用的总结和使用场景
1.memcached是什么 Memcached 常被用来加速应用程序的处理,在这里,我们将着重于介绍将它部署于应用程序和环境中的最佳实践.这包括应该存储或不应存储哪些.如何处理数据的灵活分布以 及如 ...
- openfire+spark+smack实现即时通讯
近公司项目需要用到即时通讯功能,经过调研发现openfire+spark+smack可以实现.在网上找了很久,资料都十分有限,即使有些朋友实现了也说的不清不楚.于是决定自己研究,耗时一周的时间实现了文 ...
- [Codeforces673A]Bear and Game(水题,思路)
题目链接:http://codeforces.com/contest/673/problem/A 题意:一个人看一个90分钟的节目,然后告诉你一些有趣的时刻.这个人假如在15分钟内还没有看到有趣的时刻 ...
- sublime-text3插件安装
sublime-text3和sublime-text2一样安装插件前都需要先安装,Package control ,然而安装Package control的代码和sublime-text2又不相同.如 ...
- OLAP、OLTP的介绍和比较
OLTP与OLAP的介绍 数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing).联机分析处理OLAP(On-Line Analytical ...
- Jquery 弹出新窗体
开始先用css将这个DIV设好位置,并且隐藏 function winshow() { var winNode = $(".win"); winNode.show("sl ...
- BootStrap基本样式
文本对齐风格:.text-left:左对齐.text-center:居中对齐.text-right:右对齐.text-justify:两端对齐 取消列表符号:.list-unstyled内联列表:.l ...
- 编译pure-ftpd时提示错误Your MySQL client libraries aren't properly installed
如果出现类似configure: error: Your MySQL client libraries aren’t properly installed 的错误,请将mysql目录下的 includ ...
- 【转】setTag()/getTag()
原文网址:http://www.cnblogs.com/topcoderliu/archive/2011/06/07/2074419.html View中的setTag(Onbect)表示给View添 ...
- Linux 7 中Yum 配置 说明
在之前的Blog中写了Linux Yum 的配置方法,参考: Linux 平台下 YUM 源配置 手册 http://www.cndba.cn/account/article/details/154 ...