B.2. IBM z Systems での KVM 仮想化

インストール

IBM z Systems では、ハイパーバイザーを専用の論理パーティション (LPAR) にインストールする必要があります。z/VM OS における KVM の実行はサポートされていません。また、LPAR は SIE (start-interpretive execution) 仮想化拡張をサポートする必要もあります。
Red Hat Enterprise Linux 7 for IBM z Systems に 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. ゲストの設定時、ゲストを "Spectre" 脆弱性から保護するために、以下の方法の 1 つで CPU を設定 することが推奨されます。
    • 以下の例のように、ホスト 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>
      

アーキテクチャーの関連事項

Red Hat Enterprise Linux 7.5 for IBM z Systems 上の KVM 仮想化は、AMD64 や Intel 64 システムの KVM とは以下のように異なります。
  • IBM z Systems では SPICE および VNC プロトコルは利用できず、仮想グラフィカルカードデバイス はサポートされません。そのため、ゲストのグラフィカル出力は表示できません。
  • IBM z Systems では、仮想 PCI および USB デバイスはサポートされません。そのため、virtio-*-pci デバイスはサポートされず、代わりに virtio-*-ccw デバイスを使用する必要があります。たとえば、virtio-net-pci の代わりに virtio-net-ccw を使用します。
  • <boot dev='device'/> XML 設定要素は z Systems ではサポートされません。デバイスの起動順序を定義するには、<boot order='number'/> in the <devices> セクションを使用します。アップストリームの libvirt ドキュメント を参照してください。

    注記

    AMD64 および Intel 64 ホストでも、起動順序の管理に <boot order='number'/> の使用が推奨されます。
  • SMBIOS 設定は使用できません。
  • IBM z Systems で使用される ウォッチドックデバイス モデルは diag288 である必要があります。
  • 入れ子になった仮想化を有効にするには、以下を行います。入れ子になった仮想化は、IBM z Systems では AMD64 および Intel 64 システムと同様にテクノロジープレビューとして利用できるため、本番環境での使用は推奨されていないことに注意してください。
    1. 1. 入れ子になった仮想化がシステムで利用できるかどうかを確認します。
      $ cat /sys/module/kvm/parameters/nested
      このコマンドによって 1 が返された場合、この機能は有効になっています。
      このコマンドによって 0 が返された場合、以下の手順にしたがって有効にします。
    2. 2. kvm モジュールをアンロードします。
      # modprobe -r kvm
    3. 3. ネスト機能をアクティブにします。
      # modprobe kvm nested=1
    4. ネスト機能は、ホストの次回起動時まで有効になります。これを永続的に有効にするには、以下の行を /etc/modprobe.d/kvm.conf ファイルに追加します。
      options kvm nested=1
  • kvm-clock サービスは、AMD64 とIntel 64 システムに固有するものであり、IBM z Systems 上で 時間管理 のために設定する必要はありません。