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

属于半虚拟化技术的是

本文目录一览

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


virtio:LinuxI/O半虚拟化革命


在云计算和虚拟化领域,一个关键的技术支柱是virtio。 这是RustyRussell为访客项目精心设计的半虚拟化框架。 本文将带您深入了解virtio的本质,探讨它在Linux世界中的重要作用和优势。


1.virtio的诞生及初衷

Virtio源于对效率的追求,旨在为虚拟化Hypervisor提供高效、标准化的设备模拟接口。 它最初是为了解决全虚拟化的效率瓶颈而设计的。 通过半虚拟化,主机和虚拟机之间的交互更加紧密,从而实现更快的I/O性能。


2.全虚拟化与半虚拟化的竞争

全虚拟化通过模拟底层硬件来隔离客户端,虽然安全,但是效率较低,而virtio支持半虚拟化协作,需要guest做一些改变,以换取更高的性能。 表现。 virtio为Linux提供了通用的设备模拟接口,使跨平台代码重用变得容易。


3.Linux中的Virtio架构

virtio的核心在于通过标准化接口设计其前端和后端驱动程序,virtio_net和virtio_blk等驱动程序简化了设备模拟。 前端驱动程序负责与虚拟机管理程序交互,例如网络和块设备,而后端驱动程序负责虚拟机管理程序中的实际操作。 关键组件Virtqueue通过环机制实现个性化通信,使得数据传输更加高效。


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


4.virtio的广泛应用和性能提升

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


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



II、KVM与XEN虚拟化环境究竟有何不同

虚拟化的概念近年来变得非常流行。 原因很简单:虚拟化可以提高资源利用率,为企业节省成本。 目前,市场上最流行的虚拟架构包括KVM、XEN和VMware。 其中KVM和XEN是免费开源的,而VMware是付费的。

如果简单地表示KVM和XEN的话,KVM是一种完整的虚拟化技术,包括硬件虚拟化支撑技术(全虚拟化)。 另一方面,XEN是一种半虚拟化技术,也称为半虚拟化技术。

全虚拟化技术(左)和半虚拟化技术(右)KVM在虚拟机和硬件之间添加了软件——Hypervisor,或者说虚拟机控制器(VMM),KVM管理程序直接运行在物理硬件上,它修改了客户操作系统并集成了虚拟化代码。 KVM架构分为两部分:KVM驱动程序,它是linux内核的一个模块,和Qemu,它用来模拟虚拟化,它的主要优点是KVM与Linux内核是虚拟的,所以不需要虚拟化。 区分pv和hvm。 它可以运行在支持虚拟化的系统上,但它并不是真正的虚拟机。 它只是它支持在Windows系统上运行的内核的副本。 此外,XEN还具有更好的资源可用性、平台支持、可管理性、实施性、支持实时迁移和性能基准等优点。

素材参考:http://server.zol.com.cn/586/5869108.html


III、几种常见的计算机虚拟技术
它还支持在单一平台上运行许多不同的内核和不同类型的操作系统,相当于一台真正的物理机。 其最大的缺点是,由于需要完全的硬件虚拟化,执行效率较低,在实际应用中成本较高。 常见技术平台包括:ParallelsWorkstation、ParallelsDesktopforMac、VirtualBox、VirtualIron、OracleVM、VirtualPC、VirtualServer、Hyper-V、VMwareWorkstation、VMwareServer(以前称为GSXServer)、QEMU、Adeos、Mac-on-Linux、Win4BSD、Win4LinPro和Technology叶格纳夫刀片。 半虚拟化技术可以选择性地在特定硬件上执行所需的虚拟化。 它是全虚拟化和内核级虚拟化之间的折衷方法,因此其各方面的性能大多落在两者之间。 使用半虚拟化技术需要对GuestOS进行一些必要的更改,以便其能够在虚拟平台上顺利运行。 常见的技术平台有:Xen、UML、TRANGO和KVM。 操作系统级虚拟化技术(OS-levelvirtualization)是基于操作系统级别的虚拟技术。 GuestOS环境和物理计算机系统共享同一个系统内核,这有点类似于隔离各个运行环境。 因此,它只能运行具有相同内核的系统,并且需要对现代VPS中广泛使用的GuestOS进行一些必要的更改。 常见的技术平台有:SolarisContainers、OpenVZ、Linux-VServer、AIXWorkloadPartitions、ParallelsVirtuozzoContainers和iCoreVirtualAccounts。 硬件辅助虚拟化技术通常也称为HVM。 使用该虚拟化技术不需要修改GuestOS。 当前集成虚拟技术支持的硬件平台:x86(和x86_64)-AMD-V、IntelVT-x、IOMMU、PowerArchitecture、Virtage(Hitachi)、UltraSPARCT1、T2andT2+(Sun)。 支持这些硬件平台的虚拟技术软件包括:LinuxKVM、VMwareWorkstation、VMwareFusion、MicrosoftVirtualPC、Xen、ParallelsDesktopforMac、VirtualBox和ParallelsWorkstation。