Xen虚拟化技术中PV和HVM的区别

转自 这里

Xen是一个开源的type-1或者裸机管理程序,它使得一个物理主机能够同时并行运行多个相同的或者不同的操作系统实例。Xen是目前唯一的开源可得的type-1管理程序。Xen被应用于许多商业和开源的应用程序中,比如:服务器虚拟化(server
virtualization)、基础设施即服务(Infrastructure as a Service)、桌面虚拟化(desktop
virtualization)、安全应用程序(security applications)、嵌入式和硬件设备(embedded and hardware
appliances)。毫无疑问,Xen驱动着当今大部分的云计算市场。

Xen支持运行两种不同类型的虚拟机:半虚拟化(PV)和全虚拟化(HVM)。在一个单一的Xen系统中可以同时运行这两种不同类型的虚拟机。另外,在全虚拟化(HVM)虚拟机中也能够使用半虚拟化(PV)技术:实质上是创建一个半虚拟化(PV)和全虚拟化(HVM)的连续体。这种方式被称为PV
on HVM。想要获取更多关于虚拟化的知识可以看这里

那么Xen虚拟化技术中的半虚拟化(PV)和全虚拟化(HVM)有什么区别呢?

Xen Paravirtualization (PV)

半虚拟化是由Xen引入的高效和轻量的虚拟化技术,随后被其他虚拟化平台采用。半虚拟化技术不需要物理机CPU含有虚拟化扩展。但是,要使虚拟机能够高效的运行在没有仿真或者虚拟仿真的硬件上,半虚拟化技术需要一个Xen-PV-enabled内核和PV驱动。可喜的是,Linux、NetBSD、FreeBSD和OpenSolaris都提供了Xen-PV-enabled内核。Linux内核从2.6.24版本起就使用了Linux
pvops框架
来支持Xen。这意味着半虚拟化技术可以在绝大多数的Liunx发行版上工作(除了那么内核很古老的发行版)。关于半虚拟化技术的更多信息可以看这里)

Xen Full Virtualization (HVM)

全虚拟化或者叫硬件协助的虚拟化技术使用物理机CPU的虚拟化扩展来虚拟出虚拟机。全虚拟化技术需要Intel VT或者AMD-V硬件扩展。Xen使用Qemu来仿真PC硬件,包括BIOS、IDE硬盘控制器、VGA图形适配器(显卡)、USB控制器、网络适配器(网卡)等。虚拟机硬件扩展被用来提高仿真的性能。全虚拟化虚拟机不需要任何的内核支持。这意味着,Windows操作系统可以作为Xen的全虚拟化虚拟机使用(众所周知,除了微软没有谁可以修改Windows内核)。由于使用了仿真技术,通常来说全虚拟化虚拟机运行效果要逊于半虚拟化虚拟机。

PV on HVM

为了提高性能,全虚拟化虚拟机也可以使用一些特殊的半虚拟化设备驱动(PVHVM 或者
PV-on-HVM驱动)。这些半虚拟化驱动针对全虚拟化环境进行了优化并对磁盘和网络IO仿真进行分流,从而得到一个类似于或优于半虚拟化虚拟机性能的全虚拟化虚拟机。这意味着,你可以对只支持全虚拟化技术的操作系统进行优化,比如Windows。

Xen半虚拟化虚拟机自动使用PV驱动-因此不需要提供这些驱动,你已经在使用这些优化过的驱动了。另外,只有Xen全虚拟化虚拟机才需要PVHVM驱动。关于PV
on HVM的更多信息可以看这里

PV in an HVM Container (PVH) - New in Xen 4.4

Xen
4.4会带来一个被称作PVH的新的虚拟化模式。实质上,它是一个使用了针对启动和I/O的半虚拟化驱动的半虚拟化模式。与全虚拟化不同的是,它使用了硬件虚拟化扩展,但是不需要进行仿真。在Xen
4.3发布后,xen-unstable会加入对此模式的补丁,Xen
4.4中将可以预览到这个功能。PVH拥有结合和权衡所以虚拟化模式优点的潜力,与此同时简化Xen的架构。

Xen虚拟化技术中PV和HVM的区别,布布扣,bubuko.com

时间: 2024-10-12 21:21:45

Xen虚拟化技术中PV和HVM的区别的相关文章

虚拟化技术比较 PV HVM

XEN中pv是半虚拟化,hvm是全虚拟化,pv只能用于linux内核的系统,效率更高,hvm可以虚拟所有常见操作系统(可以使用windows),理论效率比pv略低,另外,hvm需要cpu虚拟化指令支持(CPU 必须开启Intel VT or AMD -V),pv无此要求.KVM是新兴的虚拟化项目,出售KVM的VPS商家不多,但据说KVM虚拟技术是比较强悍的.而OpenVZ是一个类似于Linux-VServer的操作系级全虚拟化解决方案,目前基于Xen和OpenVZ的VPS服务商比较多.本文就VP

Xen虚拟化技术简介

Xen是 Red Hat Enterprise Linux 5 提供的新功能,通过Xen技术,可以让一台电脑同时执行多个操作系统,将计算机的效能发挥得淋漓尽致.本章将介绍 Xen 这个新功能的概念与实际配置的方法.1  Xen简介我们都知道,一个计算机中最重要也最昂贵的设备应该就是中央处理器(Central Processing Unit,CPU)了.现在计算机的中央处理器越来越快,除了增加频率外,中央处理器的架构也从单内核跃进到多内核.然而,中央处理器在大部分的时间都是闲置的.以"效能/成本&

50 xen虚拟化技术基础、xen虚拟化技术进阶

01 xen虚拟化技术基础 配置环境: node1 192.168.1.61 CentOS6.6 [[email protected] ~]# uname -r 2.6.32-504.el6.x86_64 [[email protected] ~]# cd /etc/yum.repos.d/ [[email protected] yum.repos.d]# vim xen4.repo [xen4centos] name=Xen4 for CentOS 6 baseurl=ftp://192.16

虚拟化二、Xen虚拟化技术

一.Xen简介 1.Xen简介 Xen 英国剑桥大学研发,开源的VMM,是一种类型 1 虚拟机管理程序,它创建系统资源的逻辑池,使许多虚拟机可共享相同的物理资源. Xen 是一个直接在系统硬件上运行的虚拟机管理程序.Xen 在系统硬件与虚拟机之间插入一个虚拟化层,将系统硬件转换为一个逻辑计算资源池,Xen 可将其中的资源动态地分配给任何操作系统或应用程序.在虚拟机中运行的操作系统能够与虚拟资源交互,就好象它们是物理资源一样. Xen 架构 Xen 运行 3 个虚拟机.每个虚拟机与其他虚拟机都独自

xen虚拟化技术

虚拟化技术的分类:(1) 模拟:Emulation:Qemu,PearPC,Bochs(2) 完全虚拟化:Full Virtualization,Native VirtualizationHVMVMware Workstation,VirtualBox,VMWare Server,Parallels Desktop,KVM,XEN(3) 半虚拟化:ParaVirtualizationGuestOS:知晓自己是运行VirtualizationHypercall(4) OS级别虚拟化:将用户控件分割

XEN、VMware和Hyper-V三种虚拟化技术切割的VPS有什么区别?

首先,先来了解一下XEN.VMware和Hyper-V: 1. Xen XEN 是英国剑桥大学计算机实验室开发的一个虚拟化开源项目,XEN 可以在一套物理硬件上安全的执行多个虚拟机,它和操作平台结合的极为密切,占用的资源最少. Xen通过一种叫做准虚拟化的技术获得高性能,甚至在某些与传统虚拟技术极度不友好的架构上(x86),Xen也有上佳的表现.与那些传统通过软件模拟实现硬件的虚拟机不同,在Intel VT-X支持下3.0版本之前的Xen需要系统的来宾权限,用来和Xen API进行连接. 2.

虚拟化三、Xen虚拟化技术2

一.使用DomU自有kernel来启动运行DomU 上篇博文中创建的pv格式的vm,内核和引导文件都是放在DomU中, 1.准备磁盘映像文件 losetup   losetup -a: 显示所有已用的loop设备相关信息 losetup -f: 显示第一个空闲的loop设备文件 [[email protected]_175 xen]# qemu-img create -f raw -o size=5G busybox3.img Formatting 'busybox3.img', fmt=raw

虚拟化技术介绍、Xen的简单实现

虚拟化是什么? 虚拟化是一种资源管理技术, 是将计算机的各实体资源, 如服务.网络.内存及存储等, 予以抽象.转换后呈现出来, 打破实体之间的不可切割的障碍, 使用户可以比原本的配置更好的方式来应用这些资源.这些资源的新虚拟部分是不受现有资源的架设方式, 地域或物理配置所限制.一般情况下, 虚拟化资源包括计算能力和数据存储 -<转自维基百科> 为什么需要虚拟化? 虚拟化技术在近几年来非常的火热, 实际上在上个世纪60年代, 就已经有了虚拟化的实现.由于计算机的发展遵循了摩尔定律数十年之久. 在

基于KVM、Xen、OpenVZ等虚拟化技术的WEB在线管理工具

1.Proxmox proxmox是一个开源的虚拟化管理平台,支持集群管理和HA.在存储方面,proxmox除了支持常用的lvm,nfs,iscsi,还支持集群存储glusterfs和ceph,这也是我们选择它的原因.官方网站http://www.proxmox.com. Proxmox VE (Proxmox VirtualEnvironment) 是一个非常棒的集成OPENVZ[1]支持KVM[2]应用的环境.有方面易用的WEB界面,基于JAVA的UI和内核接口,可以登录到VM客户方便的操作