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

全虚拟化和半虚拟化产品


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


二、virtio——一种LinuxI/O半虚拟化框架[译]


virtio:LinuxI/O半虚拟化革命


在云计算和虚拟化领域,virtio是关键的技术基础。这是一个半虚拟化环境。由RustyRussell为客座项目精心设计。本文将向您介绍virtio的本质,并探讨它在Linux世界中的重要作用和好处。


的诞生和最初目的

Virtio源于对效率的渴望,旨在为虚拟化管理程序提供高效且标准化的设备建模接口。它最初是为了解决完全虚拟化的效率问题而设计的。通过半虚拟化,主机和虚拟机之间的交互变得更加紧密,从而带来更好的I/O性能。


2.全虚拟化与半虚拟化之间的竞争。

全虚拟化通过模拟底层硬件来隔离客户端。虽然这是安全的,但效率较低,尽管virtio提倡半虚拟化;协作并要求客人做出某些改变以换取更高的绩效。virtio为Linux提供了通用的设备模拟接口,可以轻松地重用跨平台代码。


上的Virtio架构

virtio的核心是virtio_net、virtio_blk等前端和后端驱动的开发。简化设备模拟。前端驱动程序负责与Hypervisor进行交互,例如网络和块设备,后端驱动程序负责Hypervisor中的实际操作。关键组件Virtqueue通过环机制实现自定义通信,使数据传输更加高效。


图中,外部驱动(例如virtio_driver)和内部驱动(virtqueue、virtqueue_ops)交互紧密,进行驱动注册、设备识别等操作。配置选项也有详细描述。virtqueue回调机制使得数据传输过程对客户端透明,无需担心内部细节。


的广泛应用和性能提升。

Virtio不仅在高性能计算领域发挥着重要作用,例如virtioPCI驱动程序,而且还广泛应用于半虚拟化领域,例如KVM和客户基础设施。RustyRussell的工作在优化网络I/O方面取得了显着的成果,显着提高了虚拟化环境中的I/O性能。


深入研究virtio架构对于了解半虚拟化I/O的效率提升至关重要。它不仅有助于提高Linux作为hypervisor的竞争力,而且在虚拟化技术的发展中占据着关键的地位。对virtio的深入研究无疑将为我们探索云计算和虚拟化技术的未来提供新的视角。