来源:好完美 浏览次数: 发布时间:2022-01-30 09:04:04
虚拟化分类:
根据不同分为全虚拟化和半虚拟化;
根据操作系统架构分为平台虚拟化;
根据操作系统的调用,分为操作系统调用,如。
硬件难找时使用qemu进行软件测试
Xen 半虚拟化没有硬件要求,会修改来宾操作系统的内核。
某些受保护的指令必须由(管理程序)捕获和处理。由于操作系统是通过共享底层硬件的。
在半虚拟化环境中,内核未修改的操作系统无法运行,这也是其推广受限的原因。
部署xen时,需要安装内核
半虚拟化是指需要修改虚拟化系统的内核,使系统可以在Xen上完美虚拟化。完全虚拟化意味着它可以直接在 Xen 上运行,无需修改系统内核。
抛出异常(throw)是java中的程序处理动作。如果某个方法没有捕获可能引发的异常,则调用该方法的其他方法应该捕获并处理该异常。
全虚拟化比硬件仿真运行得更快,但它的性能不如裸机,因为它占用了一些资源。全虚拟化最大的优点是操作系统没有被修改。它唯一的限制是操作系统必须能够支持底层硬件(例如 )。
(英文:-,有时也称为PPC)是一种精简指令集(RISC)架构的中央处理器(CPU),其基本设计源自IBM(国际商业机器公司)POWER
当一个完全虚拟化的虚拟机需要申请内存时,vmm需要进行捕获和翻译(但随着硬件的发展,这已经不是瓶颈了)
半虚拟化有一个专用的管理程序来捕获特权指令。
后端图为主,增量图为差异图(内容不同)
全虚拟化(Full),也称为原始虚拟化技术,是另一种虚拟化方法。该模型使用虚拟机来协调客户操作系统和原始硬件(见图2)。这里的“协调”是一个关键词,因为VMM用于客户操作系统和裸机之间的工作协调)硬件。一些受保护的指令必须由(管理程序)捕获和处理。由于操作系统是通过共享底层硬件的。
图2. 全虚拟化:使用共享底层硬件
全虚拟化运行速度比硬件仿真快,但性能不如裸机,因为它需要一些资源。全虚拟化最大的优点是操作系统没有被修改。它唯一的限制是操作系统必须能够支持底层硬件(例如 )。
在旧机器上
一些老硬件比如x86,全虚拟化遇到了问题。比如一些敏感指令需要VMM处理(VMM不能设置trap)。因此,必须对特权代码进行动态扫描和捕获以处理该问题。
半虚拟化
() 是另一种类似于完全虚拟化的流行技术。它使用(管理程序)对底层硬件的共享访问,但其客户操作系统集成了代码的虚拟化方面。这种方法不需要重新编译或抛出陷阱,因为操作系统本身可以很好地与虚拟进程配合。
图 3. 半虚拟化:通过客户操作系统共享进程
如上所述,半虚拟化需要对客户操作系统进行一些修改(合作),这是一个缺点。然而,半虚拟化提供了与原始系统相似的性能。和全虚拟化一样,半虚拟化可以同时支持多个不同的操作系统。
有这个问题:
在半虚拟化环境中,内核未经修改的操作系统无法运行。那么,cpu不支持vt,而宿主系统上运行的虚拟环境可以称为半虚拟化环境,那么cpu不支持vt。机器能在机器上运行xp,这很矛盾,为什么能运行呢?
PV 与 FV
PV (Para-) 和 FV (Full-) 的区别主要在于客户操作系统的硬件仿真级别。
FV:FV是一种常见的做法。所有的guest OS根本看不到实际的硬件,只能使用提供的所有虚拟硬件。因此,在这种机制下,guest OS 的自动性能势必会受到虚拟接口的极大影响。另一个特点是由于彻底模拟的关系,不支持新技术,甚至无法使用ACPI切换机制,即用户在FV guest OS下,如果用户直接触摸关机键(这里的按钮是VMM提供的,不是主机上的)会直接关机,不经过关机程序。
PV:关于PV的实践,鉴于通常工具都是完全模拟的,导致性能下降,所以,在XEN的设计中,我希望每个操作系统在开发的时候都可以包含XEN技术。,这样在使用的时候就可以使用本地模拟的方式,这样操作系统就可以直接使用硬件中的CPU、内存等,而不需要经过XEN模拟操作。
这样一来,如果硬件都是模拟的,性能自然会变慢。因此,XEN 的主要概念是,当操作系统默认支持 XEN 时,可以通过 XEN 机制直接使用底层硬件。并非每个操作系统必须通过的每个接口都可以大大提高性能。
PV和FV的安装,对CPU的要求是不同的。在 PV 方面,由于 OS 本来就支持 XEN,所以不需要经过特殊的处理步骤。所以对CPU没有特殊要求,基本都能用。
但FV不同。由于FV模式是在彻底仿真模式下进行的,CPU必须专门将这个功能加到CPU的核心中,所以CPU有特殊的需求。在 Intel 和 AMD 中,新增功能的名称不同,分别是 Intel VT 和 AMD-V。
在当前的 Linux 世界中,XEN 并不是唯一的。除了 XEN 架构之外,还有一个 KVM(基于),Linux 从 2.6.20 版本开始支持。由于KVM是在原有的基础上,只要加载了,就可以使用。与 XEN 相比,唯一的弱点是 KVM 使用单个 Full 作为服务模式。
近年来,虚拟化取得了长足的进步,首先是因为大量的开源虚拟机管理程序正在开发中,这一改进几乎消除了操作系统与快速增加的高功率服务器利用率之间的障碍,公司从中受益立即地。直到最近,软件仿真虚拟化一直是关注的焦点,软件仿真虚拟化的两种常见方法是完全虚拟化和半虚拟化。对于完全虚拟化,通常调用管理程序或虚拟机监视器,它存在于虚拟操作系统和硬件层之间,它在操作系统实例之间多路复用竞争的系统资源。半虚拟化是不同的。管理程序在协作环境中运行。由于每个客户操作系统都知道它在虚拟化环境中运行,因此使用管理程序的每次协作都在硬件之下。完成虚拟。
两种方法都有优点和缺点,半虚拟化的主要优点是它以不支持专有操作系统为代价尽可能快地运行基于软件的虚拟化。全虚拟化没有这个限制,但是,全虚拟化管理程序很复杂。,一种商业虚拟化解决方案,它是彻底虚拟化的一个例子,Xen、用户模式 Linux (UML) 等提供了半虚拟化解决方案。
简单介绍一下基于硬件的虚拟化,界线变得模糊了,随着Intel的VT技术和AMD的SVM技术的出现,写一个变得更容易了,而今天,将的复杂度保持在一定程度上,它从完整的虚拟化中受益匪浅。
Xen作为最好的半虚拟化引擎,现在借助基于硬件的虚拟化支持MS的完全虚拟化。KVM 是一个比较新的和简单的,但也是一个非常强大的虚拟化引擎,它已经集成到 Linux 内核中,使内核天生就具备虚拟化的能力,因为 KVM 采用了基于硬件的虚拟化技术,它不需要修改来宾操作系统,因此,部署在受支持的处理器上,它可以支持 Linux 的任何平台。
1、Xen 是一款同时支持半虚拟化和全虚拟化的虚拟化软件。它也可以用在不支持 VT 技术但只能在半虚拟化模式下运行的 CPU 上。2、半虚拟化是指需要对虚拟化系统的内核进行修改,使系统可以在Xen上完美虚拟化。完全虚拟化意味着它可以直接在 Xen 上运行,无需修改系统内核。3、 是一个完整的虚拟化软件。完全虚拟化的弱点在于它不如半虚拟化高效。半虚拟化系统性能可以接近裸机上的性能。4、 Xen 由称为 xend 的后台守护程序维护从头到尾架设完美国际之 配置colinux虚拟机,必须启动它才能运行虚拟系统。它的配置文件在/etc/xen/xend-.sxp,里面包括宿主系统的类型、网络的链接结构、宿主操作系统的资源使用设置,以及vnc链接的一些内容。(如果要添加虚拟网络设备,需要在此处设置)5、/etc/xen/auto 表示如果要虚拟系统以宿主系统启动,把配置文件虚拟系统放在这个目录下。6、/etc/xen/是脚本文件,用来初始化各种虚拟设备,比如虚拟网桥等(如果要添加虚拟网络设备,这里也需要调整一下)7、@ >/etc/xen下会有一些配置文件,是虚拟系统启动所必需的文件从头到尾架设完美国际之 配置colinux虚拟机,里面记录了启动和硬件信息。< @8、Xen 有很多配置工具,我使用 virt-(GUI)、virt- 和 xm。第一个用于管理和安装系统,第二个仅用于安装系统,第三个用于启动系统。9、准虚拟Linux有两种安装方式,一种是使用Linux网络安装,http、ftp、nfs都可以(特别注意:准虚拟环境下Linux安装不支持本地光盘或 iso 映像安装!),并且 RHEL5 会自动生成配置文件。二是先创建镜像文件,格式化,然后挂载到本地文件系统,复制修改虚拟系统需要的文件,然后手动创建配置文件并启动。10、虚拟网络设备有三种模式:桥接模式、路由模式和nat模式。桥接模式是默认模式。在这种模式下,虚拟系统和主机系统被认为是平行关系。虚拟系统配置好IP或者dhcp后,就可以上网了。11、 本来是无法在桥接模式下处理数据包的。一个模块被添加到 RHEL5。可以使用 -m -h 查看帮助