Red Hat Training

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

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

インストール

IBM Z ホストでは、ハイパーバイザーを専用の論理パーティション (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 を使用します。
  • <boot dev='device'/> XML 設定要素は IBM Z ではサポートされていません。デバイスの起動順序を定義するには、<devices> セクションの <boot order='number'/> 要素を使用します。アップストリームの libvirt ドキュメント を参照してください。
    注記
    AMD64 および Intel 64 ホストでも、起動順序の管理に <boot order='number'/> の使用が推奨されます。
  • SMBIOS 設定は利用できません。
  • IBM Z で使用される ウォッチドックデバイス モデルは diag288 である必要があります。
  • IBM Z で 入れ子になった仮想化 機能を有効にするには、以下を行います。入れ子になった仮想化は、IBM Z では AMD64 および Intel 64 システムと同様にテクノロジープレビューとして利用できるため、本番環境での使用は推奨されていないことに注意してください。
    1. 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 の 時間管理 用に設定する必要はありません。