Red Hat Training

A Red Hat training course is available for RHEL 8

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 性能。
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-v2vvirt-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-passthroughmaximum CPU 模式,因为它们通常不适合迁移。

如果要在 custom CPU 模式中指定明确的 CPU 模式,请按照以下步骤操作:

  • 不要使用以 -base 结尾的 CPU 模式。
  • 不要使用 qemumaxhost CPU 模式。

要成功迁移到较旧的主机型号(如从 z15 到 z14),或者迁移到早期版本的 QEMU、KVM 或 RHEL 内核,请使用结尾没有 -base 的最老的可用的主机型号的 CPU 类型。

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 domstatsvirsh memstat获取内存信息
  • memballoonvirtio-rng 虚拟设备
  • 使用巨页支持内存
  • 实时和非实时迁移
  • 保存和恢复虚拟机
  • 虚拟机快照,包括内存快照(使用 --memspec 选项)
  • 完整内存转储。反之,为 virsh dump 命令指定 --memory-only 选项。
  • 248 或更多 vCPU。安全客户机的 vCPU 限值为 247。
  • 嵌套虚拟化