qemu,kvm,qemu-kvm,xen,libvir 区别
详解虚拟化技术QEMU-KVM入门

详解虚拟化技术QEMU-KVM⼊门⼀.QEMU、KVM、QEMU-KVMQEMU提供⼀系列的硬件模拟设备(CPU,⽹卡,磁盘等),客户机指令都需要QEMU翻译,因⽽性能较差。
KVM是linux内核提供的虚拟化,可以⽤来进⾏vCPU的创建与运⾏,虚拟内存的地址空间分配,指令执⾏效率较⾼,但缺少IO设备的虚拟化。
QEMU-KVM就是KVM与QEMU的结合,KVM负责CPU虚拟化+内存虚拟化,QEMU模拟其它IO设备。
⼆.安装并创建虚拟机安装qemu-kvm软件faramita2016@linux-l9e6:~> zypper install qemu-kvm // Ubuntu系统使⽤apt-get install qemu-kvm创建qcow2格式虚拟机磁盘⽂件faramita2016@linux-l9e6:~> qemu-img create -f qcow2 vdisk.img 5G // 磁盘⼤⼩5G使⽤debian镜像安装虚拟机,order=dc优先使⽤CD-ROW(d),后使⽤硬盘(c),内存默认128m,使⽤-m 512指定faramita2016@linux-l9e6:~> qemu-kvm -cpu host -cdrom debian-9.4.0.iso -hda vdisk.img -boot order=dc三.设置虚拟机使⽤⽹桥bridge模式宿主机中执⾏,qemu-bridge-helper增加当前⽤户可执⾏权限,⽤来⾃动添加⽹络后端tap设备faramita2016@linux-l9e6:~> sudo chmod o+x /usr/lib/qemu-bridge-helper宿主机中执⾏,-net nic为虚拟机创建nic⽹卡(⽹络前端),-net bridge指定宿主机中使⽤⽹桥(⽹络后端)faramita2016@linux-l9e6:~> qemu-kvm -cpu host -hda vdisk.img -net nic -net bridge,br=br0 // 指定⽹桥br0虚拟机中执⾏,编辑/etc/network/interfaces,设置静态IProot@debian:~# vi /etc/network/interfaces# The primary network interfaceallow-hotplug ens3#iface ens3 inet dhcpiface ens3 inet staticaddress 10.0.0.8netmask 255.0.0.0gateway 10.0.0.1hwaddress ether 52:54:00:12:34:56 // 设置mac地址,前3组不变root@debian:~# ifup ens3 // 打开ens3⽹络接⼝,ifdown关闭⽹络接⼝root@debian:~# /etc/init.d/networking restart // 重启⽹络服务虚拟机中执⾏,编辑/etc/resolv.conf,设置DNSroot@debian:~# vi /etc/resolv.confnameserver 8.8.8.8 // Google DNS四.设置虚拟机为⾮图形模式虚拟机中执⾏,编辑/etc/default/grub⽂件,添加console=ttyS0启动参数root@debian:~# vi /etc/default/grubGRUB_DEFAULT=0 // 默认启动项GRUB_TIMEOUT=0 // 默认菜单项停留时间GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`GRUB_CMDLINE_LINUX_DEFAULT="quiet" // 默认内核启动参数GRUB_CMDLINE_LINUX="console=ttyS0" // ⼿动添加内核启动参数,添加console=ttyS0虚拟机中执⾏,更新grub配置,并重启root@debian:~# update-grubroot@debian:~# shutdown -h nowa.宿主机中执⾏,添加-nographic参数创建虚拟机,当前shell前台创建虚拟机faramita2016@linux-l9e6:~> qemu-kvm -cpu host -hda vdisk.img -net nic -net bridge,br=br0 -nographicb.宿主机中执⾏,添加-display none -daemonize参数创建虚拟机,当前shell后台创建虚拟机faramita2016@linux-l9e6:~> qemu-kvm -cpu host -hda vdisk.img -net nic -net bridge,br=br0 -display none -daemonize五.以只读⽅式启动虚拟机a.创建⼀个快照⽤qemu-img命令创建⼀个原始镜像的快照faramita2016@linux-l9e6:~> qemu-img create -f qcow2 -b vdisk.img snapshot.img使⽤快照⽂件启动虚拟机faramita2016@linux-l9e6:~> qemu-kvm -cpu host -hda snapshot.img -net nic -net bridge,br=br0 -nographicb.使⽤临时快照原理:创建⼀个临时快照,虚拟机启动之后,⾃动删除快照⽂件faramita2016@linux-l9e6:~> qemu-kvm -cpu host -hda vdisk.img -net nic -net bridge,br=br0 -snapshot -nographic以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
kvm虚拟化工作原理

kvm虚拟化工作原理KVM虚拟化工作原理KVM是一种开源的虚拟化技术,它是Linux内核中自带的一种虚拟化模块。
KVM全称为Kernel-based Virtual Machine,即基于内核的虚拟机。
它可以将物理服务器划分为多个独立的虚拟机,每个虚拟机都可以运行不同的操作系统和应用程序。
本文将详细介绍KVM虚拟化工作原理。
1. KVM架构KVM架构主要由三部分组成:Linux内核、QEMU和libvirt。
其中,Linux内核提供了硬件抽象层和CPU虚拟化技术,QEMU提供了设备模型和磁盘映像管理等功能,libvirt则是一个高级API,用于管理虚拟机生命周期、配置和监控等。
2. KVM CPU虚拟化CPU虚拟化是KVM最重要的部分之一。
在CPU虚拟化中,KVM利用了Intel VT或AMD-V等硬件扩展来实现对CPU资源的管理。
这些硬件扩展提供了一种称为“硬件辅助的虚拟化技术”,使得操作系统可以在不知道自己被虚拟化的情况下运行。
具体来说,在CPU虚拟化中,KVM将每个虚拟机视为一个独立的进程,并为其分配一组虚拟CPU。
当虚拟机运行时,KVM会将虚拟CPU指令转换为物理CPU指令,并利用硬件扩展提供的特殊指令来实现对CPU资源的隔离和管理。
这样,每个虚拟机就可以像运行在物理服务器上一样运行。
3. KVM设备模型KVM设备模型是QEMU的一部分,它提供了对各种设备(如磁盘、网卡、USB等)的模拟和管理。
在设备模型中,每个虚拟机都被视为一个独立的计算机系统,具有自己的设备树和驱动程序。
具体来说,在设备模型中,QEMU会模拟各种硬件设备,并将其映射到虚拟机中。
例如,在磁盘映像管理中,QEMU会将虚拟机硬盘映像文件与物理服务器上的实际磁盘进行关联,并通过驱动程序来实现数据读写等操作。
4. KVM网络管理KVM网络管理是指对虚拟网络进行配置和管理。
在KVM中,每个虚拟机都可以配置多个网络接口,并且可以使用不同类型的网络连接方式(如桥接、NAT等)。
服务器虚拟化技术Xen和KVM的比较

服务器虚拟化技术Xen和KVM的比较在现代信息技术迅速发展的今天,服务器虚拟化技术成为企业及个人管理和应用服务器的重要工具和方法。
而Xen和KVM是目前应用较为广泛的两种服务器虚拟化技术。
本文将对它们的特点、优缺点以及适用场景进行比较和分析。
Xen是一种基于x86平台的开源虚拟化技术,由剑桥大学开发并于2003年发布。
Xen使用宿主机(Host)和客户机(Guest)的模式,即宿主机上运行宿主操作系统(Host OS),而客户机上则运行被虚拟化的操作系统(Guest OS)。
这种架构使得Xen可以实现高效的资源分配和管理,提供良好的隔离性和稳定性。
Xen采用了“半虚拟化”技术,它需要对Guest OS进行修改以适应虚拟化环境。
这一特点使得Xen相对于完全虚拟化技术来说,具有更高的性能和效率。
与Xen不同,KVM(Kernel-based Virtual Machine)是一种基于Linux内核的虚拟化技术,它于2006年由Red Hat公司发布。
KVM通过使用Linux内核的虚拟化功能,将宿主机作为一个虚拟机管理程序运行,从而提供了一种轻量级而高效的虚拟化解决方案。
KVM可以通过硬件的虚拟化扩展(Intel VT和AMD-V)来提供虚拟机的运行环境,同时它还能够利用Linux的丰富资源管理功能,实现更好的资源调度和利用效率。
相比于Xen的半虚拟化技术,KVM采用了全虚拟化技术,无需修改Guest OS,因此更加容易部署和维护。
就性能而言,Xen和KVM各有优势。
Xen的半虚拟化技术使得Guest OS可以直接访问物理硬件,因此在I/O密集型应用场景下具有较好的性能表现。
而KVM在处理CPU密集型任务时表现更加出色,因为它利用了硬件虚拟化扩展来提高CPU虚拟化的效率。
在可移植性方面,Xen相比于KVM更具优势。
Xen可以在多个操作系统平台上运行,包括Linux、Windows、FreeBSD等,这为多平台的应用提供了更好的支持。
kvm基本原理及架构

kvm基本原理及架构KVM是一种开源的基于硬件虚拟化技术的虚拟机监控器(hypervisor),可运行多个独立的虚拟机。
KVM的基本原理是将Linux内核转变为虚拟机监控器,通过虚拟化扩展处理器的硬件虚拟化技术(如Intel VT或AMD-V),将物理服务器的计算资源(CPU、内存、存储)划分为多个虚拟化的独立实例。
KVM的架构包含三个主要组件: KVM内核模块、QEMU(其中包含一个虚拟机管理进程)和用户空间工具。
KVM内核模块是Linux内核的一个内核模块,用于提供对虚拟化硬件扩展的支持。
QEMU是一个用于模拟和管理虚拟机的开源模拟器,它与KVM配合使用,提供了对虚拟机的管理、输入输出设备的模拟和磁盘镜像的创建等功能。
用户空间工具包括用于创建、配置和管理虚拟机的用户空间命令行工具和图形界面工具。
KVM的工作过程如下:首先,KVM内核模块加载到Linux内核中,并识别物理服务器上的可虚拟化资源。
然后,用户通过用户空间工具创建一个虚拟机实例,并配置虚拟机的资源需求,如CPU核心数、内存大小等。
虚拟机实例的配置信息存储在一个配置文件中。
当用户启动虚拟机实例时,QEMU创建一个虚拟机管理进程,并将虚拟机配置文件加载到内存中。
然后,QEMU启动一个新的线程,该线程充当虚拟机的虚拟化管理程序,处理虚拟机的运行状态和与物理硬件的交互。
对于每个虚拟CPU,KVM内核模块将其映射到物理CPU上的一个或多个硬件线程。
对于虚拟机的输入输出设备,QEMU模拟了一系列的设备,包括显示适配器、网络适配器、磁盘控制器等。
虚拟机实例通过这些模拟设备进行输入输出操作。
在虚拟机运行时,KVM内核模块负责管理虚拟CPU的调度、内存的分配与访问,以及虚拟机和物理服务器之间的数据交换。
由于KVM将硬件虚拟化技术与Linux内核相结合,虚拟化层与虚拟机之间的性能开销较小,可以实现接近原生性能的虚拟化。
总的来说,KVM利用Linux内核的虚拟化扩展技术,通过KVM内核模块和QEMU的配合,实现了对硬件资源的虚拟化,提供了高性能和灵活性的虚拟化解决方案。
Xen、KVM、Qemu间的关系和区别

Xen、KVM、Qemu间的关系和区别Aha,忽然发现我也是个标题党,十分钟搞定某某技能这种标题最吸引人了。
当然我也不是华而不实,是不是干货,你读了才知道。
话说,接触Xen这么久了,现在才花时间搞清楚这个问题,要不是需要给别人解释,还不知道要等到什么时候才来写这篇博客。
闲话少说,进入正题。
关于qemuQemu是一个独立的虚拟化解决方案,通过intel-VT 或AMD SVM实现全虚拟化,安装qemu的系统,可以直接模拟出另一个完全不同的系统环境,虚拟机的创建通过qemu-image既可完成。
QEMU本身可以不依赖于KVM,但是如果有KVM的存在并且硬件(处理器)支持比如Intel VT功能,那么QEMU在对处理器虚拟化这一块可以利用KVM提供的功能来提升性能。
关于KVMKVM是集成到Linux内核的Hypervisor,是X86架构且硬件支持虚拟化技术(IntelVT或AMD-V)的Linux的全虚拟化解决方案。
它是Linux的一个很小的模块,利用Linux做大量的事,如任务调度、内存管理与硬件设备交互等。
准确来说,KVM是Linuxkernel的一个模块。
可以用命令modprobe去加载KVM模块。
加载了模块后,才能进一步通过其他工具创建虚拟机。
但仅有KVM模块是远远不够的,因为用户无法直接控制内核模块去作事情,你还必须有一个运行在用户空间的工具才行。
这个用户空间的工具,kvm开发者选择了已经成型的开源虚拟化软件QEMU。
说起来QEMU也是一个虚拟化软件。
它的特点是可虚拟不同的CPU。
比如说在x86的CPU上可虚拟一个Power的CPU,并可利用它编译出可运行在Power上的程序。
KVM使用了QEMU的一部分,并稍加改造,就成了可控制KVM的用户空间工具了。
所以你会看到,官方提供的KVM下载有两大部分(qemu和kvm)三个文件(KVM模块、QEMU 工具以及二者的合集)。
也就是说,你可以只升级KVM模块,也可以只升级QEMU工具。
qemu-kvm vnc工作原理

qemu-kvm vnc工作原理
QEMU-KVM是一种基于虚拟化技术的开源工具,它使用QEMU模拟器和内核虚拟化模块KVM(Kernel-based Virtual Machine)来提供虚拟化的功能。
VNC(Virtual Network Computing)是一种远程桌面协议,可以在不依赖物理显示器
的情况下远程访问和控制虚拟机。
QEMU-KVM与VNC的工作原理如下:
1. 首先,QEMU-KVM在宿主机上创建一个虚拟机实例。
2. 当虚拟机启动时,KVM模块将会拦截虚拟机对硬件设备的
访问请求,并利用硬件的虚拟化扩展将其转发到宿主机的物理硬件。
3. 同时,QEMU模拟器会模拟虚拟机的硬件设备,并将它们
映射到宿主机的物理设备上。
4. 当VNC服务器启动时,它会监听一个指定的端口,并等待
客户端的连接请求。
5. 客户端连接到VNC服务器,并发送一个远程显示请求。
6. VNC服务器将这个请求转发给QEMU-KVM中运行的虚拟
机实例。
7. 虚拟机实例会将显示输出生成为图像,并通过VNC服务器
将图像数据发送回客户端。
8. 客户端接收到图像数据,并将其显示在本地显示器上。
通过这种方式,用户可以通过VNC客户端远程访问和控制运
行在QEMU-KVM中的虚拟机。
这样可以方便地进行远程调试、管理和使用虚拟机,而不需要直接连到它们的物理控制台。
Xen KVM VMware对比

KVM、Xen、VMware的对比首先:KVM、Xen是开源、免费的,而VMware的源代码不开放。
详细的性能指标如下:Xen的6大优势:1. 可用资源,Xen比KVM问世早四年(2003),市场占有率大,可用资源丰富2. 平台支持:Xen在新版本中支持更多的主机和客体工作环境,包括泛虚拟化技术、硬件辅助支持以及修改过或未修改过的客体操作系统;对UNIX、Linux和Windows的特定支持;包括芯片组,如x86、IA64和AMD、Fujitsu、IBM、Sun等公司的ARM,以及x86/64 CPU商家和Intel嵌入式的支持等。
3. 可管理性,Xen具有一个更加宽泛的第三方配给、备份、存储管理、P2V、容量规划、性能监控、进程自动化、安全和其它管理规则社区,如IBM、Microsoft以及HP等。
4. 实施,Xen的运行和管理都是在较低级别的(Ring 0)。
甚至对于新虚拟机创建,客体机器并不需要像KVM那样共享内存块、CPU指令或者任何底层的Linux操作系统。
5. 动态迁移,Xen支持非中断的动态迁移,允许动态工作负载平衡和例行维护而没有任何宕机时间,KVM的固有属性决定其必然有宕机时间。
6. 性能,大多数的KVM和Xen性能基准的对比都表明Xen具有更好的处理机性能,只有在I/O方面逊于KVM。
Xen在虚拟网络支持、虚拟存储支持、安全增强、高可用性、容错处理、电源管理、HPC或者实时支持、虚拟CPU可扩展性、跨平台兼容性。
虚拟机可移植性、虚拟应用设备市场以及已经建立起来的云服务社区等诸多方面都要比KVM优越KVM的优势:1. Xen是Linux内核下的一个产品,而KVM是Linux内核的一部分,所以很容易控制虚拟化进程,得到Linux厂商(红帽、Ubuntu)的大力支持。
2. Xen的泛虚拟化技术需要修改操作系统,默认的windows安装并不支持泛虚拟化。
而KVM是一个轻量级的虚拟化程序管理模块,补丁包能和Linux很好的兼容,不需要需改操作系统,就可以直接和硬件进行交互,3. Xen缺少很好的整合,所以将会是Linux内核的负担越来越重。
kvm qemu kqemu qemu-kvm libvirt 的区别

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 kqemu qemu-kvm libvirt 的区别
qemu是一套虚拟机管理系统,kqemu是qemu的加速器,可以认为是qemu的一个插件;qemu可以虚拟出不同架构的虚拟机,如在x86平台上可以虚拟出power机器;
kvm是另外的一套虚拟机管理系统,包括内核虚拟构架和处理器相关模块,其借用了 quem 其它一些组件,kvm的非内核部分是由qemu实现的;加载了模块后,才能进一步通过其他工具创建虚拟机。但仅有 KVM 模块是远远不够的,因为用户无法直接控制内核模块去做事情,还必须有一个用户空间的工具
libvirt则是调用kvm虚拟化技术的接口用于管理的,用libvirt管理方便,直接的其实有2个东西:qemu+kvm
kvm负责cpu虚拟化+内存虚拟化,实现了cpu和内存的虚拟化,但kvm不能模拟其他设备;
qemu是模拟IO设备(网卡,磁盘),kvm加上qemu之后就能实现真正意义上服务器虚拟化。
因为用到了上面两个东西,所以一般都称之为qemu-kvm。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
KVM:(Kernel-based Virtual Machine)基于内核的虚拟机
KVM是集成到Linux内核的Hypervisor,是X86架构且硬件支持虚拟化技术(Intel VT或AMD-V)的Linux的全虚拟化解决方案。
它是Linux的一个很小的模块,利用Linux做大量的事,如任务调度、内存管理与硬件设备交互等。
从存在形式看, KVM是两个内核模块kvm.ko和kvm_intel.ko(对AMD 处理器来说,就是kvm_amd.ko),这两个模块用来实现CPU的虚拟化。
如果要让用户在KVM上完成一个虚拟机相关的操作,显然需要用户空间的东西,同时还包括IO虚拟化,所以KVM的解决方案借鉴了QEMU的东西并做了一定的修改,形成了自己的KVM虚拟机工具集和IO虚拟化的支持,也就是所谓的qemu-kvm. (KVM is a fork of QEMU, namely qemu-kvm)
Xen
Xen是第一类运行再裸机上的虚拟化管理程序(Hypervisor)。
它支持全虚拟化和半虚拟化,Xen支持hypervisor和虚拟机互相通讯,而且提供在所有Linux版本上的免费产品,包括Red Hat Enterprise Linux和SUSE Linux Enterprise Server。
Xen最重要的优势在于半虚拟化,此外未经修改的操作系统也可以直接在xen上运行(如Windows),能让虚拟机有效运行而不需要仿真,因此虚拟机能感知到hypervisor,而不需要模拟虚拟硬件,从而能实现高性能。
QEMU is used by Xen.
QEMU
QEMU是一套由Fabrice Bellard所编写的模拟处理器的自由软件。
它与Bochs,PearPC近似,但其具有某些后两者所不具备的特性,如高速度及跨平台的特性,qemu可以虚拟出不同架构的虚拟机,如在x86平台上可以虚拟出power机器。
kqemu为qemu的加速器,经由kqemu 这个开源的加速器,QEMU能模拟至接近真实电脑的速度。
QEMU本身可以不依赖于KVM,但是如果有KVM的存在并且硬件(处理器)支持比如Intel VT功能,那么QEMU在对处理器虚拟化这一块可以利用KVM提供的功能来提升性能。
KVM和QEMU的关系
准确来说,KVM是Linux kernel的一个模块。
可以用命令modprobe 去加载KVM模块。
加载了模块后,才能进一步通过其他工具创建虚拟机。
但仅有KVM模块是远远不够的,因为用户无法直接控制内核模块去作事情,你还必须有一个运行在用户空间的工具才行。
这个用户空间的工具,kvm开发者选择了已经成型的开源虚拟化软件QEMU。
说起来QEMU也是一个虚拟化软件。
它的特点是可虚拟不同的CPU。
比如说在x86的CPU上可虚拟一个Power的CPU,并可利用它编译出可运行在Power上的程序。
KVM使用了QEMU的一部分,并稍加改造,就成了可控制KVM的用户空间工具了。
所以你会看到,官方提供的KVM 下载有两大部分(qemu和kvm)三个文件(KVM模块、QEMU工具以及
二者的合集)。
也就是说,你可以只升级KVM模块,也可以只升级QEMU 工具。
这就是KVM和QEMU 的关系。
QEMU是个独立的虚拟化解决方案,从这个角度它并不依赖KVM。
而KVM 是另一套虚拟化解决方案,不过因为这个方案实际上只实现了内核中对处理器(Intel VT, AMD SVM)虚拟化特性的支持,换言之,它缺乏设备虚拟化以及相应的用户空间管理虚拟机的工具,所以它借用了QEMU的代码并加以精简,连同KVM一起构成了另一个独立的虚拟化解决方案,不妨称之为:KVM+QEMU.
KVM用户空间虚拟机管理工具有kvm, kvm-img, kvm-nbd ,kvm-ok 和kvm_stat,实际上kvm就是一个指向qemu-system-x86_64的符号链接,kvm-img则是指向qemu-img的符号链接。
从适用的范围来讲, QEMU虚拟化方案除了支持x86架构外,还支持其他很多架构,比如
qemu-system-m68k,qemu-system-mips64, qemu-system-ppc64,qemu-system-arm等等。
但是目前提到KVM,一般指x86上基于Intel VT 和AMD SVM的解决方案,虽然目前将KVM移植到ARM, PPC的工作正在进行中。
当然由于redhat已经开始支持KVM,它认为KVM+QEMU'的方案中用户空间虚拟机管理工具不太好使,或者通用性不强,所以redhat想了一个libvirt出来,一个用来管理虚拟机的API库,不只针对KVM,也可以管理Xen等方案下的虚拟机。
kvm-qemu可执行程序像普通Qemu一样:分配RAM,加载代码,不同于重新编译或者调用callingKQemu,它创建了一个线程(这个很重要);这个线程调用KVM内核模块去切换到用户模式,并且去执行VM 代码。
当遇到一个特权指令,它从新切换会KVM内核模块,该内核模块在需要的时候,像Qemu线程发信号去处理大部分的硬件仿真。
这个体系结构一个比较巧妙的一个地方就是客户代码被模拟在一个posix线程,这允许你使用通常Linux工具管理。
如果你需要一个有2或者4核的虚拟机,kvm-qemu创建2或者4个线程,每个线程调用KVM内核模块并开始执行。
并发性(若果你有足够多的真实核)或者调度(如果你不管)是被通用的Linux调度器,这个使得KVM代码量十分的小。
当一起工作的时候,KVM管理CPU和MEM的访问,QEMU仿真硬件资源(硬盘,声卡,USB,等等)当QEMU单独运行时,QEMU同时模拟CPU和硬件。
from
/2013/03/20/different-bewteen-kvm-xen-qemu.html from /uid-23769728-id-3256677.html
from /question/536621740.html。