4.3. IBM Z 上的虚拟化与 AMD64 和 Intel 64 有什么不同
IBM Z 系统上 RHEL 8 中的 KVM 虚拟化与 AMD64 和 Intel 64 系统上的 KVM 在以下方面有所不同:
- PCI 和 USB 设备
IBM Z 不支持虚拟 PCI 和 USB 设备。这意味着不支持
virtio-*-pci
设备,应该改为使用virtio-*-ccw
设备。例如,使用virtio-net-ccw
而不是virtio-net-pci
。请注意,支持直接附加 PCI 设备(也称 PCI 透传)。
- 支持的客户端操作系统
- 如果红帽只使用 RHEL 7、8 或 9 作为客户机操作系统,红帽只支持在 IBM Z 上托管的虚拟机。
- 设备引导顺序
IBM Z 不支持
<boot dev='device'>
XML 配置元素。要定义设备引导顺序,请使用 XML 的<devices>
部分中的<boot order='number'>
元素。另外,您可以使用 <boot> 元素中的特定于 architecture 的
loadparm
属性来选择所需的引导条目
。例如,以下决定在引导序列中最先使用磁盘,以及该磁盘上是否有 Linux 发行版可用,它将选择第二个引导条目:<disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/path/to/qcow2'/> <target dev='vda' bus='virtio'/> <address type='ccw' cssid='0xfe' ssid='0x0' devno='0x0000'/> <boot order='1' loadparm='2'/> </disk>
注意在 AMD64 和 Intel 64 主机上,首选使用 <
boot order='number
'> 进行引导顺序管理。- 内存热插拔
- 在 IBM Z 上无法将内存添加到正在运行的虚拟机。请注意,在 IBM Z 上,以及 AMD64 和 Intel64 上,从正在运行的虚拟机(内存热插拔)中不可能删除内存。
- NUMA 拓扑
-
IBM Z 上的
libvirt
不支持 CPU 的非统一内存访问(NUMA)拓扑。因此,在这些系统上无法使用 NUMA 调整 vCPU 性能。 - GPU 设备
- IBM Z 系统不支持 分配 GPU 设备。
- vfio-ap
- IBM Z 主机上的虚拟机可以使用 vfio-ap 加密设备透传,其它构架都不支持它。
- vfio-ccw
- IBM Z 主机上的虚拟机可以使用 vfio-ccw 磁盘设备透传,其它构架都不支持它。
- SMBIOOS
- IBM Z 不提供 SMBIOS 配置。
- watchdog 设备
如果在 IBM Z 主机上的虚拟机中使用看门狗设备,请使用
diag288
模型。例如:<devices> <watchdog model='diag288' action='poweroff'/> </devices>
- kvm-clock
-
kvm-clock
服务特定于 AMD64 和 Intel 64 系统,不需要为 IBM Z 上的虚拟机时间管理配置。 - v2v 和 p2v
-
virt-v2v
和virt-p2v
工具仅在 AMD64 和 Intel 64 构架上支持,在 IBM Z 上不提供。 - 嵌套虚拟化
- 创建嵌套虚拟机需要在 IBM Z 上进行与 AMD64 和 Intel64 的不同设置。详情请参阅 创建嵌套虚拟机。
- 早期版本中没有图形输出
-
当在主机上使用 RHEL 8.3 或更早的次版本时,当使用 VNC 协议连接到虚拟机时,无法显示虚拟机图形输出。这是因为 IBM Z 上的早期 RHEL 版本不支持
gnome-desktop
工具。此外,SPICE 显示协议不适用于 IBM Z。 - 迁移
要成功迁移到以后的主机型号(例如从 IBM z14 到 z15),或更新 hypervisor ,请使用
host-model
CPU 模式。不建议使用host-passthrough
和maximum
CPU 模式,因为它们通常不适合迁移。如果要在
custom
CPU 模式中指定明确的 CPU 模式,请按照以下步骤操作:-
不要使用以
-base
结尾的 CPU 模式。 -
不要使用
qemu
、max
或host
CPU 模式。
要成功迁移到较旧的主机型号(如从 z15 到 z14),或者迁移到早期版本的 QEMU、KVM 或 RHEL 内核,请使用结尾没有
-base
的最老的可用的主机型号的 CPU 类型。-
如果源主机和目标主机正在运行,您可以在目标主机上使用
virsh hypervisor-cpu-baseline
命令来获取合适的 CPU 模型。详情请参阅 验证虚拟机迁移的主机 CPU 兼容性。 - 有关 RHEL 8 中支持的机器类型的更多信息,请参阅 RHEL 8 虚拟化中推荐的功能。
-
不要使用以
- PXE 安装和引导
当使用 PXE 在 IBM Z 上运行虚拟机时,
pxelinux.cfg/default
文件需要一个特定的配置。例如:# pxelinux default linux label linux kernel kernel.img initrd initrd.img append ip=dhcp inst.repo=example.com/redhat/BaseOS/s390x/os/
- 安全执行
-
您可以通过在虚拟机 XML 配置中定义 <
launchSecurity type="s390-pv"
/> 来引导带有准备好的安全客户机镜像的虚拟机。这会加密虚拟机的内存来保护它不受虚拟机监控程序不需要的访问。
请注意,在以安全执行模式运行虚拟机时不支持以下功能:
-
使用
vfio
的设备透传 -
使用
virsh domstats
和virsh memstat
获取内存信息 -
memballoon
和virtio-rng
虚拟设备 - 使用巨页支持内存
- 实时和非实时迁移
- 保存和恢复虚拟机
-
虚拟机快照,包括内存快照(使用
--memspec
选项) -
完整内存转储。反之,为
virsh dump
命令指定--memory-only
选项。 - 248 或更多 vCPU。安全客户机的 vCPU 限值为 247。
- 嵌套虚拟化
其它资源