B.2. IBM Z での KVM 仮想化の使用

インストール

IBM Z ホストでは、KVM ハイパーバイザーを専用の論理パーティション (LPAR) にインストールする必要があります。z/VM OS で KVM を実行することはサポートされていません。また、LPAR は SIE (start-interpretive execution) 仮想化拡張をサポートする必要もあります。
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. ゲストの設定時、ゲストを "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>
      

    注記

    z12 ホストマシン上の z114 および z196 CPU モデルで ppa15 機能を使用している場合は、必ず最新のマイクロコードレベル (バンドル 95 以降) を使用するようにしてください。

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

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

    注記

    AMD64 および Intel 64 ホストでも、起動順序の管理に <boot order='number'/> の使用が推奨されます。
  • SMBIOS 設定は使用できません。
  • IBM Z で使用される ウォッチドックデバイス モデルは 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 上で 時間管理 のために設定する必要はありません。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。