Paravirtualization (半虚拟化PV) - Xen

Posted rtoax

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Paravirtualization (半虚拟化PV) - Xen相关的知识,希望对你有一定的参考价值。

目录

它是什么?

光伏 IO 驱动程序

表现

PV 和 Linux (PVOPS)

光伏和传统应用

兼容性


https://wiki.xenproject.org/wiki/Paravirtualization_(PV)

此图显示了硬件驱动程序如何与 PV 后端和 PV 前端交互。

它是什么?

半虚拟化 (PV) 是 Xen 项目团队引入的一种高效、轻量级的虚拟化技术,后来被其他虚拟化解决方案采用。PV 不需要来自主机 CPU 的虚拟化扩展,因此可以在不支持硬件辅助虚拟化的硬件架构上实现虚拟化。但是,PV 来宾和控制域需要内核支持和驱动程序,过去需要特殊内核构建,但现在是 Linux 内核和其他操作系统的一部分。

半虚拟化实现以下功能

  • 磁盘和网络驱动程序
  • 中断和定时器
  • 模拟主板和传统引导
  • 特权指令和页表
此图概述了如何在 Xen 项目管理程序中实现半虚拟化

光伏 IO 驱动程序

 

磁盘和网络支持(但通常 PV 方法也可以应用于其他外围设备,例如音频、USB 等)是通过一对非常简单的 PV 后端和 PV 前端驱动程序实现的。

在架构上,PV 的工作原理是通过 PV 前端和后端驱动程序在虚拟机管理程序和客户操作系统之间打开额外的通信通道,如图所示。

 

此图显示了硬件驱动程序如何与 PV 后端和 PV 前端交互。

表现

PV 提供比完全虚拟化更高的性能,因为操作系统和管理程序可以更有效地协同工作,而不会产生系统资源模拟带来的开销。这对磁盘和网络操作产生了很大的不同,其中使用 PV 网络、总线和块设备驱动程序可以实现接近本机的性能。受益于半虚拟化且驱动程序可用的设备示例包括块(磁盘)、SCSI、USB、VGA 和 PCI 设备。

PV 和 Linux (PVOPS)

如前所述,PV 需要内核支持。在 Linux 内核中,PV 支持由 Linux 附带的准虚拟操作扩展 (PVOPS) 和 PV 前端和后端驱动程序提供。PVOPS 允许内核在运行时确定它是否在虚拟化(Xen Project、KVM、VMI 等)下运行,这将提示它针对特定的虚拟化堆栈使用优化的低级操作。对 Linux 的 Xen Project Guest (DomU) 支持是在 2.6.24 版的 Linux 内核中引入的,而 Xen 项目控制域 (Dom0) 支持是从 2.6.37 版开始添加的。关键驱动程序已添加到 Linux v 3.0,并且添加了其他驱动程序和优化。

光伏和传统应用

半虚拟化是一种延长仅在较旧操作系统上支持的遗留和自定义应用程序寿命的方法。使用 Xen Project PV 虚拟化,您可以在新的、更强大、更节能的硬件上运行这些工作负载,并从长远来看节省资金。

兼容性

以下链接提供有关 Xen 和 PV 与各种操作系统的兼容性的信息:

 

以上是关于Paravirtualization (半虚拟化PV) - Xen的主要内容,如果未能解决你的问题,请参考以下文章

虚拟化发展历程及原理

centos安装配置xen虚拟机

虚拟化的发展历程和实现原理——图文详解

KVM半虚拟化设备virtio及性能调优最佳实践

全虚拟化和半虚拟化

virtio 半虚拟化驱动 5.1.1