第 4 章 在 IBM Z 中使用虚拟化
在 IBM Z 硬件上使用 RHEL 8 时,您可以使用 KVM 虚拟化。但是,与 AMD64 和 Intel 64 构架中的虚拟化相比,在您的系统中启用 KVM 虚拟机管理程序需要额外的步骤。某些 RHEL 8 虚拟化功能在 IBM Z 上也具有 不同的或受限的功能。
除以下部分中的信息外,在 IBM Z 中使用虚拟化与 AMD64 和 Intel64 相同。因此,在使用 IBM Z 上的虚拟化时,您可以查看其他 RHEL 8 虚拟化文档以了解更多信息。
不支持在 z/VM 操作系统上运行 KVM。
4.1. 在 IBM Z 中启用虚拟化
要在运行 RHEL 8 的 IBM Z 系统上设置 KVM hypervisor 并创建虚拟机(VM),请按照以下说明操作。
先决条件
RHEL 8.6 或更高版本已安装并在主机上已注册。
重要如果您使用 RHEL 8.5 或更早版本在 IBM Z 机器上启用了虚拟化,您应该重新配置虚拟化模块并更新您的系统。具体步骤请查看 IBM Z 中的虚拟化与 AMD64 和 Intel 64 不同。
有以下最小系统资源可用:
- 主机有 6 GB 可用磁盘空间,以及每个预期的虚拟机需要额外 6 GB 空间。
- 主机需要 2 GB RAM,以及每个预期的虚拟机需要额外 2 GB。
- 主机上有 4 个 CPU。虚拟机通常可以使用单个分配的 vCPU 运行,但红帽建议为每个虚拟机分配 2 个或更多 vCPU,以避免虚拟机在高负载期间变得无响应。
- 您的 IBM Z 主机系统使用 z13 CPU 或更高版本。
RHEL 8 安装在逻辑分区(LPAR)上。另外,LPAR 支持 启动阶段执行(SIE)虚拟化功能。
要进行验证,请在
/proc/cpuinfo
文件中搜索sie
。# grep sie /proc/cpuinfo features : esan3 zarch stfle msa ldisp eimm dfp edat etf3eh highgprs te sie
流程
载入 KVM 内核模块:
# modprobe kvm
验证是否载入了 KVM 内核模块:
# lsmod | grep kvm
如果 KVM 成功加载,这个命令的输出包括会
kvm
。在
virt:rhel/common
模块中安装软件包:# yum module install virt:rhel/common
启动虚拟化服务:
# for drv in qemu network nodedev nwfilter secret storage interface; do systemctl start virt${drv}d{,-ro,-admin}.socket; done
验证
验证您的系统已准备好成为虚拟化主机。
# virt-host-validate [...] QEMU: Checking if device /dev/kvm is accessible : PASS QEMU: Checking if device /dev/vhost-net exists : PASS QEMU: Checking if device /dev/net/tun exists : PASS QEMU: Checking for cgroup 'memory' controller support : PASS QEMU: Checking for cgroup 'memory' controller mount-point : PASS [...]
如果所有 virt-host-validate 检查返回
PASS
值,则您的系统已准备好 创建虚拟机 。如果有任何检查返回
FAIL
值,请按照显示的说明来修复问题。如果有任何检查返回
WARN
值,请考虑按照显示的说明改进虚拟化功能。
故障排除
如果您的主机 CPU 不支持 KVM 虚拟化,virt-host-validate 会产生以下输出:
QEMU: Checking for hardware virtualization: FAIL (Only emulated CPUs are available, performance will be significantly limited)
但是,在这样的主机系统上的虚拟机将无法引导,而不存在性能问题。
要临时解决这个问题,您可以将虚拟机的 XML 配置中的
<domain type>
的值改为qemu
。但请注意,红帽不支持使用qemu
域类型的虚拟机,在生产环境中不建议这样做。