`

qemu/kvm/qemu-kvm/virsh的区别

    博客分类:
  • KVM
 
阅读更多
qemu是一套虚拟机管理系统,kqemu是qemu的加速器,可以认为是qemu的一个插件;qemu可以虚拟出不同架构的虚拟机,如在x86平台上可以虚拟出power机器;
 
    kvm是另外的一套虚拟机管理系统,包括内核虚拟构架和处理器相关模块,其借用了 quem 其它一些组件,kvm的非内核部分是由qemu实现的;加载了模块后,才能进一步通过其他工具创建虚拟机。但仅有 KVM 模块是远远不够的,因为用户无法直接控制内核模块去做事情,还必须有一个用户空间的工具
 
    qemu-kvm:kvm是linux的一个模块,管理和创建完整的虚拟机需要相应的一些管理工具,由于kvm是在qemu的基础上开发的,KVM 使用了 QEMU 的基于 x86 的部分,并稍加改造,形成可控制 KVM 内核模块的用户空间工具QEMU-KVM。
 
    libvirt,virt-manager,virsh:由于qemu-kvm的效率及通用性问题,有组织开发了libvirt用于虚拟机的管理,带有一 套基于文本的虚拟机的管理工具--virsh,以及一套用户渴望的图形界面管理工具--virt-manager。libvirt是用python语言写 的通用的API,不仅可以管理KVM,也可用于管理XEN;
--------------------------------------------
一个网页说明KVM和QEMU的区别,说的比较宏观,还比较好,大概记录一下:
Qemu:
是一个完整的可以单独运行的软件,它可以用来模拟机器,非常灵活和可移植。它主要通过一个特殊的'重编译器'将为特定处理器编写二进制代码转换为另一种。(也就是,在PPC mac上面运行MIPS代码,或者在X86 PC上运行ARM代码)
KQemu:
当源和目标代码有同样的架构的时候(就像最普通的情况 x86运行在x86上面),同样需要解析代码去出去任
何'特权指令'并且把它们替换为上下文转换。为了尽量使这个过程有效,有个内核模块KQemu处理这个事情。
作为一个内核模块,KQemu仅仅需要替换最底层的ring0-only指令。在这个情况下,Qemu仍然为模拟的机器分配所有的RAM并且加 载代码。不同的是,KQemu不需要重新编译代码,它仅仅调用KQemu去扫描/打补丁/执行。所有外围的硬件仿真是在Qemu中做的。
由于大部分代码都是没有变换的,但是KQemu还是需要转换ring0代码(VM内核的绝大部分代码),所以性能仍然不好。
KVM:
KVM包括很多部件:首先,它是一个Linux内核模块(现在包括在主线中)用于转换处理器到一种新的用户(guset)模式。用户模式有自己 的ring状态集合,但是特权ring0的指令会陷入到管理器(hypervisor)的代码。由于这是一个新的处理器执行模型,代码不需要任何的改动。
除了处理器状态转换,这个内核模块同样处理很小一部分低层次的模拟,比如MMU注册(用于管理VM)和一部分PCI模拟的硬件。
在可预见的未来,Qemu团队专注于硬件模拟和可移植性,同时KVM团队专注于内核模块(如果某些部分确实有性能提升的话,KVM会将一小部分模拟代码移进来)和与剩下的用户空间代码的交互。
kvm-qemu可执行程序像普通Qemu一样:分配RAM,加载代码,不同于重新编译或者调用calling KQemu,它创建了一个线程(这个很重要);这个线程调用KVM内核模块去切换到用户模式,并且去执行VM代码。当遇到一个特权指令,它从新切换会 KVM内核模块,该内核模块在需要的时候,像Qemu线程发信号去处理大部分的硬件仿真。
这个体系结构一个比较巧妙的一个地方就是客户代码被模拟在一个posix线程,这允许你使用通常Linux工具管理。如果你需要一个有2或者4 核的虚拟机,kvm-qemu创建2或者4个线程,每个线程调用KVM内核模块并开始执行。并发性(若果你有足够多的真实核)或者调度(如果你不管)是被 通用的Linux调度器,这个使得KVM代码量十分的小
当一起工作的时候,KVM管理CPU和MEM的访问,QEMU仿真硬件资源(硬盘,声卡,USB,等等)当QEMU单独运行时,QEMU同时模拟CPU和硬件。
------------------------------------------------
不同的虚拟机
  VMware:真正“同时”运行,多个操作系统在主系统的平台上,就象标准Windows应用程序那样切换。而且每个操作系统你都可以进行虚拟的分区、配 置而不影响真实硬盘的数据,你甚至可以通过网卡将几台虚拟机用网卡连接为一个局域网,极其方便。安装在VMware操作系统性能上比直接安装在硬盘上的系 统低不少,因此,比较适合学习和测试。
  VirtualBox:一款开源的x86虚拟机软件。支持windows,linux等机器的虚拟,原属德国的innotek公司,后被sun收购,称为virtualBox,2010年Oracle收购Sun又称其为Oracle Vms VirtualBox。
  KVM:Kernel-based Virtual Machine的简写,是rhel5.4推出的最新虚拟化技术,目前红帽只支持在64位的rhel5.4上运行kvm,同时硬件需要支持VT技术。
  Xen:Xen通过一种叫做半虚拟化的技术获得高效能的表现(较少的效能损失, 典型的情况下大约损失 2%, 在最糟的情况下会有 8% 的效能耗损; 与其它使用完全的虚拟化却造成最高到 20% 损耗的其他解决方案形成一个明显的对比),甚至在某些与传统虚拟技术极度不友好的架构上(x86),Xen也有极佳的表现。
  VirtualPc:virtualPC 2007是微软公司开发的虚拟机软件。
  Hyper-V:微软的一款虚拟化软件。
  Qemu:支持虚拟不同架构的虚拟机。
  winlinux:开将linux的安装和使用放在windows的系统中,而且不需要格式化硬盘,不影响原来的windows操作系统。
  cygwin:在windows上运行模拟UNIX的环境。
--------------------------------------------
首先查询以下包qemu-kvm virt-manager virt-viewer python-virtinst
是否安装。
rpm -q qemu-kvm virt-manager virt-viewer python-virtinst
然后依次执行以下命令: yum install qemu-kvm virt-manager virt-viewer python-virtinst
yum groupinstall 'Virtualization'
建立一个虚拟机:
这时候就可以通过X界面来建立一个虚拟机咯。
应用程序--->系统工具----->虚拟器管理系统
///启动后不能连接
Have you installed libvirt, and started the system service? As root:
Code:
yum -y install libvirt
chkconfig libvirtd on
service libvirtd start
再次启动,需要输入管理员权限。
分享到:
评论

相关推荐

    qemu-kvm0.12.1.tar.gz kvm虚拟化软件包

    QEMU(Quick Emulator)和KVM(Kernel-based Virtual Machine)是两个紧密相关的开源技术,它们共同构成了一个强大的虚拟化解决方案。QEMU-kvm是QEMU与KVM的结合,利用了Linux内核的虚拟化扩展,从而提供高性能的全...

    qemu-kvm1.6 for centos

    6. **配置与启动**:配置QEMU-KVM以运行虚拟机,可能需要创建虚拟网络接口、设置权限,并使用virsh或其他管理工具启动虚拟机。 在使用QEMU-KVM进行虚拟化时,用户应注意资源分配,如CPU核心、内存大小、磁盘空间和...

    KVM-virsh的基本命令.docx

    KVM-virsh基本命令 KVM(Kernel-based Virtual Machine)是一种开源的虚拟机软件,virsh是KVM的命令行管理工具。本文档将对KVM-virsh的基本命令进行详细介绍,帮助读者快速掌握KVM的使用。 1. 虚拟机配置路径 KVM...

    Qemu Kvm 搭建DPDK实验平台.pdf

    2. **安装QEMU/KVM和virt-manager**:在主机上安装QEMU/KVM和virt-manager可以帮助简化虚拟机的创建和管理过程。virt-manager是一个基于libvirt的图形界面管理工具,可以方便地进行虚拟机的创建、监控和管理。 3. *...

    Qemu KVM and Libvirt

    Qemu KVM and Libvirt Qemu KVM 和 Libvirt 是虚拟化领域中的三个重要概念,分别是虚拟机监控器、内核模块和虚拟机管理工具。本文将对这三个概念进行解析,并探讨它们之间的关系。 虚拟化的基本类型 虚拟化可以...

    Libvirt Qemu KVM 教程大全

    ### Libvirt Qemu KVM 教程大全 #### 虚拟化基本概念与类型 虚拟化技术允许在单一物理主机上运行多个操作系统实例(即虚拟机),这为资源的有效利用提供了新的途径。虚拟化的基本类型包括无虚拟化、半虚拟化、非...

    使用Qemu-kvm创建和管理虚拟机实践

    使用Qemu-kvm创建和管理虚拟机实践

    kvm和qemu基于OVS网桥的安装和使用

    【KVM和QEMU基于OVS网桥的安装与使用详解】 KVM(Kernel-based Virtual Machine)是Linux内核中的一个模块,它允许Linux系统直接运行虚拟机,从而实现高性能的虚拟化。QEMU(Quick Emulator)则是一个通用的机器...

    kvm虚拟机安装介绍,KVM

    KVM项目采用了QEMU中针对x86架构的部分,并进行了一些改造,形成了可以控制KVM内核模块的用户空间工具——QEMU-KVM。用户通过QEMU-KVM工具来创建和管理虚拟机。 2. **Libvirt**:Libvirt是一个软件集合,包括了一套...

    Qemu使用手册中文版

    在本文中,我们将深入探讨QEMU的安装、配置和使用,以及其与KVM、virsh等相关工具的交互。 **1. QEMU的安装** 在Linux环境下,QEMU通常可以通过包管理器进行安装,如在Ubuntu或Debian上使用`sudo apt-get install ...

    KVM虚拟机常用命令.docx

    KVM 虚拟机默认配置文件位置在 /etc/libvirt/qemu/autostart 目录下。使用 virsh 命令可以查看虚拟机配置文件和运行状态,例如: # virsh -help # virsh list --all 查看虚拟机状态 # virsh list --all 二、KVM ...

    KVM virsh命令管理虚拟机

    **KVM virsh命令管理虚拟机** 在IT领域,虚拟化技术是不可或缺的一部分,而KVM(Kernel-based Virtual Machine)是Linux内核中的一个模块,它允许Linux系统作为一款强大的虚拟化平台。在这个环境中,virsh是用于...

    用命令行管理KVM虚拟机 图文演示

    本文将通过“用命令行管理KVM虚拟机”的主题,深入探讨如何利用virsh、qemu-img、qemu-kvm等工具进行高效的KVM管理。 一、virsh/qemu-img命令 virsh是KVM的主要管理工具,提供了一套全面的命令行接口来控制虚拟机...

    cloud-init-start:使用 cloud-init 使用 virsh 在本地 KVM 中快速启动 Ubuntu Cloud 实例

    qemu/kvm libvirt (virsh) virtinst(虚拟安装) 用法: # Define cloud-config data $ editor myhost01.user-data cloud-config 用户数据如下所示: # cloud-config hostname : example manage_etc_hosts ...

    kvm创建 kvm管理命令 管理工具

    查看快照位置:ll -h /var/lib/libvirt/qemu/snapshot/xuegod63-kvm2/ 查看快照:virsh snapshot-list xuegod63-kvm2 执行恢复:virsh snapshot-revert xuegod63-kvm2 httpd 确认恢复版本: virsh snapshot-current ...

    命令行管理kvm

    #### 一、virsh/qemu-img命令 **1. 虚拟机配置路径** - **路径:** `/etc/libvirt/qemu` - 这个路径是KVM环境中存放虚拟机配置文件的位置。每个虚拟机的配置通常都会保存在一个`.xml`文件中,而这些文件则被组织在...

    kvm环境配置,命令使用

    - 命令:`yum -y install kvm python-virtinst libvirt virt-install tunctl bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v libguestfs-tools gcc*` #### 三、虚拟化环境查看 **1. 启动并查看...

    KVM虚拟化系统基础知识与实战指南

    第二章虚拟机的基本配置(qemu-kvm) 22 2.1使用qemu-kvm配置虚拟机的CPU 22 2.2使用qemu-kvm配置虚拟的内存 28 2.3 使用qemu-kvm配置虚拟机的存储 29 2.4使用qemu-kvm配置虚拟机的网络 35 2.4.1桥接模式配置 36 ...

    虚拟化技术KVM.pdf

    2. **安装必要的软件包**:安装KVM相关的软件包,例如`kvm`、`qemu-kvm`等。 3. **配置网络**:设置虚拟机的网络连接,可以通过NAT或桥接等方式实现。 4. **创建虚拟机**:使用libvirt或virsh等工具创建新的虚拟机,...

Global site tag (gtag.js) - Google Analytics