Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

B.2. 在 IBM Z 中使用 KVM 虚拟化

安装

在 IBM Z 主机上,KVM 管理程序需要安装在专用的逻辑分区(LPAR)中。不支持在 z/VM 操作系统中运行 KVM。LPAR 还必须支持 开始执行( SIE)虚拟化扩展。
在 Red Hat Enterprise Linux 7 for IBM Z 中安装 KVM 虚拟化:
  1. 客户门户网站中的可引导镜像安装 主机系统 - 了解更多详细信息,请参阅 安装指南
  2. 确定您的系统满足管理程序要求:
    • 验证 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 版本。
  3. 除了 第 2 章 安装虚拟化软件包 中描述的其他虚拟化软件包外,安装 qemu-kvm-ma 软件包。
  4. 在设置客户机时,建议以 以下一种方式配置其 CPU,以保护客户机不受 "Spectre" 漏洞的影响:
    • 使用主机 CPU 模型,例如:
      
      <cpu mode='host-model' check='partial'>
        <model fallback='allow'/>
      </cpu>
      
      
      这样,如果主机支持,则客户端可使用 ppa15bpb 功能。
    • 如果使用特定的主机模型,请添加 ppa15bpb 功能。以下示例使用 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>
      
      
    注意
    使用带有 z114z196 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 不支持虚拟 PCIUSB 设备。这也意味着 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
  • 要在 IBM Z 上启用 嵌套虚拟化 功能,请执行以下操作:请注意,与 AMD64 和 Intel 64 系统中一样,嵌套虚拟化在 IBM Z 中作为技术预览提供,因此不建议在生产环境中使用。
    1. 检查是否在您的系统中启用了嵌套虚拟化:
      $ cat /sys/module/kvm/parameters/nested
      如果这个命令返回 1,则代表该功能已经启用。
      如果命令返回 0, 请使用以下步骤启用它。
    2. 卸载 kvm 模块:
      # modprobe -r kvm
    3. 激活嵌套功能:
      # modprobe kvm nested=1
    4. 现在,嵌套功能只有在下次重启主机时才会启用。要永久启用它,请在 /etc/modprobe.d/kvm.conf 文件中添加以下行:
      options kvm nested=1
  • kvm-clock 服务专用于 AMD64 和 Intel 64 系统,且不必为 IBM Z 上的时间管理 进行配置。