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

完全虚拟化和半虚拟化(虚拟机完全去虚拟化)

什么是虚拟化?

虚拟化是资源的逻辑表示,并不局限于物理资源。执行环境并不在真实的硬件上,而是在硬件上的一块虚拟内存上,或者在虚拟环境中。

虚拟化提供了数据、计算能力、存储资源等的逻辑视图,而不是物理视图。虚拟化的发展显着降低了IT硬件成本,减少了资源浪费,提高了系统的稳定性和安全性。

1.全虚拟化

全虚拟化(FullVirtualization)也称为原始虚拟化技术。该模型使用虚拟机来协调Guest操作系统和原始设备。VMM运行在Guest中,为了协调系统和裸硬件之间的工作,一些受保护的指令必须被hypervisor(虚拟机管理程序)捕获并处理。全虚拟化运行速度比硬件模拟快,但性能不如裸机,因为虚拟机管理程序要占用一些资源。

2.半虚拟化

半虚拟化是另一种类似于全虚拟化的技术。它使用Hypervisor来共享对底层硬件的访问,但其Guest操作系统集成了虚拟化代码。这种方法不需要重新编译或陷阱,因为操作系统本身可以很好地处理虚拟进程。半虚拟化需要对Guest操作系统进行一些修改,以使Guest操作系统明白它处于虚拟化环境中,但半虚拟化提供了与原始操作系统类似的性能。

扩展信息:

虚拟机设备队列(VMDq):最大化输入/输出吞吐量。在传统服务器虚拟化环境中,VMM必须对每个单独的数据包进行分类,并将其路由到适当的虚拟机。这会消耗大量处理器周期。通过VMDq,这种分类功能可以由Intel服务器网卡内部的专用硬件来执行,而VMM只需要负责将这组预分类的数据包发送到相应的虚拟机即可。这将减少I/O延迟,并为处理器提供更多可用于处理业务应用程序的周期。IntelVT-c可以将I/O吞吐量提高一倍以上,使虚拟化应用程序能够实现接近物理服务器的吞吐量速度。

虚拟机直连(VMDc):大幅提升虚拟化性能。VMDc允许虚拟机直接访问网络I/O硬件,从而显着提高虚拟机性能。例如,使用单个Intel10G服务器NIC,可以为10个虚拟机中的每一个分配一个受保护的专用1Gb/s连接。这些通信链路直接绕过VMM交换机,进一步提高I/O性能并减少服务器处理器的负载。

参考资料:-虚拟化

全虚拟化&半虚拟化&硬件辅助虚拟化关系是什么?全虚拟化(FullVirtulization)
简介:主要捕获并处理来宾操作系统与硬件之间的虚拟化敏感特权指令,使来宾操作系统无需修改即可运行,速度也会得到提升。根据不同的实现方式有所不同,但总体上可以满足用户的需求。该方式是当今业界最成熟、最流行的方式,分为Hosted模式和Hypervisor模式。著名产品包括IBMCP/CMS、VirtualBox、KVM、VMwareWorkstation和VMwareESX(4.0版本更名为VMwarevSphere)。
优点:GuestOS不需要修改,速度和功能都很棒,更重要的是,它非常容易使用,无论是VMware产品还是Sun的VirtualBox(Oracle?)。
缺点:完全依赖Storage模式的虚拟产品,性能并不是特别好,尤其是I/O方面。
未来:由于采用这种模式,不仅GuestOS免于修改,而且通过引入硬件辅助虚拟化技术,其性能也会得到提升。我个人的评估是,全虚拟化仍将是未来的主流趋势。
Pairtulization
简介:它有点类似于全虚拟化,也是利用Hypervisor来实现对底层硬件的共同访问,但是由于Hypervisor所以上面运行的GuestOS集成了代码与并行虚拟化相关,帮助GuestOS与Hyperivosr很好的配合部署虚拟化。通过这种方式,不需要重新编译或者捕获特权指令,使其性能非常接近物理机,其最经典的产品就是Xen,而由于微软的Hyper-V采用了与Xen类似的技术,所以Hyper-V可以也可用于半虚拟化。
优点:与全虚拟化相比,该模式架构更加精简,整体速度有一定优势。
缺点:GuestOS需要修改,所以在用户体验方面会比较复杂。
未来:我认为它的未来会和现在的情况类似。它将继续在公有云中占有一席之地(像AmazonEC2),但很难与全虚拟化竞争,像VMwarevSphere在产品竞争的其他方面,它也会使用硬件辅助虚拟化技术来提高速度并简化架构。
硬件辅助虚拟化(HardwareAssistedVirtualization)
简介:硬件厂商如Intel/AMD等硬件厂商基于完全虚拟化和并行虚拟化所使用的几种软件技术(具体会在下面详细讨论))以提高性能。硬件辅助虚拟化技术通常用于优化全虚拟化和半虚拟化产品而不是原生,最著名的例子是VMwareWorkstation,虽然虚拟化是全虚拟化,但在其6.0版本中引入了硬件辅助虚拟化。例如Intel的VT-x和AMD的AMD-V。目前市场上主流的全虚拟化和半虚拟化产品都支持硬件辅助虚拟化,包括VirtualBox、KVM、VMwareESX、Xen等。
优点:通过引入硬件技术,虚拟化技术更加接近物理机的速度。
缺点:目前的硬件实现还不够优化,需要进一步改进。
未来:由于硬件技术的使用不仅可以提高虚拟化技术的速度,而且可以简化虚拟化技术的架构,因此可以预见,硬件技术将被大多数虚拟化产品所采用。
OperatingSystemLevelVirtualization
简介:该技术通过隔离主机操作系统来进行虚拟化,主要用于VPS。关键技术包括ParallelsVirtuozzoContainers、类Unix系统上的chroot以及Solaris上的Zone。
优点:由于是直接修改操作系统,所以实现成本低,性能好。
缺点:资源隔离性能较差,GuestOS型号及版本有限。
未来:不清楚。我觉得除非有革命性的技术出现,否则它应该还是属于一个小细分市场,比如VPS。
更多关于云计算的知识,可以参考云计算全知识IT账号。该网站还提供云计算方面的专业知识。
我也是从这里找到的。