付録G PCI パススルーを有効にするためのホストの設定

PCI パススルーを有効化すると、デバイスが仮想マシンに直接アタッチされているかのように、ホストのデバイスを仮想マシンで使用することができます。PCI パススルー機能を有効化するには、仮想化拡張機能および IOMMU 機能を有効化する必要があります。以下の手順では、ホストを再起動する必要があります。すでにホストが Manager にアタッチされている場合には、ホストをメンテナンスモードに設定してから以下の手順を実施するようにしてください。

前提条件

  • ホストのハードウェアが PCI デバイスのパススルーと割り当ての要件を満たしていることを確認してください。詳しい情報は「PCI デバイスの要件」を参照してください。

PCI パススルーを有効にするためのホストの設定

  1. BIOS の仮想化拡張機能および IOMMU 拡張機能を有効化してください。詳しい情報については、『Red Hat Enterprise Linux 仮想化の導入および管理ガイド』「BIOS での Intel VT-x と AMD-V の仮想化ハードウェア拡張の有効化」を参照してください。
  2. ホストを Manager に追加する際に ホストデバイスパススルー & SR-IOV のチェックボックスを選択するか、手動で grub 設定ファイルを編集して、カーネルの IOMMU フラグを有効化します。

  3. GPU パススルーを有効にするには、ホストとゲストシステムの両方で追加の設定手順を実行する必要があります。詳しい情報については、『管理ガイド』「GPU パススルーを使用するためのホストおよびゲストシステムの準備」を参照してください。

IOMMU の手動での有効化

  1. grub 設定ファイルを編集して IOMMU を有効化します。

    注記

    IBM POWER8 ハードウェアを使用している場合は、IOMMU がデフォルトで有効化されているのでこの手順は飛ばしてください。

    • Intel の場合はマシンを起動して grub 設定ファイルの GRUB_CMDLINE_LINUX 行の末尾に intel_iommu=on を追記してください。

      # vi /etc/default/grub
      ...
      GRUB_CMDLINE_LINUX="nofb splash=quiet console=tty0 ... intel_iommu=on
      ...
    • AMD の場合はマシンを起動して grub 設定ファイルの GRUB_CMDLINE_LINUX 行の末尾に amd_iommu=on を追記してください。

      # vi /etc/default/grub
      ...
      GRUB_CMDLINE_LINUX="nofb splash=quiet console=tty0 ... amd_iommu=on
      ...
      注記

      intel_iommu=on または amd_iommu=on が機能する場合は、iommu=pt または amd_iommu=pt を追加してみてください。pt オプションにより、パススルーで使用するデバイスの IOMMU のみが有効化されて、ホストのパフォーマンスが向上しますが、このオプションはすべてのハードウェアでサポートされるわけではありません。pt オプションがお使いのホストで機能しない場合には、以前のオプションに戻してください。

      ハードウェアが割り込みの再マッピングをサポートしていないためにパススルーが失敗する場合は、仮想マシンが信頼できるのであれば allow_unsafe_interrupts オプションを有効化することも検討してください。allow_unsafe_interrupts を有効化すると、ホストは仮想マシンからの MSI 攻撃に晒されることになるため、このオプションはデフォルトで有効化されていません。オプションを有効化するには以下のように設定してください。

      # vi /etc/modprobe.d
      options vfio_iommu_type1 allow_unsafe_interrupts=1
  2. grub.cfg ファイルをリフレッシュしてからホストを再起動し、変更を有効にします。

    # grub2-mkconfig -o /boot/grub2/grub.cfg
    # reboot

SR-IOV の有効化、専用の仮想 NIC の仮想マシンへの割り当てに関する詳しい情報については、「How to enable host device passthrough and SR-IOV to allow assigning dedicated virtual NICs to virtual machines in RHV」を参照してください。