`

用户友好的Linux虚拟技术: KVM

阅读更多

原文 http://yp.oss.org.cn/software/show_resource.php?resource_id=171

 

linux 2.6.20内核包含一个全新的虚拟技术: KVM, 全称为基于内核的虚拟机. 它很友好, 稳定和高性能, 虽然还没有正式发布. 本文从理论和实践介绍KVM的原理, 并给出一些简单的评测报告.

原理简介

当前存在几种不同的虚拟技术. 一种是半虚拟化技术(Paravirtualization), 客户操作系统需做一些修改. 另一种是全虚拟化技术(Full Virtualization), 客户操作系统无需任何修改. 我们知道全虚拟化技术是以降低性能来提高兼容性, 因为在虚拟化环境中如果没有客户操作系统的协助, 系统将很难达到较好的性能. 另一方面, 近来新处理器的开发缩短了这方面的差距. 最新的Intel VT (虚拟技术, Virtualization Technology)和AMD SVM (安全虚拟机, Secure Virtual Machine)从硬件上支持了虚拟技术, 试图取代半虚拟化技术. KVM在标准的Linux内核中增加了虚拟技术, 从而我们可以通过(或将)优化的内核来使用虚拟技术.

在KVM模型中, 每一个虚拟机都是一个由Linux调度程序管理的标准进程. 一个普通的Linux进程有两种运行模式: 内核和用户. KVM增加了第三种模式: 客户模式(有自己的内核和用户模式.)

KVM由两个部分组成:

. 一个是管理虚拟硬件的设备驱动, 该驱动使用字符串设备/dev/kvm做为管理接口.
. 另一个是模拟PC硬件的用户空间组件, 这是一个稍做修改的qemu进程.

QEMU 是一个著名的处理器模拟程序, 由法国人Fabrice Bellard 开发.

KVM实践: 使用Windows XP做为客户机

KVM仍在开发当中, 我决定来做一些实验. 我使用了2.6.20-rc2内核和现成的Debian软件包: kvmqemu . 重新编译内核和安装软件包后, 一切准备就绪.

安装客户机的操作系统非常简单:

qemu-img create hda.img -f qcow 6G
kvm -no-acpi -m 256 -cdrom winxpsp2.iso -hda hda.img -boot d

第一步是创建一个虚拟盘(主机系统上的一个普通文件). 我选择了QEMU写时拷贝格式, 文件将随着内容的增多而增大, 这样不至于浪费磁盘空间, 虚拟盘最大为6GB. 虚拟盘准备好后, 开始系统安装. 实际上, 我已经预先做了一项工作(非必须的), 从Windows XP系统安装光盘拷贝所有数据到磁盘上, 简单一个命令 cp /dev/cdrom image.iso). 我使用了-no-acpi参数, 因为QEMU只是实验性的支持ACPI, 在Windows XP系统安装过程中Windows Installer(安装程序)会存在一些问题.

我想没有比这还更简单的安装. 很快就完成了windows的安装. 有人也许会问我, 什么选择windows呢? 好的, 现在我没有理由来选择在linux系统上运行linux虚拟机. 而且, 我也很想做一些Windows虚拟机的测试. 现在你不用安装双启动模式了, 你随时都可以简单启动widnows虚拟机. 然后比如在windows虚拟机中打开IE7来查看本文..

一些基准测试

好的, Windows XP的安装速度很快, 接下来我有更多的时间进行一些基准测试. 提示, 测试工作是部分性的, 非标准测试. 目的是从实验来理解KVM的一些特性. 另外我提供了几个有意思的实例, 做起来也很容易. 一旦完成Windows系统的安装, Windows客户机甚至可以在未经修改的QEMU上运行. 而且我重新编译和安装了kqemu, kqemu是一个由qemu原作者开发的QEMU加速模块(QEMU accelerator module), 可惜它是一个闭源软件. 最后, 我选择了两个测试软件: PCMark2002Super PI (版本 1.1e). 注意测试硬件的处理器是Intel E6600.

我认为kqemu和KVM比单独的QEMU模拟器的性能要强很多. 而且可以看到kqemu只比kvm好一点点. 但是我想kvm的性能会不断改进的, 毕竟比起其它虚拟技术, kvm还很年轻.

运行Super PI的结果是: KVM速度最快, 相当于原始(单机运行)速度(在实际硬件上运行, 无任何虚拟机软件)的84%. 而QEMU的速度是最慢的, 上面图表没有显示实际数据, 我把所有的结果列出来(数值越低越快, 每秒处理100万条指令): QEMU: 492.5 sec, kqemu: 28.5 sec, KVM: 25.5 sec, native: 21.5 sec.

结论

KVM仍在开发当中, 它向我们展示了其真实的潜力. 我想接下来我们会看到更多好的有关kvm的新闻. 届时当kvm集成到Linux官方内核当中, 它将变成一个日用品. 而且kvm不仅会应用到数据中心和服务器系统加固上, 而且也会应用到Linux桌面上. 非常感谢QEMU和KVM开发人员所做的工作.

参考:
Finally user-friendly virtualization for Linux
KVM: Kernel-based Virtual Machine for Linux
QEMU: open souce processor emulator
QEMU Accelerator Module
KVM: the original announcement on the linux-kernel list


Source URL: http://blog.zhaoke.com/43.html
--------------------------------------------------

分享到:
评论

相关推荐

    Linux 桌面玩家指南:07. Linux 中的 Qemu、KVM、VirtualBox、Xen 虚拟机体验 - 京山游侠 -

    在Linux操作系统中,虚拟化技术是不可或缺的一部分,它允许用户在同一台物理机器上运行多个独立的操作系统实例。本文将介绍四种常见的虚拟机软件:QEMU、KVM、VirtualBox和Xen,以及它们各自的特点和应用场景。 1. ...

    Linux技术热点和发展趋势.pdf

    2. **虚拟化技术**:KVM等Linux内核虚拟化技术的成熟,使得Linux成为服务器虚拟化的首选平台,降低了硬件成本并提高了资源利用率。 3. **云计算平台**:OpenStack等开源云平台基于Linux构建,提供了全面的云服务...

    CentOS6.3安装和配置KVM

    ### CentOS6.3安装和配置KVM:详细教程与知识点解析 #### 一、KVM概念及重要性 KVM,全称为Kernel-based Virtual Machine,是基于Linux内核的虚拟机技术,它作为Linux内核的一部分,实现了硬件级别的虚拟化。自...

    pbench-graphs:KVM IO运行的pbench图

    1. **KVM虚拟化技术**:KVM是Linux内核的一个模块,它将Linux转换为一个hypervisor,可以支持多种虚拟机实例。KVM充分利用硬件虚拟化功能,如Intel VT或AMD-V,提供高效、接近物理机性能的虚拟化环境。 2. **pbench...

    KVM研究和实战1

    【KVM技术详解】 ...总的来说,KVM是一个强大的开源虚拟化技术,适合需要高性能、稳定性以及Linux环境下的虚拟化解决方案的用户。随着技术的发展,KVM正逐渐成为企业级数据中心和云服务提供商的重要选择。

    Xen与KVM虚拟化方案的设计与性能评比1

    KVM(Kernel-based Virtual Machine)则是基于Linux内核的虚拟化技术,属于类型二的 hypervisor。KVM 使用 Linux 内核作为虚拟化层,因此它可以充分利用Linux的成熟性和安全性。KVM 的优势在于与Linux的紧密集成,...

    Linux系统中如何保护普通用户的隐私权

    5. **用户隔离**:使用虚拟化技术,如KVM或Docker,每个家庭成员都可以有自己的虚拟机环境,彼此之间数据隔离,最大程度地保护隐私。 6. **使用用户专属目录**:确保每个用户都有自己的家目录,并且只允许访问自己...

    kvm-qt-开源

    KVM(Kernel-based Virtual Machine)是Linux内核中的一个模块,它将硬件虚拟化技术融入到操作系统中,允许Linux系统作为一款虚拟机监控程序来运行多个虚拟机。KVM充分利用了现代处理器的硬件辅助虚拟化特性,如...

    基于openstack 与kvm 的云计算平台的构建

    在此背景下,本文探讨了如何利用KVM虚拟化技术和OpenStack云平台套件来构建一个真正的虚拟化云计算平台,以提供IaaS(基础设施即服务)给外部用户。 #### OpenStack架构解析 OpenStack作为一个开源的云计算管理...

    Ubuntu Linux 指南

    Ubuntu是一种基于Debian的Linux操作系统,以其用户友好的界面和强大的社区支持而闻名。它不仅适用于个人计算机,还广泛应用于服务器环境,成为云计算和数据中心领域的首选操作系统之一。 #### 安装与配置 书中详细...

    linux资源汇总linux资源汇总

    15. **虚拟化技术**:KVM、QEMU、Docker等虚拟化工具在Linux上广泛使用,用于创建和管理虚拟机和容器,提高资源利用率。 这些只是Linux庞大知识体系的一部分,深入学习和实践将使你成为熟练的Linux用户和管理员。...

    Linux学习方法论

    3. **虚拟化技术**:了解并实践KVM、LXC等虚拟化技术,这对于构建私有云平台非常有用。 4. **容器技术**:学习Docker和Kubernetes,这是当前云计算领域的核心技术之一。 5. **自动化部署工具**:熟悉Ansible、Puppet...

    Fedora和Red Hat Enterprise Linux实用指南

    - **KVM**:KVM(Kernel-based Virtual Machine)是一种开源的虚拟机解决方案,集成于Linux内核中,可以用来构建虚拟化环境。 - **容器技术**:除了传统的虚拟化技术之外,Fedora和RHEL也支持容器技术,如Docker和...

    5种流行的Linux发行版

    Puppy Linux 是一个非常流行的选择,对于需要小型化的 Linux 发行版的用户非常友好。 选择合适的 Linux 发行版取决于你的需求和使用场景。如果你需要一个强大的服务器操作系统,那么 RedHat 或 CentOS 可能是你的...

    Linux从入门到精通

    - **虚拟化技术**: 如KVM (Kernel-based Virtual Machine),允许在一台物理机上运行多个独立的操作系统实例。 - **容器化技术**: Docker等容器技术简化了应用部署流程,提高了资源利用率。 - **自动化运维工具**: 如...

    suse linux

    6. **虚拟化技术**:SUSE Linux支持KVM、Xen等虚拟化技术,便于创建和管理虚拟机,提高硬件利用率。 7. **OpenStack集成**:SUSE Linux是OpenStack认证的操作系统,可以轻松构建和管理云计算基础设施。 现在,我们...

    2009年图书:Ubuntu Linux的秘密

    12. **云服务与虚拟化**:Ubuntu与OpenStack等云技术的集成,以及如何在Ubuntu中使用VirtualBox或KVM进行虚拟化操作。 通过阅读《Ubuntu Linux的秘密》,读者不仅可以掌握Ubuntu的基本操作,还能了解到Linux系统的...

    my soft_linuxsoft / linux soft / Linux soft

    10. **虚拟化**:Linux也是虚拟化技术的先驱,KVM(Kernel-based Virtual Machine)是基于Linux内核的全虚拟化解决方案,允许在一个Linux系统上运行多个独立的操作系统实例。 以上就是围绕"my soft_linuxsoft / ...

Global site tag (gtag.js) - Google Analytics