跳到内容跳到页面导航:上一页 [access key p]/下一页 [access key n]
documentation.suse.com / SUSE Linux Enterprise Server 文档 / 虚拟化指南 / 简介 / 虚拟化限制和支持
适用范围 SUSE Linux Enterprise Server 15 SP5

7 虚拟化限制和支持

重要
重要

仅支持在 KVM 和 Xen 超级管理程序中进行 QEMU 模拟。

7.1 体系结构支持

7.1.1 KVM 硬件要求

SUSE 支持在 AMD64/Intel 64、Arm AArch64、IBM Z 和 IBM LinuxONE 主机上实施 KVM 全虚拟化。

  • 在 AMD64/Intel 64 体系结构上,KVM 是围绕 AMD* (AMD-V) 和 Intel* (VT-x) CPU 中包含的硬件虚拟化功能设计的。它支持芯片组和 PCI 设备的虚拟化功能,例如 I/O 内存映射单元 (IOMMU) 和单根 I/O 虚拟化 (SR-IOV)。您可以使用以下命令测试您的 CPU 是否支持硬件虚拟化:

    > egrep '(vmx|svm)' /proc/cpuinfo

    如果此命令未返回任何输出,则表示您的处理器不支持硬件虚拟化,或者已在 BIOS 或固件中禁用此功能。

    以下网站指出了支持硬件虚拟化的 AMD64/Intel 64 处理器:http://ark.intel.com/Products/VirtualizationTechnology(针对 Intel CPU),以及 http://products.amd.com/(针对 AMD CPU)。

  • 在 Arm 体系结构上,Armv8-A 处理器支持虚拟化。

  • 在 Arm 体系结构上,仅支持通过 CPU 型号 host(在虚拟机管理器或 libvirt 中名为 host-passthrough)运行 QEMU/KVM。

注意
注意:不装载 KVM 内核模块

仅当 CPU 硬件虚拟化功能可用时,才会装载 KVM 内核模块。

VM 主机服务器的一般性最低硬件要求与第 2.1 节 “硬件要求”中概述的相同。不过,对于每个虚拟化的 Guest 都需要提供额外的 RAM。此额外 RAM 量应至少与物理安装所需的 RAM 量相同。另外,强烈建议为每个运行中的 Guest 至少配备一个处理器核心或超线程。

注意
注意:Arm AArch64

Arm AArch64 是个持续发展的平台。它不遵循传统的标准与合规性认证计划来实现与操作系统和超级管理程序的互操作性。请让您的供应商提供针对 SUSE Linux Enterprise Server 的支持声明。

注意
注意:POWER

不支持在 POWER 平台上运行 KVM 或 Xen 超级管理程序。

7.1.2 Xen 硬件要求

SUSE 支持 AMD64/Intel 64 上的 Xen。

7.2 超级管理程序限制

每个服务包 (SP) 的Release Notes中都概述了 Xen 和 KVM 的新功能和虚拟化限制。

仅支持 SUSE Linux Enterprise Server 官方储存库中包含的软件包。相反,packagehub 中提供的所有可选子软件包和插件(对于 QEMU 为 libvirt)均不受支持。

有关每个主机的最大虚拟 CPU 总数,请参见recommendations in the Virtualization Best Practices Guide regarding over-commitment of physical CPUs。虚拟 CPU 总数应与可用物理 CPU 数成正比。

注意
注意:32 位超级管理程序

我们已从 32 位版本的 SUSE Linux Enterprise Server 11 SP2 中去除虚拟化主机设施。32 位 Guest 不受影响,可以使用提供的 64 位超级管理程序为其提供全面支持。

7.2.1 KVM 限制

在 AMD64/Intel 64 上运行 Linux Guest 的 SUSE Linux Enterprise Server 15 SP5 主机所支持(已经过测试)虚拟化的限制。对于其他操作系统,请咨询具体的供应商。

表 7.1︰ KVM VM 限制

每个 VM 的最大虚拟 CPU 数

1024

每个 VM 的最大内存

6 TiB

注意
注意

KVM 主机限制与 SUSE Linux Enterprise Server 相同(请参见发行说明的相应章节),但以下限制除外:

7.2.2 Xen 限制

表 7.2︰ Xen VM 限制

每个 VM 的最大虚拟 CPU 数

32(一般的 HVM 建议)、64 (HVM Windows Guest)、128(可信 HVM)或 512 (PV)

每个 VM 的最大内存

2 TiB(64 位 Guest)、16 GiB(具有 PAE 的 32 位 Guest)

表 7.3︰ Xen 主机限制

最大物理 CPU 总数

1024

每个主机的最大虚拟 CPU 总数

请参见 https://documentation.suse.com/sles-15/html/SLES-all/article-virtualization-best-practices.html#sec-vt-best-perf-cpu-assign 上的《虚拟化最佳实践指南》中有关过量分配物理 CPU 的建议。虚拟 CPU 总数应与可用物理 CPU 数成正比

最大物理内存

建议保持在 16 TiB 地址边界以下。

7.3 支持的主机环境(超级管理程序)

本节介绍在各种虚拟化主机(超级管理程序)上作为 Guest 操作系统运行的 SUSE Linux Enterprise Server 15 SP5 的支持状态。

表 7.4︰ 支持以下 SUSE 主机环境

SUSE Linux Enterprise Server

超级管理程序

SUSE Linux Enterprise Server 11SP4

Xen 和 KVM

SUSE Linux Enterprise Server 12 SP1 到 SP5

Xen 和 KVM

SUSE Linux Enterprise Server 15 GA 到 SP4

Xen 和 KVM

您也可以在 SUSE YES certification database中进行搜索

支持级别如下
  • 根据相应的product life cycle,对 SUSE 主机操作系统的支持级别为全面 L3(适用于 Guest 和主机)。

  • SUSE 为第三方主机环境中的 SUSE Linux Enterprise Server Guest 提供全面 L3 支持。

  • 对主机的支持以及与 SUSE Linux Enterprise Server Guest 相关的合作必须由主机系统供应商提供。

7.4 支持的 Guest 操作系统

本节列出了在 SUSE Linux Enterprise Server 15 SP5 上虚拟化且适用于 KVM 和 Xen 超级管理程序的 Guest 操作系统的支持状态。

重要
重要

仅当 Guest 中安装了半虚拟化驱动程序时,才能通过 libvirt/virsh 重引导 Microsoft Windows Guest。有关下载和安装 PV 驱动程序的更多细节,请参见 https://www.suse.com/products/vmdriverpack/

以下 Guest 操作系统受到全面支持 (L3):
  • SUSE Linux Enterprise Server 11SP4

  • SUSE Linux Enterprise Server 12 SP3、12 SP4、12 SP5

  • SUSE Linux Enterprise Server 15 GA、15 SP1、15 SP2、15 SP3、15 SP4

  • Windows Server 2008 SP2+、2008 R2 SP1+、2012+、2012 R2+、2016、2019、2022

  • Microsoft Windows Server Catalog

  • Oracle Linux 6、7、8(仅适用于 KVM 超级管理程序)

以技术预览(L2,在合理的情况下提供修复)的形式支持以下 Guest 操作系统:
  • SLED 15 SP3

如果客户购买了 SUSE Liberty Linux,SUSE 将为 Red Hat 和 CentOS Guest 操作系统提供全面支持 (L3)。
  • 有关可用组合和受支持版本的列表,请参见 https://documentation.suse.com/liberty 上的 SUSE Liberty Linux 文档。对于其他情况,将为这些操作系统提供有限的支持(L2,在合理的情况下提供修复)。

注意
注意:RHEL PV 驱动程序

从 RHEL 7.2 开始,Red Hat 去除了 Xen PV 驱动程序。

按照尽力而为的原则为以下 Guest 操作系统提供支持(L2,在合理的情况下提供修复):
  • Windows 8+、8.1+、10+

所有其他 Guest 操作系统
  • 在其他组合中提供 L2 支持,但只在可行的情况下才提供修复。SUSE 会对主机操作系统(超级管理程序)提供全面支持。Guest 操作系统问题需要在相应操作系统供应商的支持下予以解决。如果修复某个问题同时涉及到主机环境和 Guest 环境,则客户需要联系 SUSE 和 Guest VM 操作系统供应商。

  • 所有 Guest 操作系统既支持全虚拟化,也支持半虚拟化。只有以下操作系统例外:Windows 系统,它们只支持全虚拟化(但可以使用 PV 驱动程序:https://www.suse.com/products/vmdriverpack/);OES 操作系统,它们只支持半虚拟化。

  • 除非另有说明,否则所有 Guest 操作系统在 32 位和 64 位环境中均受支持。

7.4.1 半虚拟化驱动程序的提供

为了提升 Guest 操作系统的性能,我们将会提供半虚拟化驱动程序(如果有)。尽管这些驱动程序不是必需的,但我们强烈建议使用。

从 SUSE Linux Enterprise Server 12 SP2 开始,我们已改用 PVops 内核。我们不再使用专用的 kernel-xen 软件包:

  • dom0 上的 kernel-default+kernel-xen 已由 kernel-default 软件包取代。

  • PV domU 上的 kernel-xen 软件包已由 kernel-default 软件包取代。

  • HVM domU 上的 kernel-default+xen-kmp 已由 kernel-default 取代。

对于 SUSE Linux Enterprise Server 12 SP1 和更低版本(低至 10 SP4),半虚拟化驱动程序包含在专用 kernel-xen 软件包中。

半虚拟化驱动程序的提供方式如下:

SUSE Linux Enterprise Server 12/12 SP1/12 SP2

包含在内核中

SUSE Linux Enterprise Server 11/11 SP1/11 SP2/11 SP3/11 SP4

包含在内核中

SUSE Linux Enterprise Server 10SP4

包含在内核中

Red Hat

从 Red Hat Enterprise Linux 5.4 开始提供。从 Red Hat Enterprise Linux 7.2 开始,Red Hat 已去除了 PV 驱动程序。

Windows

SUSE 开发了适用于 Windows 的基于 virtio 的驱动程序,这些驱动程序包含在虚拟机驱动程序包 (VMDP) 中。有关详细信息,请参见 https://www.suse.com/products/vmdriverpack/

7.5 支持的 VM 迁移场景

SUSE Linux Enterprise Server 支持将虚拟机从一台物理主机迁移到另一台物理主机。

7.5.1 脱机迁移场景

SUSE 支持脱机迁移:关闭 Guest VM,然后将其迁移到运行不同 SLE 产品(从 SLE 12 到 SLE 15 SPX)的主机。对于以下主机操作系统组合,全面支持 (L3) 从一台主机的 Guest 迁移到另一台主机的 Guest:

表 7.5︰ 支持的 Guest 脱机迁移方案
目标 SLES 主机 12 SP3 12 SP4 12 SP5 15 GA 15 SP1 15 SP2 15 SP3 15 SP4
源 SLES 主机
12 SP3
12 SP4 ()
12 SP5
15 GA
15 SP1
15 SP2
15 SP3

完全兼容且完全受支持

()

仅支持在 KVM 超级管理程序中迁移。

不支持

7.5.2 实时迁移场景

本节列出了在 SLES 上运行虚拟化时实时迁移方案的支持状态。另请参见受支持方案所要满足的live migration requirements。全面支持以下主机操作系统组合(根据相应的product life cycle,支持级别为 L3)。

注意
注意:实时迁移
  • SUSE 始终支持在运行 SLES 的主机之间实时迁移虚拟机,但这两个 SLES 版本的服务包编号必须是连续的。例如,从 SLES 15 SP2 迁移到 SLES 15 SP3。

  • SUSE 致力于为以下实时迁移提供支持:在 SUSE Linux Enterprise Server 的同一主要版本中,将虚拟机从运行 LTSS 所涵盖的服务包的主机迁移到运行更新服务包的主机。例如,将虚拟机从 SLES 12 SP2 主机迁移到 SLES 12 SP5 主机。对于从 LTSS 迁移到更新的服务包的场景,SUSE 只会执行极简单的测试,建议在尝试迁移关键的虚拟机之前执行全面的现场测试。

重要
重要:Xen 实时迁移

由于工具栈不同,不支持在 SLE 11 与 SLE 12 之间实时迁移,有关更多细节,请参见 Release notes

表 7.6︰ 支持的 Guest 实时迁移方案
目标 SLES 主机 12 SP4 12 SP5 15 GA 15 SP1 15 SP2 15 SP3 15 SP4
源 SLES 主机
12 SP3
12 SP4 ()
12 SP5
15 GA
15 SP1
15 SP2
15 SP3

完全兼容且完全受支持

()

仅支持在 KVM 超级管理程序中迁移。

不支持

7.6 功能支持

7.6.1 Xen 主机 (Dom0)

表 7.7︰ 功能支持 — 主机 (Dom0)
功能 Xen
网络和块设备热插拔
物理 CPU 热插拔
虚拟 CPU 热插拔
虚拟 CPU 固定
虚拟 CPU 限制
Intel* VT-x2:FlexPriority、FlexMigrate(迁移限制适用于不同的 CPU 体系结构)
Intel* VT-d2(具有中断过滤和排队失效的 DMA 重新映射)
AMD* IOMMU(具有 Guest 到主机物理地址转换的 I/O 页表)
注意
注意:不支持在运行时添加或去除物理 CPU

不支持在运行时添加或去除物理 CPU,但可以脱机添加或去除每个 VM Guest 的虚拟 CPU。

7.6.2 Guest 功能支持

注意
注意:Xen PV Guest 实时迁移

对于实时迁移,源体系结构和目标体系结构均需要匹配;即处理器(AMD* 或 Intel*)必须相同。除非使用了 CPU ID 掩码(例如,使用 Intel FlexMigration),否则目标的处理器修订版应该与源相同或者比源更新。如果在不同系统之间移动 VM,那么这些规则适用于每一次移动。为了避免优化的代码在运行时或应用程序启动期间失败,源 CPU 和目标 CPU 需要公开相同的处理器扩展。Xen 透明地向 VM 公开物理 CPU 扩展。总而言之,Guest 可以是 32 位或 64 位,但 VHS 必须相同。

注意
注意:Windows Guest

仅当使用的是 PV 驱动程序 (VMDP) 时,才支持在 Xen 和 KVM 中热插拔虚拟网络和虚拟块设备,以及收缩、恢复动态虚拟内存及调整其大小。

注意
注意:Intel flexMigration

对于支持 Intel FlexMigration 的计算机,CPU-ID 掩码和错误引发可以提高跨 CPU 迁移的灵活性。

提示
提示

对于 KVM,有关支持的限制、功能、建议的设置和方案的详细说明以及其他有用信息均在 kvm-supported.txt 中提供。此文件是 KVM 软件包的一部分,可在 /usr/share/doc/packages/qemu-kvm 中找到。

表 7.8︰ Xen 和 KVM 的 Guest 功能支持
功能 Xen PV Guest (DomU) Xen FV Guest KVM FV Guest
虚拟网络和虚拟块设备热插拔
虚拟 CPU 热插拔
虚拟 CPU 过量分配
动态虚拟内存大小调整
VM 保存和恢复
VM 实时迁移 [1] [1]
VM 快照
使用 GDBC 进行高级调试
对 VM 可见的 Dom0 度量
内存气球
PCI 直通 [2]
AMD SEV [3]

完全兼容且完全受支持

不支持

[1] 请参见 第 11.7.1 节 “迁移要求”
[2] 不包括 NetWare Guest。
[3] 请参见 https://documentation.suse.com/sles/15-SP3/html/SLES-amd-sev/article-amd-sev.html

7.7 嵌套虚拟化

使用嵌套虚拟化可在一个 VM 的内部运行另一个虚拟机,同时仍可利用主机的硬件加速功能。嵌套虚拟化的性能较差,并且在调试时会提高复杂性。嵌套虚拟化通常用于测试目的。在 SUSE Linux Enterprise Server 中,嵌套虚拟化是作为技术预览提供的。此版本仅用于测试目的,我们不提供相关支持。用户可以报告 bug,但这些 bug 的处理优先级较低。此外我们明确指出,在使用嵌套虚拟化的情况下,不支持实时迁移或者保存或恢复 VM。