跳转到内容跳转到页面导航:上一页 [访问键 p]/下一页 [访问键 n]
适用于 openSUSE Leap 15.5

1 虚拟化技术 编辑源文件

摘要

虚拟化是一种技术,它允许一台机器(主机)在其主机操作系统之上运行另一个操作系统(客户虚拟机)。

1.1 概述 编辑源文件

openSUSE Leap 包含最新的开源虚拟化技术 Xen 和 KVM。借助这些虚拟机监控程序,openSUSE Leap 可用于在单个物理系统上配置、取消配置、安装、监控和管理多个虚拟机(VM Guests)(有关更多信息,请参阅 虚拟机监控程序)。openSUSE Leap 可以创建运行经过修改、高度优化的半虚拟化操作系统和完全虚拟化的未修改操作系统的虚拟机。

使操作系统能够进行虚拟化的主要组件是虚拟机监控程序(或虚拟机管理器),它是一层直接在服务器硬件上运行的软件。它控制平台资源,在多个 VM Guests 及其操作系统之间共享它们,并通过向每个 VM Guest 呈现虚拟化的硬件接口来实现。

openSUSE 是一种 Linux 服务器操作系统,它提供两种类型的虚拟机监控程序:Xen 和 KVM。

openSUSE Leap 搭配 Xen 或 KVM 作为虚拟化主机服务器(VHS),支持具有自己客户操作系统的 VM Guests。SUSE VM Guest 架构由构成 VHS 的虚拟机监控程序和管理组件组成,VHS 运行许多应用程序托管的 VM Guests。

在 Xen 中,管理组件在通常称为 Dom0 的特权 VM Guest 中运行。在 KVM 中,Linux 内核充当虚拟机监控程序,管理组件直接在 VHS 上运行。

1.2 虚拟化优势 编辑源文件

虚拟化在提供与硬件服务器相同的服务的同时,带来了许多优势。

首先,它降低了您的基础设施成本。服务器主要用于为客户提供服务,虚拟化操作系统可以提供相同的服务,并且

  • 减少硬件:您可以在单个主机上运行多个操作系统,因此所有硬件维护都减少了。

  • 减少功耗/冷却:减少硬件意味着您无需在电力、备用电源和冷却方面进行更多投资(如果您需要更多服务)。

  • 节省空间:您的数据中心空间得到节省,因为您不需要更多的硬件服务器(服务器数量少于运行的服务数量)。

  • 减少管理:使用 VM Guest 可简化您的基础设施管理。

  • 敏捷性和生产力:虚拟化提供 迁移 功能、实时迁移快照。这些功能可减少停机时间,并为在不中断服务的情况下将您的服务从一个地方移动到另一个地方提供了一种简便的方法。

1.3 虚拟化模式 编辑源文件

客户操作系统在虚拟机中以完全虚拟化 (FV) 模式或半虚拟化 (PV) 模式托管。每种虚拟化模式都有优点和缺点。

  • 完全虚拟化模式允许虚拟机运行未修改的操作系统,例如 Windows* Server 2003。它可以使用二进制转换或 硬件辅助 虚拟化技术,例如 AMD* Virtualization 或 Intel* Virtualization Technology。使用硬件辅助可以提高支持它的处理器的性能。

  • 要能够在半虚拟化模式下运行,客户操作系统通常需要针对虚拟化环境进行修改。但是,在半虚拟化模式下运行的操作系统比在完全虚拟化下运行的操作系统性能更好。

    当前修改为在半虚拟化模式下运行的操作系统称为 半虚拟化操作系统,包括 openSUSE Leap

1.4 I/O 虚拟化 编辑源文件

VM Guests 不仅共享主机系统的 CPU 和内存资源,还共享 I/O 子系统。由于软件 I/O 虚拟化技术提供的性能不如裸机,因此最近开发了提供几乎 原生 性能的硬件解决方案。openSUSE Leap 支持以下 I/O 虚拟化技术

完全虚拟化

完全虚拟化 (FV) 驱动程序模拟广泛支持的真实设备,这些设备可以与 VM Guest 中的现有驱动程序一起使用。该客户也称为 硬件虚拟机 (HVM)。由于 VM 主机服务器上的物理设备可能与模拟设备不同,因此虚拟机监控程序需要在将它们传递到物理设备之前处理所有 I/O 操作。因此,所有 I/O 操作都需要遍历两个软件层,这个过程不仅会严重影响 I/O 性能,还会消耗 CPU 时间。

半虚拟化

半虚拟化 (PV) 允许虚拟机监控程序和 VM Guest 之间直接通信。由于涉及的开销较少,因此性能比完全虚拟化更好。但是,半虚拟化需要修改客户操作系统以支持半虚拟化 API 或半虚拟化驱动程序。

PVHVM

这种类型的虚拟化通过半虚拟化 (PV) 驱动程序以及 PV 中断和计时器处理来增强 HVM(参见 完全虚拟化)。

VFIO

VFIO 代表 虚拟功能 I/O,是 Linux 的新型用户级驱动程序框架。它取代了传统的 KVM PCI 直通设备分配。VFIO 驱动程序在受安全内存 (IOMMU) 保护的环境中向用户空间公开直接设备访问。使用 VFIO,VM Guest 可以直接访问 VM 主机服务器上的硬件设备(直通),避免在性能关键路径中由仿真引起的问题。此方法不允许共享设备——每个设备只能分配给单个 VM Guest。VFIO 需要 VM 主机服务器 CPU、芯片组和 BIOS/EFI 支持。

与传统的 KVM PCI 设备分配相比,VFIO 具有以下优势

  • 资源访问与 UEFI 安全启动兼容。

  • 设备被隔离,其内存访问受到保护。

  • 提供具有更灵活的设备所有权模型的用户空间设备驱动程序。

  • 独立于 KVM 技术,不限于 x86 架构。

openSUSE Leap 中,USB 和 PCI 直通方法被认为已弃用,并被 VFIO 模型取代。

SR-IOV

最新的 I/O 虚拟化技术,单根 I/O 虚拟化 SR-IOV 结合了上述技术的优点——性能以及与多个 VM Guests 共享设备的能力。SR-IOV 需要能够复制资源以便它们显示为多个单独设备的特殊 I/O 设备。每个这样的 设备可以由单个客户直接使用。但是,例如对于网络卡,可以使用的并发队列数量有限,这可能会降低 VM Guest 与半虚拟化驱动程序相比的性能。在 VM 主机服务器上,SR-IOV 必须由 I/O 设备、CPU 和芯片组、BIOS/EFI 以及虚拟机监控程序支持——有关设置说明,请参阅 第 13.12 节,“将主机 PCI 设备分配给 VM Guest”

Important
重要提示:VFIO 和 SR-IOV 的要求

要能够使用 VFIO 和 SR-IOV 功能,VM 主机服务器需要满足以下要求

打印此页面