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旧版本,将操 ...
随机推荐
- C++:对象的赋值和复制
3.6.1 对象赋值语句 如同基本类型赋值语句一样,同类型的对象之间也可以进行赋值,即一个对象的值可以赋给另一个对象.这里所指的对象的赋值是指对其中的数据成员赋值,而不对成员函数赋值.例如:A和B是同 ...
- renameTo()方法的用法
使用renameTo()方法,可以将文件data.txt从C:\JavaApp\IOTest1\目录移动到C:\目录,并改名为newdata.txt import java.io.File; //将文 ...
- 数据抓取的艺术(一):Selenium+Phantomjs数据抓取环境配置
数据抓取的艺术(一):Selenium+Phantomjs数据抓取环境配置 2013-05-15 15:08:14 分类: Python/Ruby 数据抓取是一门艺术,和其他软件不同,世界上 ...
- Maven找不到java编译器的问题
当使用mvn package打包项目的时候,抛出下面这个错误: [ERROR] Unable to locate the Javac Compiler in: D:\jdk\..\lib\tools. ...
- C#基础(四)
语句 到目前为止,我们的程序还只能按照编写的顺序执行,中途不能发生任何变化 ...
- 今日思考:MVC系列框架之Struts存在的意义是什么?
Struts其实就是MVC的代名词,那么提到MVC就不得不提早期的ModelⅠ.那时候JSP页面中混杂了大量的JAVA Scriptlet脚本语句,为了可维护性考虑,有人提出了ModelⅡ,也即现在的 ...
- Docker实例教程[超详细](一)
Docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互 ...
- 分布式ActiveMQ集群
分布式ActiveMQ集群的部署配置细节: 官方资料:http://activemq.apache.org/clustering.html 基本上看这个就足够了,本文就不具体分析配置文件了. 1.Qu ...
- Difference between 2>&-, 2>/dev/null, |&, &>/dev/null and >/dev/null 2>&1
Reference link: http://unix.stackexchange.com/questions/70963/difference-between-2-2-dev-null-dev-nu ...
- poj 3368 Frequent values(RMQ)
题目:http://poj.org/problem?id=3368 题意:给定n个数,顺序为非下降,询问某个区间内的数出现最多的数的 出现次数.. 大白书上的 例题..算是RMQ变形了, 对 原数组重 ...