当前位置:首页 > 虚拟化 > 正文

全虚拟化与半虚拟化区别在于(容器化和虚拟化区别)


一、半虚拟化和全虚拟化的区别是什么?全虚拟化,也称为原始虚拟化技术,是另一种虚拟化方法。该模型使用虚拟机来协调来宾操作系统和原始硬件(参见图2)。“协调”是这里的一个关键词,因为VMM使用来宾操作系统和裸硬件之间的工作协调。图2.完全虚拟化:使用虚拟机管理程序。一些受保护的指令必须由Hypervisor(虚拟机管理器)捕获并处理。它们共享底层硬件,全虚拟化比硬件模拟工作得更快,但性能不如裸机,因为虚拟机管理程序要占用一些资源。全虚拟化的最大优点是操作系统没有经过任何方式的修改。限制是操作系统必须能够支持底层硬件(例如PowerPC)。具有较旧硬件(如x86)的较旧计算机上的虚拟机管理程序在VMM处理完全虚拟化时存在问题(VMM无法设置陷阱)。因此,虚拟机管理程序必须动态扫描并获取特权代码来处理该问题。半虚拟化半虚拟化是另一种类似于全虚拟化的流行技术,共享对底层硬件的访问,但其客户操作系统集成了虚拟化代码,这种方法不需要重新编译或引入陷阱,因为操作系统本身可以虚拟进程很好地配合(图3)。半虚拟化:通过共享来宾操作系统进程如上所述,半虚拟化需要对来宾操作系统进行一些更改(与虚拟机管理程序合作),这是一个限制。然而,半虚拟化提供了与原始系统相似的性能。和全虚拟化一样,半虚拟化可以同时支持多个不同的操作系统存在一个问题:在半虚拟化环境中,没有修改内核的操作系统无法运行,因此CPU不支持vt,运行在主机系统境上所以vmwera可以在CPU不支持vt的机器上运行xp。为什么可以执行?


二、虚拟化技术KVM和XEN的区别虚拟化类型
全虚拟化(FullVirtualization)
全虚拟化也成为了最初的虚拟化技术,这种模式使用虚拟机来协调来宾操作系统和本机硬件进行协调在来宾操作系统和裸硬件之间,管理程序必须捕获并处理一些受保护的指令。
图1全虚拟化模型
全虚拟化运行速度比硬件模拟快,但性能不如裸机,因为hypervisor必须占用一些资源
半虚拟化(ParaVirtualization)
半虚拟化是另一种类似于全虚拟化的技术。它使用虚拟机管理程序来共享对底层硬件的访问,但其客户操作系统具有内置的虚拟化代码。这种方法不需要重新编译或陷阱,因为操作系统本身可以很好地处理虚拟进程。
图2半虚拟化模型
半虚拟化要求来宾操作系统进行一些修改,以使来宾操作系统了解其处于虚拟化环境中,但半虚拟化提供的性能与到原来的操作系统。
虚拟化技术
基于内核的虚拟机KVM(Kernel-basedVirtualMachine)
KVM是内置于Linux内核的Hypervisor,是X86架构针对Linux的完整虚拟化解决方案,其硬件支持虚拟化技术(IntelVT或AMD-V)。它是一个小型的Linux模块,使用Linux来做很多事情,比如任务调度、内存管理、硬件交互等。
图3KVM虚拟化平台架构
Xen
Xen是第一种运行在裸机上的虚拟化管理程序(Hypervisor)。它支持全虚拟化和半虚拟化Xen支持虚拟机管理程序和虚拟机之间的通信,并在所有Linux版本上提供免费产品,包括RedHatEnterpriseLinux和SUSELinuxEnterpriseServer。Xen最重要的优点是半虚拟化,此外,未经修改的操作系统也可以直接在xen上运行(例如Windows),允许虚拟机无需模拟即可有效运行,因此虚拟机可以进行虚拟机管理,而无需模拟虚拟。硬件,从而实现高性能。
虚拟化平台架构图4Xen
QEMU
QEMU是FabriceBellard编写的一套免费处理器模拟软件。它与Bochs和PearPC类似,但具有后两者所不具备的一些特性,例如高速和跨平台特性。通过开源加速器kqemu,QEMU可以模拟接近真实计算机的速度。
KVM与QEMU的关系
准确地说,KVM是一个Linux内核模块
。您可以使用modprobe命令加载KVM模块。加载模块后,您可以通过其他工具进一步创建虚拟机。但光有KVM模块是不够的,因为用户无法直接控制内核模块做事。对于这个用户空间工具,kvm开发人员选择了已经成熟的开源虚拟化软件QEMU。说起来,QEMU也是一个虚拟化软件。它的特点是可以虚拟不同的CPU。例如,PowerCPU可以虚拟成x86CPU,并可以用来编译可以在Power上运行的程序。KVM使用了QEMU的一部分,并对其进行了一些修改,成为可以控制KVM的用户空间工具。所以你会看到官方的KVM下载有两个部分(qemu和kvm)和三个文件(KVM模块、QEMU工具和两者的集合)。也就是说,您可以只升级KVM模块或只升级QEMU工具。这就是KVM和QEMU的关系。
图5KVM与QEMU关系
三、常见的虚拟化技术有哪些1、KVM:
它是一种基于操作系统的完整虚拟化技术。必须运行在操作系统上,不能直接运行在物理机上。
这种类型的虚拟化必须要求CPU支持虚拟化功能。即虚拟化模块集成到CPU中,因此KVM不需要模拟整个CPU和内存,而只调用物理机的CPU和内存对它们进行分配操作,从而大大提高虚拟机的性能。它们的性能与物理机基本相同。KVM模块集成在Linux系统中,会随系统一起提供,需要安装。
2.架构是一样的,即支持内核修改的系统一定是开源系统,而闭源系统则不支持内核修改,比如微软和苹果操作系统都不是开源的,支持Xensemi。-虚拟化技术,这是XEN的一大缺陷,但3.0版本后也支持全虚拟化。
与XEN的对比:
由于现在大多数CPU都内置了虚拟化功能,所以基本都支持KVM虚拟化技术,而XEN虚拟化技术必须开源,才能与主机系统的架构相协调,不能一概而论。避免了它逐渐被KVM取代。
提高兼容性。由于KVM的普及,仍然无法阻止它被KVM取代。

虚拟化的VNWARE-esxi是一个独立的操作系统,直接运行在物理机上,不依赖操作系统。Esxi有自己的服务器管理服务器,可以创建虚拟机并上传镜像文件。不过在window-server2008上安装vsphere-server可以实现虚拟机的远程服务器管理,并且支持将虚拟机移动到另一台物理机上,还支持创建虚拟机并支持上传ISO镜像文件。
5.主流架构平台:
x86_64armamd
s(来宾):
运行在宿主机或物理机上的虚拟机
7:
模拟键盘、鼠标、显示器等其他硬件设备
8.虚拟化使用条款:
Vmware是付费的,KVM和XEN是免费的
9指令集所属:
vmx来自inter,svm来自AMD,它们都是虚拟指令集fromcup
10虚拟化常用磁盘格式:
1)raw:创建尽可能多的磁盘空间,相当于您指定的磁盘空间,对应于一个占用物理磁盘空间的文件。数据按顺序存储在磁道上,因此性能最好,但占用空间是最大的问题,不利于虚拟机迁移到这种磁盘格式。
2)qcow2:常见的虚拟化镜像格式,可以在镜像上创建多个快照,数据随机保存在磁道上,性能接近RAW磁盘
硬盘采用的格式占用的空间更少,硬盘占用的物理空间大小随着硬盘上存储的数据的增加而增加,虚拟机的迁移比RAW格式更快。
3)vmdk:在KVM、XEN等虚拟化技术中不常使用,但这种镜像格式在VMware-ESXI上的性能还是相当稳定和优秀的。