19.2. 嵌套虚拟化的限制
在使用嵌套虚拟化时请记住以下限制。要了解更多有关嵌套虚拟化的相关术语的信息,请参阅 什么是嵌套虚拟化?
红帽目前不支持嵌套虚拟化,仅作为 技术预览 提供嵌套。
测试的架构
-
L0
主机必须是 Intel、AMD、IBM POWER9 或 IBM Z 系统。嵌套虚拟化目前无法在其他架构上工作,如 ARM。
测试的环境
要创建嵌套虚拟机(VM),您必须使用以下操作系统版本:
在 L0 主机上 : | 在 L1 虚拟机上 : | 在 L2 虚拟机上 : |
---|---|---|
RHEL 8.2 及更新版本 | RHEL 7.8 及更新版本 | RHEL 7.8 及更新版本 |
RHEL 8.2 及更新版本 | RHEL 8.2 及更新版本 | |
Windows Server 2016 | ||
Windows Server 2019 |
在其他 Red Hat Virtualization 产品中使用时,没有测试过创建 RHEL L1
虚拟机。它们是:
- Red Hat Virtualization
- Red Hat OpenStack Platform
- OpenShift Virtualization
另外,在 IBM POWER9 上,嵌套虚拟化当前仅在以下情况下可以工作:
-
L0
主机和L1
虚拟机都使用 RHEL 8 -
L2
虚拟机使用带有rhel-alt
内核的 RHEL 8 或 RHEL 7。 -
L1
虚拟机和L2
虚拟机没有在 POWER8 兼容模式下运行。
Hypervisor 限制
-
目前,红帽仅在 RHEL-KVM 上测试嵌套。当 RHEL 被用作
L0
hypervisor 时,您可以使用 RHEL 或 Windows 作为L1
hypervisor。 -
当在非 KVM
L0
hypervisor (如 VMware ESXi 或 Amazon Web Services (AWS)上使用L1
RHEL 8 虚拟机时,在 RHEL 8 客户机操作系统中创建L2
虚拟机可以正常工作,但没有经过测试。
功能限制
-
使用
L2
虚拟机作为 hypervisor,并创建L3
客户机尚未被正确测试,预计无法正常工作。 -
如果在
L0
主机上启用了嵌套虚拟化,则迁移虚拟机目前无法在 AMD 系统上工作。 在 IBM Z 系统上,无法同时使用大页面支持存储和嵌套虚拟化。
subs="+quotes,attributes"]
# *modprobe kvm hpage=1 nested=1* modprobe: ERROR: could not insert 'kvm': Invalid argument # *dmesg |tail -1* [90226.508366] kvm-s390: A KVM host that supports nesting cannot back its KVM guests with huge pages
L0
主机上提供的一些功能可能无法用于L1
hypervisor 。例如,在 IBM POWER 9 硬件上,外部中断虚拟化引擎(XIVE)无法正常工作。但是,
L1
虚拟机可以使用模拟的 XIVE 中断控制器来启动L2
虚拟机。