Print | Rate this content

アドバイザリ: Linux - Intelプロセッサーが搭載されているHP ProLiantシステムで、KVM仮想マシンが起動せず、「Device is ineligible for IOMMU domain attach due to platform RMRR requirement (プラットフォームのRMRR要件のため、デバイスがIOMMUドメイン接続の対象外です)」というメッセージが表示される

サポート情報 - CUSTOMER ADVISORY

ドキュメント ID: c04944850

バージョン: 1

アドバイザリ: Linux - Intelプロセッサーが搭載されているHP ProLiantシステムで、KVM仮想マシンが起動せず、「Device is ineligible for IOMMU domain attach due to platform RMRR requirement (プラットフォームのRMRR要件のため、デバイスがIOMMUドメイン接続の対象外です)」というメッセージが表示される
注意: この文書の情報 (製品およびソフトウェアのバージョンを含む) は、リリース日の時点において最新であるものとします。 この文書は予告なく変更される場合があります。

リリース日付: 2016-01-19

最終更新日: 2016-03-21


概要

Intelプロセッサーが搭載されているHP ProLiantシステムでは、システムメモリの領域を使用して、管理のためにデバイスのステータス情報を通信します。 システムROMで、それらのメモリ領域と、オペレーティングシステムにアクセスする必要のあるデバイスを指定するRMRR (Reserved Memory Region Reporting) 構造をセットアップします。

LinuxカーネルとHP ProLiantシステムROM間で競合が検出されます。RMRR構造を使用していることが原因であり、KVMによって利用可能になるデバイスパススルー機能に影響します。 この競合の結果、PCIデバイス割り当て (PCIパススルーまたはデバイスパススルーとも言う) を利用する仮想マシン (VM) について予期しないシステム動作が発生することがあります。 SR-IOVの使用には影響しません。

この競合を回避するため、変更がLinuxカーネルのバージョン3.16に実装され、Red Hat Enterprise Linux 7.1に組み込まれています。この変更の結果、システムのデバイスの多くがVMに対するパススルーの使用を制限されるようになります。

デバイスは、次のようにして、dmesgエントリによって特定できることがあります。

IOMMU: Setting identity map for device 0000:03:00.2
[0xbdf7f000 - 0xbdf82fff]

この場合、PCIデバイス0000:03:00.2は、RMRRレコードを使用して、0xbdf7f000から始まるメモリのIDマッピングに関連付けられています。

直接割り当てられているPCIデバイスでVMをパワーオンしようとすると、次のdmesgエントリが、影響を受けるデバイスの説明と共にカーネルによって報告されます。

Device is ineligible for IOMMU domain attach due
to platform RMRR requirement. Contact your platform
vendor.

libvirtをVMの管理に使用している場合、そのようなデバイスでVMを起動しようとすると、次のようなメッセージがlibvirtによって生成されます。

qemu-kvm: -device vfio- pci,host=03:00.2,
id=hostdev0,bus=pci.0,addr=0x7: vfio: failed
to set iommu for container: Operation not
permitted qemu-kvm: -device vfio-pci,host
=03:00.2,id=hostdev0,bus=pci.0,addr=0x7:
vfio: failed to setup container for group
22 qemu-kvm: -device vfio-pci,host=03:00.2,
id=hostdev0,bus=pci.0,addr=0x7: vfio: failed
to get group 22 qemu-kvm: -device vfio-pci,
host=03:00.2,id=hostdev0,bus=pci.0,addr=0x7:
Device initialization failed. qemu-kvm:
-device vfio-pci,host=03:00.2,id=hostdev0,
bus=pci.0,addr=0x7: Device 'vfio-pci' could
not be initialized

これは、HP ProLiantシステム固有の問題ではありません。

範囲

カーネルバージョン3.16以降と共にRed Hat Enterprise Linux Server 7.1以降またはLinuxを実行しているすべてのIntelプロセッサー搭載HP ProLiantシステム。 Red Hat Enterprise Server 7.1をサポートしているProLiantサーバーの一覧については、次の場所から入手できるサポートマトリックスを参照してください。

http://h17007.www1.hp.com/us/en/enterprise/servers/supportmatrix/redhat_linux.aspx

これはSR-IOV機能には影響しません。 HP Moonshotサーバーは影響を受けません。

解決策

構成のサブセットについては、この変更によって影響を受けるシステムでPCIデバイス割り当てを有効にすることができます。 問題解決のためには、特定のROMアップデート、構成、および、場合によっては、NICファームウェアアップデートが必要です。 PCIデバイス割り当てをサポートできる構成として、次のようなものがあります。

  • GPUが搭載されているHP ProLiant Gen8およびHP ProLiant Gen9シリーズサーバー
  • サードパーティ製NICまたはIntel Ethernetコントローラーを使用するHP PCIネットワークアダプター内蔵HP ProLiant Gen8シリーズサーバー
  • Intel Ethernetコントローラーを使用するHPネットワークアダプター内蔵HP ProLiant Gen9シリーズサーバー
  • QLogic NX2 Ethernetコントローラーを使用するHP NIC内蔵HP ProLiant Gen9シリーズサーバー
  • 特定のBroadcom Ethernetコントローラーを使用するHP NIC内蔵HP ProLiant Gen9シリーズサーバー
  • Mellanox ConnectX3コントローラーを使用するHP NIC内蔵HP ProLiant Gen9シリーズサーバー
  • サードパーティ製NICが内蔵されているHP ProLiant Gen9シリーズサーバー

GPUが搭載されているProLiant Gen8およびProLiant Gen9シリーズサーバー

ProLiant Gen8およびGen9サーバーは、GPUとドライバーがパススルーをサポートしている場合には、以下のファームウェアバージョンでGPUデバイスのパススルーをサポートします。

  • ProLiant WS460c Gen8サーバーブレードでは、システムROMを2013年5月1日付け (5/1/2013) 以降のバージョンに更新してください。
  • ProLiant DL580 Gen8では、システムROMをP79_1.70_02_23_2015以降のバージョンに更新してください。
  • ProLiant Gen8シリーズサーバーブレードでは、システムROMを2013年6月付け以降のバージョンに更新してください。
  • ProLiant Gen9シリーズサーバーでは、システムROMを1.20_08-26-2014 (2014年9月19日) 以降のバージョンに更新してください。

サードパーティ製NICまたはIntel Ethernetコントローラーを使用するHP PCIネットワークアダプターが内蔵されているProLiant Gen8シリーズサーバーでのNICパススルー

HP ProLiant DL580 Gen8サーバー以外のProLiant Gen8シリーズサーバーは、次の一連のNICについてデバイスパススルーをサポートするように構成することができます。

  • HP Ethernet 1GB 2ポート361Tアダプター
  • HP Ethernet 1GB 4ポート366Tアダプター
  • HP Ethernet 10GB 2ポート560SFP+アダプター
  • HP Ethernet 10GB 2ポート560Mアダプター
  • HP Ethernet 10GB 2ポート561Tアダプター
  • HP Ethernet 10GB 1ポートP560SFP+アダプター

サードパーティ製NICもサポートされることがあります。ただし、NICとそのドライバーでPCIパススルーをサポートしていることが前提となります。 サポートについて確認するには、NICベンダーにお問い合わせください。

上記のいずれかのNICまたはサードパーティ製NICを使用する場合、サーバーを次のように構成する必要があります。

  1. システムを最新のファームウェアに更新します。
  2. hp-health RPMおよびhp-scripting-tools RPMをインストールします。 これらのRPMは、HPサポートセンターまたはHP Software Delivery Repositoryから入手できます。 以下に例を示します。

    https://downloads.linux.hp.com/SDR/repo/


    ヘルスモニターの要件によっては、BIOS構成の実行後にこれらのパッケージが削除されることがあります。
  3. 個々のPCIスロットを管理するためのconrep構成情報が含まれているファイルを次の場所からダウンロードします。

    ftp://ftp.hp.com/pub/softlib2/software1/pubsw-linux/p1472592088/v95853/conrep_rmrds.xml

  4. 次の行を入力してファイル (この手順ではexclude.datとする) を作成します。

    「SlotX」の「X」は、NICが取り付けられているPCIスロットの番号に置き換えてください。 Linuxの「lspci」コマンドを使用して、物理PCIスロットを特定することができます。 この情報は、iLOの[システム情報]画面の[デバイスインベントリ]タブでも確認できます。
  5. 次のコマンドを実行して、スロットの競合を無効にします (つまり、PCI/デバイスパススルーを有効にします)。
    # conrep -l -x conrep_rmrds.xml -f exclude.dat

    次のような出力が表示されます。内容は個々のサーバーによって異なります。

    conrep 4.1.2.0 - HP Scripting Toolkit Configuration
    Replication Program Copyright ©) 2007-2014
    Hewlett-Packard Development Company, L.P.

    System Type: ProLiant BL460c Gen8 ROM Date :
    02/10/2014 ROM Family :I31 Processor
    Manufacturer : Intel

    XML System Configuration: conrep_rmrds.xml
    Hardware Configuration:exclude.dat Global
    Restriction: [3.40 ] OK

    Loading configuration data from exclude.dat

    Conrep Return Code: 0

    ステップ5は、PCIスロットごとに繰り返してPCI/デバイスパススルーを有効にする必要があります。
  6. 現在の構成を報告する次のconrepコマンドを使用して、BIOS設定を確認します。 # conrep -s -x conrep_rmrds.xml -f verify.dat

    次のような出力が表示されます。

    conrep 4.1.2.0 - HP Scripting Toolkit Configuration
    Replication Program Copyright ©) 2007-2014
    Hewlett-Packard Development Company, L.P.
    System Type: ProLiant BL460c Gen8 ROM Date : 02/10/2014
    ROM Family : I31 Processor Manufacturer : Intel
    XML System Configuration: conrep_rmrds.xml Hardware
    Configuration: verify.dat Global Restriction: [3.40 ]
    OK Saving configuration data to verify.dat
    Conrep Return Code: 0直前のステップで構成したスロットのみが「Endpoints_Excluded」という表記付きでverify.datに表示されることを確認してください。
  7. 上記のHPブランドのNICのいずれかを使用している場合には、hp-ocsbbd RPMに含まれている「Intel Active Health System Agent for HP ProLiant Network Adapters for Linux x86_64」をインストールしないでください。 このエージェントは、RMRR領域を使用してセンサーとヘルスのデータを転送することを要求します。 RMRR領域が無効になっている場合は、このエージェントを実行しないでください。 RPMがインストールされている場合には、これを削除する必要があります。
  8. サーバーを再起動します。

Intel Ethernetコントローラーを使用するHP NICが内蔵されているHP ProLiant Gen9シリーズサーバーでのNICデバイスのパススルー

次のNICが内蔵されているHP ProLiant Gen9シリーズサーバーには、以下の手順を適用します。

  • HP Ethernet 1GB 2ポート361iアダプター
  • HP Ethernet 1GB 2ポート361Tアダプター
  • HP Ethernet 1GB 2ポート361FLBアダプター
  • HP Ethernet 1GB 4ポート366iアダプター
  • HP Ethernet 1GB 4ポート366Tアダプター
  • HP Ethernet 10GB 2ポート560FLBアダプター
  • HP Ethernet 10GB 2ポート560SFP+アダプター
  • HP Ethernet 1GB 4ポート366FLRアダプター
  • HP Ethernet 10GB 2ポート560FLR-SFP+アダプター
  • HP Ethernet 10GB 2ポート560Mアダプター
  • HP Ethernet 10GB 2ポート561FLR-Tアダプター
  • HP Ethernet 10GB 2ポート561Tアダプター
  • HP Ethernet 10GB 1ポートP560SFP+アダプター
  • HP Ethernet 1GB 2ポート363iアダプター
  • HP Ethernet 1GB 1ポート364iアダプター
  • HP Ethernet 1GB 2ポート367iアダプター
  • HP Ethernet 10GB 2ポート562iアダプター

サーバーを次のように構成する必要があります。

  1. システムROMをバージョン1.30_12-24-2014以降に更新します。
  2. HP NICのファームウェアをバージョン1.1067.0以降に更新します。 このファームウェアバンドルは、ファームウェアRPMであるhp-firmware-nic-intel-1.8.15-1.1.x86_64.rpmの一部です。
  3. サーバーを再起動し、電源投入時セルフテスト (POST) 中にF9キーを選択します。
  4. [System Configuration (システム構成)]を選択します。
  5. 該当のネットワークアダプタを選択します。
  6. [Device Level Configuration (デバイスレベル構成)]を選択します。
  7. 次のようにして、[Disable HP Shared Memory features (HP共有メモリ機能を無効にする)]で[Enabled (有効)]を選択し、共有メモリを無効にします。

  8. 構成変更を保存してサーバーを再起動します。

hp-ocsbbd RPMに含まれている「Intel Active Health System Agent for HP ProLiant Network Adapters for Linux x86_64」を実行するシステムでは、この構成でサービスを開始するとエラーが表示されます。 このエラーはサーバーの動作や機能には影響しません。 ただし、サービスはもはや必要ないので、パッケージを削除しなければなりません。

QLogic NX2 Ethernetコントローラーを使用する HP NIC内蔵HP ProLiant Gen9シリーズサーバーでのNICデバイスパススルー

次のNICが内蔵されているHP ProLiant Gen9シリーズサーバーには、以下の手順を適用します。

  • HP Ethernet 10Gb 2ポート530SFP+アダプター
  • HP Ethernet 10Gb 2ポート530Tアダプター
  • HP Ethernet 10Gb 2ポート533FLR-Tアダプター
  • HP FlexFabric 10Gb 2ポート534FLR-SFP+アダプター
  • HP FlexFabric 10Gb 2ポート534Mアダプター
  • HP FlexFabric 10Gb 2ポート536FLBアダプター
  • HP FlexFabric 20Gb 2ポート630FLBアダプター
  • HP FlexFabric 20Gb 2ポート630Mアダプター
  • HP StoreFabric CN1100R Dual Port Converged Network Adapter

サーバーを次のように構成する必要があります。

  1. システムROMをバージョン1.30_12-24-2014以降に更新します。
  2. HP NICのファームウェアをバージョン2.15.19 (2015年6月15日) 以降に更新します。 このファームウェアバンドルは、ファームウェアRPMであるhp-firmware-nic-qlogic-nx2-2.15.19-1.1.x86_64.rpmの一部です。
  3. サーバーを再起動し、電源投入時セルフテスト (POST) 中にF9キーを選択します。
  4. [System Configuration (システム構成)]を選択します。
  5. 該当のネットワークアダプタを選択します。
  6. [Device Level Configuration (デバイスレベル構成)]を選択します。
  7. 次のようにして、[HP Shared Memory features (HP共有メモリ機能)]で[Disable (無効)]を選択し、共有メモリを無効にします。

  8. 構成変更を保存してサーバーを再起動します。

Broadcom Ethernetコントローラーを使用する HP NIC内蔵HP ProLiant Gen9シリーズサーバーでのNICデバイスパススルー

次のNICが内蔵されているHP ProLiant Gen9シリーズサーバーには、以下の手順を適用します。

  • HP Ethernet 1Gb 2ポート330iアダプター
  • HP Ethernet 1Gb 2ポート332Tアダプター
  • HP Ethernet 1Gb 4ポート331FLRアダプター
  • HP Ethernet 1Gb 4ポート331Tアダプター
  • HP Ethernet 1Gb 4ポート331iアダプター

サーバーを次のように構成する必要があります。

  1. システムROMをバージョン1.30_12-24-2014以降に更新します。
  2. HP NICのファームウェアをバージョン2.15.10 (2015年6月15日) 以降に更新します。 このファームウェアバンドルは、ファームウェアRPMであるhp-firmware-nic-broadcom-2.15.10-1.1.x86_64.rpmの一部です。
  3. サーバーを再起動し、電源投入時セルフテスト (POST) 中にF9キーを選択します。
  4. [System Configuration (システム構成)]を選択します。
  5. 該当のネットワークアダプタを選択します。
  6. [Device Level Configuration (デバイスレベル構成)]を選択します。
  7. 次のようにして、[HP Shared Memory features (HP共有メモリ機能)]で[Disable (無効)]を選択し、共有メモリを無効にします。

  8. 構成変更を保存してサーバーを再起動します。

Mellanox ConnectX3コントローラーを使用する HP NIC内蔵ProLiant Gen9シリーズサーバーでのNICデバイスパススルー

次のNICが内蔵されているHP ProLiant Gen9シリーズサーバーには、以下の手順を適用します。

  • HP Ethernet 10G 2ポート546FLR-SFP+アダプター
  • HP Ethernet 10G 2ポート546SFP+アダプター
  • HP InfiniBand FDR/Ethernet 10Gb/40Gb 2ポート544+QSFPアダプター
  • HP InfiniBand FDR/Ethernet 10Gb/40Gb 2ポート544+FLR-QSFPアダプター
  • HP InfiniBand QDR/Ethernet 10Gb 2ポート544+FLR-QSFPアダプター
  • HP InfiniBand QDR/Ethernet 10Gb 2P 544Mアダプター
  • HP InfiniBand FDR/Ethernet 10/40Gb 2P 544Mアダプター
  • HP InfiniBand QDR/Ethernet 10Gb 2ポート544+Mアダプター
  • HP InfiniBand FDR/Ethernet 10Gb/40Gb 2ポート544+Mアダプター

サーバーを次のように構成する必要があります。

  1. システムROMをバージョン1.30_12-24-2014以降に更新します。
  2. HP NICのファームウェアをバージョン2.33.5220-Flex-3.4.467 (2015年4月14日) 以降に更新します。
  3. サーバーを再起動し、電源投入時セルフテスト (POST) 中にF9キーを選択します。
  4. [System Configuration (システム構成)]を選択します。
  5. 該当のネットワークアダプタを選択します。
  6. [Device Level Configuration (デバイスレベル構成)]を選択します。
  7. 次のようにして、[HP Shared Memory features (HP共有メモリ機能)]で[Disable (無効)]を選択し、共有メモリを無効にします。

  8. 構成変更を保存してサーバーを再起動します。

サードパーティ製NICが内蔵されているProLiant Gen9サーバーのPCI/デバイスパススルー

ファームウェアバージョン1.30_12-24-2014以降のGen9シリーズサーバーは、サードパーティ製NICによるPCI/デバイスパススルーをサポートしています。ただし、NICとドライバーでPCI/デバイスパススルーをサポートしていることが前提となります。 サポートについては、NICのベンダーにお問い合わせください。

以下の手順を実行して該当のシステムROM/NICファームウェアを取得します。

次のリンクをクリックします。 http://www.hp.com

[サポート]を選択します。

[ドライバーのダウンロード]を選択します。

製品名 (「DL380 Gen9」など) を入力し、[実行] ボタンをクリックします。

該当のオペレーティングシステムを選択します。

該当のカテゴリを選択します。

該当のシステムROM/NICファームウェアを見つけてダウンロードし、インストールします。

プロアクティブな更新の通知 : ご使用のワークステーション特定のドライバー、ソフトウェア、ファームウェアの更新、およびカスタマーセルフリペア交換部品同様、Customer Advisoryのようなサポート警告をHP Subscriber's Choiceから電子メールでプロアクティブに受け取ることができます。 Subscriber's Choiceのサインアップは、以下のWebサイトで行ってください: プロアクティブな更新のサブスクリプションフォーム

ナビゲーションのヒント : ProLiantサーバーの最新のドライバー、パッチ、およびその他のサポートソフトウェアダウンロードやオプションを検索するためのHP.comのナビゲーションに関するヒントは、 Navigation Tips document を参照してください。

検索のヒント : HP.com上での類似ドキュメントの検索方法は、 Search Tips document を参照してください。

Linuxに関連した追加のアドバイザリを検索するには、以下の検索文字列を使用します。

+Advisory +ProLiant -"Software and Drivers" +Linux


影響のあるハードウェア プラットフォーム: HP ProLiant BL420c Gen8 Server Blade, HP ProLiant BL460c Gen8 Server Blade, HP ProLiant BL660c Gen8 Server Blade, HP ProLiant BL660c Gen9 Server Blade, HP ProLiant DL160 Gen8 Server, HP ProLiant DL320e Gen8 Server, HP ProLiant DL320e Gen8 v2 Server, HP ProLiant DL360e Gen8 Server, HP ProLiant DL360p Gen8 Server, HP ProLiant DL380e Gen8 Server, HP ProLiant DL380p Gen8 Server, HP ProLiant DL560 Gen8 Server, HP ProLiant DL560 Gen9 Server, HP ProLiant DL580 Gen8 Server, HP ProLiant ML310e Gen8 Server, HP ProLiant ML350e Gen8 Server, HP ProLiant ML350p Gen8 Server, HP ProLiant MicroServer Gen8, HP ProLiant SL230s Gen8 Server, HP ProLiant SL250s Gen8 Server, HPE ProLiant BL460c Gen9 Server Blade, HPE ProLiant DL120 Gen9 Server, HPE ProLiant DL160 Gen9 Server, HPE ProLiant DL180 Gen9 Server, HPE ProLiant DL360 Gen9 Server, HPE ProLiant DL380 Gen9 Server, HPE ProLiant DL60 Gen9 Server, HPE ProLiant DL80 Gen9 Server, HPE ProLiant ML110 Gen9 Server, HPE ProLiant ML150 Gen9 Server, HPE ProLiant ML350 Gen9 Server, HPE ProLiant XL230a Gen9 Server, HPE ProLiant XL250a Gen9 Server, HPE ProLiant XL450 Gen9 Server
影響のあるオペレーティング システム: Red Hat Enterprise Linux 7 (AMD64/EM64T)
影響のあるソフトウェア: なし
サポート通信の相互参照 ID: IA04781229
©Copyright 2017 Hewlett Packard Enterprise Company, L.P.
本書の内容につきましては万全を期しておりますが、本書の技術的あるいは校正上の誤り、省略に対して責任を負いかねますのでご了承ください。 本書の内容は「現状通り」に提供されるものとし、いずれの保証の対象にもならないものとします。 法律で許可される範囲に限り、Hewlett Packard Enterprise Company またはその関連会社、下請け業者、供給業者は、不稼働時間の費用、利益の損失、代替品または代替サービスの調達にかかわる損害、データの消失またはソフトウェアの復元による損害を含む、偶発的、間接的または特別の損害について責任を負いません。 本書の情報は予告なしに変更されることがあります。 Hewlett Packard Enterprise Company およびここで参照されている Hewlett Packard Enterprise 製品の名称は、Hewlett Packard Enterprise Company の米国およびその他の国における商標です。 本書に掲載されている会社名、製品名は、それぞれ各社の商標または登録商標です。

Provide feedback

Please rate the information on this page to help us improve our content. Thank you!