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旧版本,将操 ...
随机推荐
- SPOJ 1435 Vertex Cover 树形DP
i 表示节点 i ,j=0表示不选择其父节点,j=1表示选择其父节点.f 为其父节点. 取 每个节点选择/不选择 两者中较小的那个. 一组数据: 151 21 31 41 1010 910 1112 ...
- 非常实用的PHP代码片段推荐
当使用PHP进行开发的时候,如果你自己收 藏 了一些非常有用的方法或者代码片段,那么将会给你的开发工作带来极大的便利.今天我们将介绍10个超级好用的PHP代码片段,希望大家能够喜欢! 1. 使用te ...
- bind搭建(二)反向解析
我们在上一节已经知道了怎么建立DNS的服务器端,可以实现了域名到IP之间的转换.那么好我们现在就来了解一下如何实现反向的DNS解析,也就是IP到域名的映射. 步骤如下: l 在/etc/named中 ...
- gcc编译代码报错及编译方式
一.error: 'for' loop initial declarations are only allowed in C99 mode 前段时间写了一个小C程序,放在linux下用gcc编译出错, ...
- Ubuntu 64位系统安装StarUML之最佳实践
preview 相信很多使用Ubuntu的哥们在安装StarUML或者其他软件时都会遇到要求libgcrypt11的依赖.而遗憾的时,这个东西很多人根本找不到. 我将它分享到百度网盘,mark. 一. ...
- MySQL学习笔记二
Ø function 函数 函数的作用比较大,一般多用在select查询语句和where条件语句之后.按照函数返回的结果, 可以分为:多行函数和单行函数:所谓的单行函数就是将每条数据进行独立的计算,然 ...
- hdu 4920 Matrix multiplication (矩阵计算)
题目链接 题意:给两个矩阵a, b, 计算矩阵a*b的结果对3取余. 分析:直接计算时间复杂度是O(n^3),会超时,但是下面第一个代码勉强可以水过,数据的原因. #include <iostr ...
- bzoj4048 3928
羞耻,分组赛上考的,竟然没想出来, 对坐标离散化后区间dp即可,竟然还双倍经验 ; ..,..] of longint; v:..] of longint; a,b,h:..] of longint; ...
- ASP.NET线程相关配置
1.(maxWorkerThreads * CPU逻辑数量)-minFreeThreads 比如2个CPU默认配置maxWorkerThreads=100,minFreeThreads=176,则同时 ...
- codeforces 340A The Wall(简单数学题)
题意:输入a,b,x,y,a,b分别是两人的步数(每a块砖,刷一次),则有一些砖被两人同时刷到了,问[x,y]区间内有多少块砖同时被两人刷到. 分析:就是求[x,y]中有多少个能把a,b的最小公倍数l ...