《Linux KVM虚拟化架构实战指南》——1.2 KVM虚拟化介绍

简介: KVM作为一个快速成长的Linux虚拟化技术,已经获得了许多厂商的支持,如Canonical、Novell等。Canonical公司的Ubuntu服务器操作系统是第一个提供全功能的KVM虚拟化栈的主要Linux发行版。

本节书摘来自异步社区《Linux KVM虚拟化架构实战指南》一书中的第1章,第1.2节,作者:何坤源著,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.2 KVM虚拟化介绍

Kernel-based Virtual Machine(基于内核的虚拟机)最初是由以色列的一个创业公司Qumranet开发的,作为他们的VDI产品的虚拟机。

1.2.1 KVM虚拟化技术简介
为简化开发,KVM的开发人员并没有选择从底层开始新写一个Hypervisor,而是选择了基于Linux kernel,通过加载新的模块使Linux Kernel本身变成一个Hypervisor。

2006年10月,在先后完成了基本功能、动态迁移以及主要的性能优化之后,Qumranet公司正式对外宣布KVM诞生。同年10月,KVM模块的源代码被正式接纳进入Linux Kernel,成为内核源代码的一部分。作为一个功能和成熟度都逊于XEN的项目,在这么快的时间内被内核社区接纳,主要原因在于:在虚拟化方兴未艾的当时,内核社区急于将虚拟化的支持包含在内,但是XEN取代内核由自身管理系统资源的架构引起了内核开发人员的不满和抵触。

2008年9月4日,著名的Linux发行版提供商RedHat公司出人意料地出资1.07亿美金,收购了Qumranet公司,从而成为了KVM开源项目的新东家。由于此次收购,RedHat公司有了自己的虚拟机解决方案,于是开始在自己的产品中用KVM替换XEN。

2010年11月,RedHat公司推出了新的企业版Red Hat Enterprise Linux 6,在这个发行版中集成了最新的KVM虚拟机,而去掉了在RHEL 5.X系列中集成的XEN。

1.2.2 KVM虚拟化技术的应用领域
KVM目前已经在业界内赢得了广泛支持,RedHat公司与IBM公司已经建立合作伙伴关系,欲将KVM正式推向企业级应用领域。展望未来,这两家公司还为企业级虚拟项目管理器、IBM Tivoli以及IBM Director开发新的应用接口,以解决云技术引入、数据中心自动化、虚拟存储及网络、虚拟化项目安全保障与设备管理方面的各种问题。

KVM项目建立的开源虚拟化联盟也有着相当大的推动作用,该联盟的成员包括Eucalyptus、RedHat、SUSE、IBM、HP、Intel和BMC,旨在促进类似KVM这样的开源虚拟化技术的推广及应用。

根据官方的资料,该共同体致力于开源虚拟化的推广,但其推广对象只限于KVM。有趣的是,我们注意到SUSE是其中的成员之一,而XEN的主要赞助商Citrix公司却并未参与进来。

1.2.3 KVM虚拟化技术的未来
KVM技术一出现,就受到厂商的大力推广。一直将KVM作为虚拟化战略的一部分,2009年年底发布了Red Hat Enterprise Linux 5.4,继续大力推行这种转型,鼓励用户使用KVM为其首选的虚拟化平台。2011年,随着新版操作系统Red Hat Enterprise Linux 6的发布,RedHat公司完全放弃了以开源XEN为虚拟化平台的思路,开始支持KVM作为hypervisor。

KVM作为一个快速成长的Linux虚拟化技术,已经获得了许多厂商的支持,如Canonical、Novell等。Canonical公司的Ubuntu服务器操作系统是第一个提供全功能的KVM虚拟化栈的主要Linux发行版。

而开放虚拟化联盟(OVA)也在为KVM护航,这个由IBM、RedHat、Intel等重量级厂商组成的联盟才成立不过半年,成员就迅速达到200以上。该联盟的宗旨致力于促进基于内核的虚拟机(KVM)等开放虚拟化技术的应用,鼓励互操作性,为企业在虚拟化方面提供更多的选择、更高的性能和更具吸引力的价格。

对于用户来说,可选择的主流虚拟化产品也越加清晰:RedHat KVM、VMware vSphere、Citrix Xen和微软的Hyper-V。

当然,KVM的发展时间太短,要在商业表现方面达到VMware或是XEN的水平,还有很长的路要走。

相关文章
|
2月前
|
Linux 编译器 开发者
Linux设备树解析:桥接硬件与操作系统的关键架构
在探索Linux的庞大和复杂世界时🌌,我们经常会遇到许多关键概念和工具🛠️,它们使得Linux成为了一个强大和灵活的操作系统💪。其中,"设备树"(Device Tree)是一个不可或缺的部分🌲,尤其是在嵌入式系统🖥️和多平台硬件支持方面🔌。让我们深入了解Linux设备树是什么,它的起源,以及为什么Linux需要它🌳。
Linux设备树解析:桥接硬件与操作系统的关键架构
|
2月前
|
Cloud Native Linux 网络虚拟化
深入理解Linux veth虚拟网络设备:原理、应用与在容器化架构中的重要性
在Linux网络虚拟化领域,虚拟以太网设备(veth)扮演着至关重要的角色🌐。veth是一种特殊类型的网络设备,它在Linux内核中以成对的形式存在,允许两个网络命名空间之间的通信🔗。这篇文章将从多个维度深入分析veth的概念、作用、重要性,以及在容器和云原生环境中的应用📚。
深入理解Linux veth虚拟网络设备:原理、应用与在容器化架构中的重要性
|
18天前
|
存储 网络协议 Ubuntu
【Linux开发实战指南】基于UDP协议的即时聊天室:快速构建登陆、聊天与退出功能
UDP 是一种无连接的、不可靠的传输层协议,位于IP协议之上。它提供了最基本的数据传输服务,不保证数据包的顺序、可靠到达或无重复。与TCP(传输控制协议)相比,UDP具有较低的传输延迟,因为省去了建立连接和确认接收等过程,适用于对实时性要求较高、但能容忍一定数据丢失的场景,如在线视频、语音通话、DNS查询等。 链表 链表是一种动态数据结构,用于存储一系列元素(节点),每个节点包含数据字段和指向下一个节点的引用(指针)。链表分为单向链表、双向链表和循环链表等类型。与数组相比,链表在插入和删除操作上更为高效,因为它不需要移动元素,只需修改节点间的指针即可。但访问链表中的元素不如数组直接,通常需要从
|
2月前
|
存储 运维 关系型数据库
2024年最全ceph的功能组件和架构概述(2),Linux运维工程面试问题
2024年最全ceph的功能组件和架构概述(2),Linux运维工程面试问题
2024年最全ceph的功能组件和架构概述(2),Linux运维工程面试问题
|
2月前
|
运维 Oracle 容灾
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构
|
18天前
|
SQL 自然语言处理 网络协议
【Linux开发实战指南】基于TCP、进程数据结构与SQL数据库:构建在线云词典系统(含注册、登录、查询、历史记录管理功能及源码分享)
TCP(Transmission Control Protocol)连接是互联网上最常用的一种面向连接、可靠的、基于字节流的传输层通信协议。建立TCP连接需要经过著名的“三次握手”过程: 1. SYN(同步序列编号):客户端发送一个SYN包给服务器,并进入SYN_SEND状态,等待服务器确认。 2. SYN-ACK:服务器收到SYN包后,回应一个SYN-ACK(SYN+ACKnowledgment)包,告诉客户端其接收到了请求,并同意建立连接,此时服务器进入SYN_RECV状态。 3. ACK(确认字符):客户端收到服务器的SYN-ACK包后,发送一个ACK包给服务器,确认收到了服务器的确
142 1
|
1月前
|
Linux 网络安全 虚拟化
Linux操作系统第一章(Linux操作系统的带入,vmware-17虚拟化软件运用,FinalShell远程连接Linux )
Linux操作系统第一章(Linux操作系统的带入,vmware-17虚拟化软件运用,FinalShell远程连接Linux )
|
1月前
|
监控 API 数据库
构建高效后端:微服务架构的实战指南
【6月更文挑战第14天】在数字化浪潮下,后端开发面临着前所未有的挑战和机遇。本文将深入探讨微服务架构的设计理念、实现方式及其在现代软件开发中的重要性,为读者提供一份全面而实用的微服务实战手册。
34 2
|
19天前
|
负载均衡 Java Linux
黑马头条01,环境搭建,今日头条的介绍,今日头条的功能架构图,技术栈的说明,服务层,nacos(奶靠丝)安装,安装在Linux服务器上环境准备,
黑马头条01,环境搭建,今日头条的介绍,今日头条的功能架构图,技术栈的说明,服务层,nacos(奶靠丝)安装,安装在Linux服务器上环境准备,
|
25天前
|
Linux Perl
如何在Linux系统中确定CPU架构
如何在Linux系统中确定CPU架构
21 0

热门文章

最新文章