C.2. 功能限制
Red Hat Enterprise Linux 中包含的虚拟机监控程序软件包是 qemu-kvm。这与 Red Hat Virtualization(RHV)和 Red Hat OpenStack(RHOS)产品中包含的 qemu-kvm-rhev 软件包不同。应用到 qemu-kvm 的许多限制都不适用于 qemu-kvm-rhev。
有关 qemu-kvm 和 qemu-kvm -rhev 软件包 之间的区别的更多信息,请参阅 qemu-kvm 和 qemu-kvm-rhev 和所有子包之间的区别?
以下限制适用于 Red Hat Enterprise Linux 中包含的 KVM 管理程序:
- 每个虚拟机的最大 vCPU
- Red Hat Enterprise Linux 7.2 及更高版本支持每个客户机的 240 个 vCPU,Red Hat Enterprise Linux 7.0 中最多支持 160 个 vCPU。
- 嵌套虚拟化
- 在 Red Hat Enterprise Linux 7.2 及更新的版本中,嵌套虚拟化 作为技术预览提供。这个功能可让 KVM 启动作为虚拟机监控程序并创建自己的客户机的客户机。
- TCG 支持
- QEMU 和 libvirt 包括使用 QEMU Tiny Code Generator(TCG)的动态转换模式。这个模式不需要硬件虚拟化支持。但是,红帽不支持 TCG。当使用 qemu-kvm 软件包在虚拟机中创建嵌套虚拟客户机时,它使用 TCG,除非父虚拟机上启用了嵌套虚拟化。请注意,嵌套虚拟化目前还是一个技术预览功能。如需更多信息,请参阅 第 12 章 嵌套虚拟化。可使用以下方法识别基于 TCG 的客户机:
- 客户机的域 XML 文件包含
<domain type='qemu'>
行,而 KVM 客户机包含<domain type='kvm'>
。
- 持续 TSC 位
- 没有 Constant 时间戳计数器(TSC)的系统需要额外的配置。有关确定您是否具有 Constant 时间戳计数器和配置步骤以修复相关问题的详细信息,请参阅 第 8 章 KVM 客户机计时管理。
- 模拟 SCSI 适配器
- SCSI 设备模拟只支持 virtio-scsi 半虚拟化主机总线适配器(HBA)。Red Hat Enterprise Linux 中的 KVM 不支持模拟 SCSI HBA。
- 模拟 IDE 设备
- KVM 限制为每个虚拟机最多四个虚拟化(模拟)IDE 设备。
- 半虚拟设备
- 半虚拟设备也称为 VirtIO 设备。它们是纯粹的虚拟设备,设计为在虚拟机中最佳工作。Red Hat Enterprise Linux 7 每个虚拟机总线支持 32 个 PCI 设备插槽,每个设备插槽支持 8 个 PCI 功能。当虚拟机中启用了多功能并且使用 PCI 网桥时,每个总线最多提供了 256 个 PCI 功能。每个 PCI 网桥都添加了一个新的总线,可能会启用其它 256 设备地址。但是,一些总线不会为用户提供所有 256 个设备地址;例如,根总线有几个内置设备占用的插槽。有关 PCI 网桥的更多信息,请参阅 第 16 章 虚拟机设备配置 和 第 16.1.5 节 “PCI Bridges”。
- 迁移限制
- 设备分配指的是已公开给虚拟机的物理设备,以独占地使用该虚拟机。由于设备分配使用虚拟机运行的特定主机上的硬件,所以使用设备分配时不支持迁移和保存/恢复。如果客户机操作系统支持热插拔,可以在迁移或保存/恢复操作之前删除分配的设备,以启用此功能。实时迁移只能在具有相同 CPU 类型的主机之间实现(即 Intel 到 Intel 或 AMD)。对于实时迁移,两个主机都必须为 No eXecution(NX)位设置相同的值,
可在
或关闭
。要使迁移正常工作,必须为在写入模式下打开的所有块设备指定cache=none
。警告未能包括cache=none
选项可能会导致磁盘崩溃。 - 存储限制
- 向 guest 虚拟机授予对整个磁盘或块设备(如
/dev/sdb
)的写入权限存在风险。如果客户机虚拟机可以访问整个块设备,它可以与主机共享任何卷标签或分区表。如果主机系统的分区识别代码中存在错误,这可能会造成安全隐患。通过将主机机器配置为忽略分配给客户机虚拟机的设备,避免出现此风险。警告未能遵守存储限制会导致出现安全性风险。 - 实时快照
- Red Hat Enterprise Linux 中的 KVM 中的备份和恢复 API 不支持实时快照。
- 流、镜像(mirror)和实时更新
- 不支持流、镜像(mirror)和 live-merge。这可防止 block-jobs。
- I/O 节流
- Red Hat Enterprise Linux 不支持为虚拟磁盘上的操作配置最大输入和输出等级。
- I/O 线程
- Red Hat Enterprise Linux 不支持为使用 VirtIO 接口的磁盘上输入和输出操作创建独立线程。
- 内存热插拔和热拔
- Red Hat Enterprise Linux 不支持热插拔或热拔虚拟机的内存。
- vhost-user
- Red Hat Enterprise Linux 不支持实现用户空间 vhost 接口。
- CPU 热拔
- Red Hat Enterprise Linux 不支持从虚拟机热拔 CPU。
- 适用于 PCIe 的 NUMA 客户机位置
- Red Hat Enterprise Linux 不支持将虚拟 PCIe 设备绑定到特定的 NUMA 节点。
- 内核转储限制
- 因为当前在迁移之上实施内核转储,所以使用设备分配时不支持它。
- 实时内核
- KVM 目前不支持实时内核,因此无法在 Red Hat Enterprise Linux for Real Time 中使用。