第 3 章 在 IBM POWER 中使用虚拟化
当在 IBM POWER8 或 POWER9 硬件上使用 RHEL 8 时,您可以使用 KVM 虚拟化。但是,与 AMD64 和 Intel64 构架中的虚拟化相比,在您的系统中启用 KVM 虚拟机管理程序需要额外的步骤。某些 RHEL 8 虚拟化功能在 IBM POWER 上也有 不同或受限的功能。
除以下部分中的信息外,在 IBM POWER 中使用虚拟化与 AMD64 和 Intel64 相同。因此,在 IBM POWER 上使用虚拟化时,您可以查看其他 RHEL 8 虚拟化文档。
3.1. 在 IBM POWER 中启用虚拟化
要在运行 RHEL 8 的 IBM POWER8 或 IBM POWER9 系统上设置 KVM hypervisor 并创建虚拟机(VM),请按照以下说明操作。
先决条件
- 在您的主机上已安装并注册了 RHEL 8 。
有以下最小系统资源可用:
- 主机有 6 GB 可用磁盘空间,以及每个预期的虚拟机需要额外 6 GB 空间。
- 主机需要 2 GB RAM,以及每个预期的虚拟机需要额外 2 GB。
- 主机上有 4 个 CPU。虚拟机通常可以使用单个分配的 vCPU 运行,但红帽建议为每个虚拟机分配 2 个或更多 vCPU,以避免虚拟机在高负载期间变得无响应。
您的 CPU 机器类型必须支持 IBM POWER 虚拟化。
要进行验证,请在
/proc/cpuinfo
文件中查询平台信息。# grep ^platform /proc/cpuinfo/ platform : PowerNV
如果这个命令的输出包含
PowerNV
条目,则您正在运行 PowerNV 机器类型,并可在 IBM POWER 上使用虚拟化。
流程
载入 KVM-HV 内核模块
# modprobe kvm_hv
验证是否载入了 KVM 内核模块
# lsmod | grep kvm
如果 KVM 成功加载,这个命令的输出会包括
kvm_hv
。在虚拟化模块中安装软件包:
# yum module install virt
安装
virt-install
软件包:# yum install virt-install
启动
libvirtd
服务。# systemctl start libvirtd
验证
确认您的系统已准备好成为虚拟化主机:
# virt-host-validate [...] 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 [...] QEMU: Checking for cgroup 'blkio' controller support : PASS QEMU: Checking for cgroup 'blkio' controller mount-point : PASS QEMU: Checking if IOMMU is enabled by kernel : 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
域类型的虚拟机,在生产环境中不建议这样做。