B.2. 在 IBM Z 中使用 KVM 虚拟化
安装
在 IBM Z 主机上,KVM 管理程序需要安装在专用的逻辑分区(LPAR)中。不支持在 z/VM 操作系统中运行 KVM。LPAR 还必须支持 开始执行( SIE)虚拟化扩展。
在 Red Hat Enterprise Linux 7 for IBM Z 中安装 KVM 虚拟化:
- 从 客户门户网站中的可引导镜像安装 主机系统 - 了解更多详细信息,请参阅 安装指南。
- 确定您的系统满足管理程序要求:
- 验证 CPU 虚拟化扩展是否可用:
# grep sie /proc/cpuinfo
此命令的输出必须包含sie
条目,这表示您的处理器具有所需的虚拟化扩展。features : esan3 zarch stfle msa ldisp eimm dfp edat etf3eh highgprs te sie
- 载入 KVM 内核模块:
# modprobe kvm
- 验证是否载入了 KVM 内核模块:
# lsmod | grep kvm
如果成功载入 KVM,此命令的输出包括kvm
。如果没有,请确定您正在为 Red Hat Enterprise Linux 7 使用 kernel-alt 版本。
- 除了 第 2 章 安装虚拟化软件包 中描述的其他虚拟化软件包外,安装 qemu-kvm-ma 软件包。
- 在设置客户机时,建议以 以下一种方式配置其 CPU,以保护客户机不受 "Spectre" 漏洞的影响:
- 使用主机 CPU 模型,例如:
<cpu mode='host-model' check='partial'> <model fallback='allow'/> </cpu>
这样,如果主机支持,则客户端可使用ppa15
和bpb
功能。 - 如果使用特定的主机模型,请添加
ppa15
和bpb
功能。以下示例使用zEC12
CPU 模型:<cpu mode='custom' match='exact' check='partial'> <model fallback='allow'>zEC12</model> <feature policy='force' name='ppa15'/> <feature policy='force' name='bpb'/> </cpu>
注意使用带有z114
和z196
CPU 型号的ppa15
功能时,请确保使用最新的 microcode 级别(bundle 95 或更高版本)。
架构特定
Red Hat Enterprise Linux 7.5 for IBM Z 上的 KVM 虚拟化与 AMD64 和 Intel 64 系统的 KVM 不同:
- IBM Z 不支持 SPICE 和 VNC 协议,因此无法显示客户机图形输出。???
- IBM Z 不支持虚拟 PCI 和 USB 设备。这也意味着 virtio-*-pci 设备不受支持,应当使用
virtio-*-ccw
设备。例如,使用virtio-net-ccw
而不是virtio-net-pci
。 - IBM Z 不支持 <boot dev='device'/> XML 配置元素。要定义设备引导顺序,请使用 <devices> 部分中的 <boot order='number'/> 元素。例如,请参阅 上游 libvirt 文档。注意在 AMD64 和 Intel 64 主机上使用 <boot order='number'/> 进行引导顺序管理。
- SMBIOS 配置不可用。
- IBM Z 中使用的 watchdog 设备模型 应为
diag288
。 - 检查是否在您的系统中启用了嵌套虚拟化:
$ cat /sys/module/kvm/parameters/nested
如果这个命令返回1
,则代表该功能已经启用。如果命令返回0,
请使用以下步骤启用它。 - 卸载
kvm
模块:# modprobe -r kvm
- 激活嵌套功能:
# modprobe kvm nested=1
- 现在,嵌套功能只有在下次重启主机时才会启用。要永久启用它,请在
/etc/modprobe.d/kvm.conf
文件中添加以下行:options kvm nested=1
kvm-clock
服务专用于 AMD64 和 Intel 64 系统,且不必为 IBM Z 上的时间管理 进行配置。