NPIV Multiple-Queue のサポート

マルチキューの有効化による N_Port ID Virtualization (NPIV) のモダナイゼーションについて説明します。これは一般に NPIV Multiple-Queue (MQ) と呼ばれています。

現在、高帯域幅のファイバー・チャネル (FC) アダプター (16 GB 以上の帯域幅を持つ FC アダプターなど) は、ストレージ入出力通信用に複数キュー・ペアをサポートしています。 物理 FC スタック内のマルチキュー・ペアでは、FC アダプターを介して入出力を並列で駆動できるため、1 秒当たりの入出力要求 (IOPS) が大幅に向上します。 NPIV マルチプルキューの目的は、クライアントオペレーティングシステム(OS)、POWER® Hypervisor(PHYP)、Virtual I/O Server(VIOS)などのすべてのコンポーネントに同様のマルチプルキューサポートを追加することである。 NPIV VIOS スタックおよび PHYP が更新され、クライアント LPAR がマルチキューにアクセスできるようになります。 NPIV複数キュー機能は、Virtual I/O ServerVersion3.1.2以降を使用することで、AIX® Linux® IBM® i論理 パーティションでサポートされる。

複数キューによる NPIV スケーリングの改善には、以下の利点があります。

  • 単一または複数の LPAR にマップされる場合の、使用可能な複数キュー FC アダプター帯域幅の効率的な使用。
  • FC アダプター・キューを介して、論理装置 (LUN) レベルの複数の入出力トラフィックを有効にし、並列に駆動。
  • 1 秒当たりの入出力要求 (IOPS) が増加するため、ストレージ入出力のパフォーマンスが向上。

次の図は、NPIV Multiple-Queues を使用するよう構成された管理対象システムを示しています。

NPIV 複数キューを使用するように構成された管理対象システムの図。

NPIV 用 Multiple-Queue フィーチャーを有効化するためのハードウェアのサポートおよび要件

表 1. NPIV 用のマルチキュー
オペレーティング・システムまたは PFW サポート対象バージョン
ハードウェア POWER9 プロセッサベースのシステム、またはそれ以降
AIX バージョン 7.2 テクノロジー・レベル 05 またはそれ以降
VIOS バージョン 3.1.2 以降
Power ファームウェア バージョン 940 以降
ファイバー・チャネル (FC) アダプター Multiple-Queue フィーチャーをサポートする Emulex FC 16 Gb/32 Gb FC アダプターまたは任意の高帯域幅ファイバー・チャネル・アダプター
IBM i IBM i 7.5テクノロジー・リフレッシュ 1、IBM i 7.4テクノロジー・リフレッシュ 6、IBM i 7.3テクノロジー・リフレッシュ 12
Linux Enterprise Server (SUSE、 Red Hat®) Red Hat Enterprise Linux 9.0またはそれ以降
SUSE Linux Enterprise Server15SP4以降

パフォーマンス上の利点

NPIV Multiple-Queue を有効化することで、さまざまなタイプのワークロードでストレージ入出力のパフォーマンスが向上します。

Multiple-Queue サポート対象環境の LPAR モビリティー

すべてのコンポーネントでNPIV複数キューを有効にするには、クライアントOS、ハイパーバイザ、およびVirtual I/O Serverからのサポートが必要です。 ライブパーティションモビリティ(LPM)操作中、ハイパーバイザーまたはデスティネーションシステムのVIOSのいずれかがマルチキューをサポートしていない場合、LPM操作後にマルチキューは有効になりません。

『Multiple-Queue サポート対象環境の LPAR モビリティー』セクションでは、以下の観点に基づいて説明しています。

  • 複数キュー機能は、VIOS バージョン 3.1.2以降を使用する AIXLinux、および IBM i 論理区画でサポートされます。
  • VIOS の観点から見た LPM。他の PowerVM® クライアントの潜在的な実装を考慮します。
  • ファームウェアの観点から見た LPM および Multiple-Queue。
NPIV 構成および LPM 妥当性検査に関する考慮事項
  • 初期構成時に NPIV クライアントを VIOS に接続すると、VIOS は Multiple-Queue フィーチャーがサポートされているかどうかを報告します。 フィーチャーがサポートされている場合、VIOS は、マルチキューを確立した環境からより少ないキューを確立可能な宛先にフィーチャーをマイグレーションできるかどうかを報告します。 また VIOS は、単一キュー環境 (3.1.2 より古いバージョンの VIOS を使用するシステム) で入出力操作を続行できるかどうかも報告します。
  • Power ® ファームウェアは、従属コマンド応答キュー (サブ CRQ) と呼ばれる構成体を実装することにより、複数キュー機能をサポートします。 NPIV サブ CRQ 構成体は、 POWER9以降のシステムでサポートされます。 sub-CRQ 構成は、クライアントが POWER9 システムから以前のモデル POWER システムに移動された場合、またはクライアントが現行システムより古いファームウェア・レベルのシステムに移動された場合に失われます。
  • 初期構成中、Virtual I/O Serverは、NPIVクライアントがマルチキュー機能をサポートするNPIVサブCRQコンストラクトを維持するかどうかを決定できるように、ファームウェアとアダプターに関する情報を提供する。 LPM 操作時に、ファームウェアが sub-CRQ 構成を元の管理対象システムから宛先管理対象システムに移動した場合、NPIV クライアントはキュー・リソースを格納しておき、後でそのすべてのリソースが使用可能な環境で LPM 操作が実行されたときに使用することができます。
AIX クライアントでの LPM シナリオおよび複数キューの動作
  • NPIV クライアントの初期構成時に、 AIX NPIV クライアント LPAR は、複数キュー・レベル、マイグレーション・レベル、ファームウェア・レベルなどの機能を VFC ホストと交換してから、構成を実行します。 これらの機能は、LPM 操作時に宛先管理対象システムで再度交換されます。 Multiple-Queue フィーチャーは、これらの機能に基づいて使用可能または非推奨になります。
  • AIX LPAR が、NPIV 複数キュー・サポート・セットアップを使用するソース・システムから NPIV 複数キュー・サポート・セットアップを使用する宛先システムにマイグレーションされると、NPIV スタックは引き続き複数キュー環境で実行されます。
    • NPIV クライアントがソース管理対象システムと同じ数のキューを作成でき、ソース管理対象システムと同様かつ宛先システムで使用可能な FC アダプター帯域幅を確保するまでは、パフォーマンスが変わらない場合があります。
    • LPM 操作中に初期機能を交換する際に、宛先管理対象システムの VFC ホストが、ソース管理対象システムで構成されているキューの数と比較して報告するキューの数が少ない場合、NPIV クライアントはこれらの使用可能なキューを使用して入出力要求を構成し、送信し続けます。
    • ソース管理対象システムまたは宛先管理対象システムのいずれかのキューが少ない場合、またはソース管理対象システムと比較したときに宛先管理対象システムのストレージ帯域幅が狭い場合には、パフォーマンスに影響を及ぼす場合があります。
    • LPM 操作中に初期機能を交換しているときに、宛先管理対象システムの VFC ホストがより多くのキューを報告した場合、NPIV クライアントは、ソース管理対象システムで構成されているキューの数と同数のキューを使用します。

      例:

      • ソース管理対象システムで構成されたキューの数が 8 で、宛先管理対象システムの VFC ホストが 4 個のキューを報告した場合、4 個のキューのみが宛先管理対象システムに構成されます。 同一の LPAR に戻ってマイグレーションした場合、または VFC ホストが 8 個のキューを報告した別の宛先システムにマイグレーションした場合は、NPIV クライアントは 8 個のキューで構成されます。
      • ソース管理対象システムに構成されたキューの数が 8 で、宛先管理対象システムの VFC ホストが 16 個のキューを報告した場合、VFC クライアントは 8 個のキューで引き続き実行されます。
  • AIX LPAR が NPIV 複数キュー環境から古いファームウェア・レベルの管理対象システムにマイグレーションされると、宛先管理対象システムのアダプターに関係なく、複数キュー・リソースが失われ、パフォーマンスが低下する可能性があります。 NPIV クライアントは、後で複数キュー環境をサポートするシステムに移動されるときに、複数キューを確立しません。
  • Virtual I/O Serverとファームウェアがマルチキューをサポートしているが、4 GB または 8 GB の Emulex などの FC アダプターがマルチキューをサポートしていない環境にAIXLPAR を移行した場合、サブキューリソースはAIXクライアントによって保持されます。 AIXクライアントは、その後マルチキュー機能をサポートする環境に移行した場合にも使用できます。 複数キュー環境から複数キュー機能をサポートしない環境にマイグレーションした後に、パフォーマンスの問題が発生する可能性があります。
  • AIXLPARが、VIOSがマルチキュー機能を使用できない環境に移行された場合、サブキューリソースは失われ、マルチキューは非推奨となります。 NPIVクライアントは、シングルキューモードで実行される(AIX7200-04以前、およびVirtual I/O ServerVersion3.1.1以前のバージョンのNPIVセットアップと同様)。 NPIV クライアントは、後で複数キュー環境をサポートするシステムに移動されるときに、複数のキューを確立しません。
  • マルチキューNPIVクライアントパーティション( AIX 7200-05、またはそれ以降)を、 POWER8 または POWER7 システムから、マルチキューセットアップのある POWER9 システムに移行した場合、パーティションはNPIVシングルチャネルモードで動作し続けます。これは、下位プロセッサ互換モードから POWER9 システムにパーティションを移行した後、パーティションは POWER8 または POWER7 システムの下位プロセッサ互換モードで動作し続けるためです。 POWER9 システムでネイティブ・モードを使用して区画をブートすると、始動プロセスの一環として NPIV 構成中に NPIV 複数キューが有効になります。
    注:POWER ファームウェア・レベルFW930 以降は、複数キューの有効化に使用されるサブ CRQ 構成をサポートする。 したがって、POWER ファームウェアレベルFW930 以降とVirtual I/O Serverバージョン3.1.2 以降を使用するシステムで、複数キューを意識したセットアップから LPM 操作を実行しても、サブ CRQ 構成は維持されます。 この LPAR を元の Multiple-Queue 対応セットアップにマイグレーションすると、Multiple-Queue フィーチャーが有効になります。
IBM i クライアントでの LPM シナリオおよび複数キューの動作
  • NPIV クライアントの初期構成時に、 IBM i NPIV クライアントは、複数キューやマイグレーションのサポートなどの VFC ホストと機能を交換し、それ自体を構成します。 これらの機能は、LPM 操作時に宛先管理対象システムで再度交換されます。 Multiple-Queue フィーチャーは、これらの機能に基づいて使用可能または非推奨になります。
  • IBM i LPAR が NPIV 複数キュー環境を持つソース・システムから NPIV 複数キュー環境を持つ宛先システムにマイグレーションされると、クライアントは引き続き複数キュー対応環境で実行されます。
    • 宛先管理対象システムで使用可能なキューの数が少ない場合、または宛先管理対象システムのストレージ帯域幅がソース管理対象システムと比較して少ない場合、 IBM i NPIV クライアントのパフォーマンスが影響を受ける可能性があります。
    • LPM 操作中に機能を交換しているときに、宛先管理対象システムの VFC ホストが、ソース管理対象システムで構成されているものとは異なる数のキューを報告した場合、 IBM i NPIV クライアントは再構成され、使用可能なキューを介して入出力要求の送信を続行します。

      例:

      • ソース管理対象システムで構成されたキューの数が 8 で、宛先管理対象システムの VFC ホストが 4 個のキューを報告した場合、4 個のキューのみが宛先管理対象システムに構成されます。 同じ LPAR が管理対象システムにマイグレーションして戻されるか、VFC ホストが 8 個のキューを報告する別の宛先システムにマイグレーションされる場合、NPIV クライアントは 8 個のキューで構成されます。
      • ソース管理対象システムで構成されているキューの数が 8 であり、宛先管理対象システムの VFC ホストが 16 個のキューを報告した場合、VFC クライアントは 16 個のキューを使用して実行するように再構成されます。 同じ LPAR が管理対象システムにマイグレーションされるか、VFC ホストが 8 個のキューを報告する別の宛先システムにマイグレーションされると、NPIV クライアントは 8 個のキューで再構成されます。
  • IBM i LPAR が NPIV 複数キュー環境から古いファームウェア・レベルの管理対象システムにマイグレーションされると、複数キュー・リソースは失われ、宛先管理対象システムのアダプターに関係なくパフォーマンスが低下する可能性があります。 NPIV クライアントは、後で複数キュー環境をサポートするシステムに移動された場合、複数キュー構成を再確立します。
  • IBM i LPAR が、VIOS およびファームウェアが複数キュー環境をサポートするが、8 GB Multiplex FC アダプターが複数キュー環境をサポートしない環境にマイグレーションされると、サブキューが失われ、複数のサブキューが非推奨になります。 IBM i LPAR を複数キュー環境から複数キュー構成をサポートしない環境にマイグレーションすると、パフォーマンスの問題が発生する可能性があります。 NPIV クライアントは、後で複数キュー対応アダプターに再マップされる場合、または複数キュー対応アダプターを持つシステムにマイグレーションされる場合、複数キュー構成を再確立します。
  • IBM iLPARを、Virtual I/O Serverがマルチキュー機能を使用できない環境(VIOSバージョン3.1.1以前)に移行すると、サブキューは失われ、マルチキューは非推奨となります。 NPIV クライアントは、後で複数キュー環境をサポートするシステムにマイグレーションされる場合、複数キューを再確立します。
  • IBM i 複数キュー対応クライアント区画 (7.3 TR 12 または 7.4 TR 6) が、古いシステム (POWER8 または POWER7 システム) から複数キュー環境をサポートするシステムにマイグレーションされると、NPIV クライアントは、宛先システムで NPIV 複数キュー・サポートを使用可能にするように再構成されます。
Linux
  • NPIV クライアントの初期構成時に、 Linux NPIV クライアント LPAR は、複数キュー、マイグレーション、ファームウェア・レベルなどの機能を VFC ホストと交換してから、構成を実行します。 これらの機能は、LPM 操作時に宛先管理対象システムで再度交換されます。 Multiple-Queue フィーチャーは、これらの機能に基づいて使用可能または非推奨になります。
  • Linux LPAR が、NPIV 複数キュー・サポート・セットアップを持つソース・システムから NPIV 複数キュー・サポート・セットアップを持つ宛先システムにマイグレーションされると、NPIV スタックは引き続き複数キュー環境で実行されます。
    • NPIV クライアントがソース管理対象システムと同じ数のキューを作成でき、ソース管理対象システムと同様かつ宛先システムで使用可能な FC アダプター帯域幅を確保するまでは、パフォーマンスが変わらない場合があります。
    • LPM 操作中の初期機能が交換されるときに、宛先管理対象システムの VFC ホストが、ソース管理対象システムで構成されているキューの数と比較して報告するキューの数が少ない場合、NPIV クライアントは、これらの使用可能なキューを使用して入出力要求を構成し、送信し続けます。
    • ソース管理対象システムまたは宛先管理対象システムのいずれかのキューが少ない場合、またはソース管理対象システムと比較したときに宛先管理対象システムのストレージ帯域幅が狭い場合には、パフォーマンスに影響を及ぼす場合があります。
    • LPM 操作中に初期機能を交換しているときに、宛先管理対象システムの VFC ホストがより多くのキューを報告した場合、NPIV クライアントは、ソース管理対象システムで構成されているキューの数と同数のキューを使用します。

      例:

      • ソース管理対象システムで構成されたキューの数が 8 で、宛先管理対象システムの VFC ホストが 4 個のキューを報告した場合、4 個のキューのみが宛先管理対象システムに構成されます。 同一の LPAR に戻ってマイグレーションした場合、または VFC ホストが 8 個のキューを報告した別の宛先システムにマイグレーションした場合は、NPIV クライアントは 8 個のキューで構成されます。
      • ソース管理対象システムに構成されたキューの数が 8 で、宛先管理対象システムの VFC ホストが 16 個のキューを報告した場合、VFC クライアントは 8 個のキューで引き続き実行されます。
  • Linux LPAR を NPIV 複数キュー環境から古いファームウェア・レベルの管理対象システムにマイグレーションすると、宛先管理対象システムのアダプターに関係なく、複数キュー・リソースが失われ、パフォーマンスが低下する可能性があります。 NPIV クライアントは、後で複数キュー環境をサポートするシステムに移動されるときに、複数キューを確立しません。
  • LinuxLPAR が、Virtual I/O Serverとファームウェアがマルチキューをサポートしているが、4 GB または 8 GB Emulex などの FC アダプタがマルチキューをサポートしていない環境に移行された場合、サブキューリソースはLinuxクライアントによって保持されます。 Linuxクライアントは、その後クライアントがマルチキューをサポートする環境に移行した場合に使用できる。 複数キュー環境から複数キュー機能をサポートしない環境にマイグレーションした後に、パフォーマンスの問題が発生する可能性があります。
  • Virtual I/O Serverがマルチキュー機能を使用できない環境にLinuxLPARを移行すると、サブキューリソースが失われ、マルチキューは廃止されます。 NPIVクライアントは、シングルキューモードで実行される(Linux7200-04以前、およびVirtual I/O ServerVersion3.1.1以前のバージョンのNPIVセットアップと同様)。 NPIV クライアントは、後で複数キュー環境をサポートするシステムに移動されるときに、複数のキューを確立しません。
  • 複数キュー NPIV クライアント区画 (Linux 7200-05 以降) が POWER8 システムまたは POWER7 システムから複数キュー・セットアップの POWER9 システムに移行された場合、区画は引き続き NPIV シングルチャネル・モードで動作します。これは、区画を下位プロセッサー互換モードから POWER9 に移行した後も、引き続き NPIV シングルチャネル・モードで動作するためです。 区画は、 POWER8 または POWER7 システムの下位プロセッサー互換モードで引き続き実行されます。 POWER9 システムでネイティブ・モードを使用して区画をブートすると、始動プロセスの一環として NPIV 構成中に NPIV 複数キューが有効になります。

VIOS チューナブル属性

新しい VIOS チューナブル属性は、VIOS バージョン 3.1.2 以降で Multiple-Queue フィーチャーの一部として使用可能です。この属性は、各 VFC ホスト・アダプターが使用する FC アダプター・キュー (物理キュー) の数での柔軟性を提供します。 また、NPIV Multiple-Queue フィーチャーは、すべての VFC ホスト・アダプターに適用できる QoSタイプのフィーチャーおよびチューナブル属性も提供します。 num_per_range 属性は、VIOS 区画レベルで設定でき、個々の VFC ホスト・アダプター・レベルでオーバーライドできます。

NPIV Multiple-Queue は、viosnpiv0 と呼ばれる新しい疑似デバイスをサポートします。 区画全体のチューナブル属性は、 viosnpiv0 デバイスによって提供されます。 ローカルなチューナブル属性は、VFC ホスト・アダプターによって提供されます。 以下の表に、最適なパフォーマンスを得るために使用できるさまざまなチューナブル属性を示します。

表 2. viosnpiv0 デバイス属性
属性 最小値 最大値 デフォルト値 説明
範囲内の数 (num_per_range) 4 64百万 8 VIOS レベルのチューナブル属性。 これは、各 VFC ホストが使用する FC Small Computer Serial Interface (SCSI) キューの数を示します。
ローカル・コマンドの数 1 64百万 5 メモリー・リソースとパフォーマンスをトレードオフする。 値が高いほど、少ない入出力ワークロードでのパフォーマンスが向上します。 VFC ホスト・アダプターで使用中の特定のキューごとに割り当てられるリソースを制御します。
「bufs_per_cmd」 1 64百万 10 メモリー・リソースとパフォーマンスをトレードオフする。 値が高いほど、大規模な入出力ワークロードでのパフォーマンスが向上します。
nvme の数 4 64百万 8 各 VFC ホストが使用する FC NVMeoF キューの数を示す VIOS レベルのチューナブル属性。
dflt_enabl_nvme - - いいえ (指定できる値は「はい」または「いいえ」です) 新しく作成された vfc アダプターのデフォルト値を制御する VIOS レベルのチューナブル属性。 これはグローバル属性であり、アダプター・レベルの属性によってオーバーライドされます。
表 3. vfchost 属性
属性名 最小値 最大値 デフォルト値 説明
範囲内の数 (num_per_range) 4 64百万 0 この属性をゼロ以外の値に設定すると、 viosnpiv0 デバイスのパーティション全体の num_per_range 属性がオーバーライドされます。 属性値が 0 の場合、このチューナブル属性は無効です。
制限 _intr ブール値 (true または false) ブール値 (true または false) いいえ ローカルなチューナブル属性。 この属性が true に設定されている場合、特定のアダプターのパフォーマンスに悪影響を与えると予想されます。 この属性は、VFC ホスト・アダプターの保守に使用されるプロセッサーと IOPS の数を削減します。 この属性は、num_per_range 属性より優先されます。
ラベル 該当なし 該当なし "" ユーザー定義のストリング ID で VFC ホスト・アダプターにタグ付けする場合に使用されます。 LPM 操作が正常に完了すると、宛先 VIOS の VFC ホスト・アダプターには、ソース VIOS と同じラベルが付けられます。
nvme の数 4 64百万 0

このチューナブル属性がゼロ以外の値に設定されている場合、 viosnpiv0 デバイスのパーティション全体の属性 num_per_nvme がオーバーライドされます。

チューナブル属性値が 0 の場合、この属性は有効ではありません。

「enable_nvme」 - - 空ストリング (可能な値は「はい」または「いいえ」)

この調整可能属性は、NPIV-NVMeoFプロトコルがデフォルトで有効か無効かを指定する。 ローカル・チューナブル属性は、 viosnpiv0 デバイスの dflt_enabl_nvme 属性からデフォルト値を取得します。 この値は、 ioscli vfcctrl コマンドを実行して変更できます。

ローカル・コマンドの数 0 64百万 5 メモリー・リソースとパフォーマンスをトレードオフする。 値が高いほど、少ない入出力ワークロードでのパフォーマンスが向上します。 VFC ホスト・アダプターで使用中の特定のキューごとに割り当てられるリソースを制御します。 この調整可能属性がゼロ以外の値に設定されている場合、「viosnpiv0デバイスのパーティション全体の属性num_local_cmdsを上書きする。 チューナブル属性値が 0 の場合、この属性は有効ではありません。
「bufs_per_cmd」 0 64百万 10 メモリー・リソースとパフォーマンスをトレードオフする。 値が高いほど、大規模な入出力ワークロードでのパフォーマンスが向上します。 この調整可能属性がゼロ以外の値に設定されている場合、「viosnpiv0デバイスのパーティション全体の属性bufs_per_cmdを上書きする。 チューナブル属性値が 0 の場合、この属性は有効ではありません。
注: 複数キューをサポートする VIOS から、複数キューをサポートしない別の VIOS に移動する場合 (NPIV クライアントがそのようなモビリティー操作に対応している場合)、複数キューに関連する属性は失われます。

ローカルの limit_intr 属性の優先順位が最も高くなります。 limit_intrfalseに設定されると、ローカル属性 num_per_range が有効になります。 ローカル num_per_range 属性が設定されていない場合、パーティション全体の属性 num_per_range が有効になります。

クライアントが使用するキューの数は、FC アダプター、FW レベル、およびクライアント機能に加えて、VIOS レベルおよび VFC ホスト・アダプターのチューナブル属性にも依存します。 LPM 操作が成功した後、クライアントが複数のキューを使用している場合は、ソース管理対象システムで使用されている値に基づいて、VFC ホスト・アダプターのローカル属性 num_per_range または limit_intr 属性が宛先管理対象システムに設定されます。 宛先の VIOS も4.1.1.0以上に設定されている場合、LPM 操作が成功すると、VFC ホストアダプタのローカル属性num_local_cmdsbufs_per_cmdが、送信元の管理対象システムで使用されている値に基づいて宛先の管理対象システムで設定されます。

表 4. AIX VFC クライアント・チューナブル属性
属性名 最小値 最大値 デフォルト値 説明
lg_term_dma 1 MB 64 MB 16MB 仮想ドライバーがその内部データ構造に必要とするメモリーを示します。 この属性値は、多数の NPIV ディスクがある環境に合わせて変更または増加できます。
最大 xfer_size 1 MB 16MB 1 MB

単一入出力の最大転送サイズを設定します。 このチューナブル属性は、さまざまな環境の入出力転送サイズに合わせて変更する必要があります。

例えば、磁気テープ・ドライブ (順次入出力) では、入出力転送にラージ・ブロック・サイズを使用します。
cmd_elems 数 20 3072 2048 任意の時点でのアクティブな入出力操作の最大数を決定します。
キューの数 (num_io_queues) 1 16 8 SCSI I/O 通信で使用される入出力キューの数を決定します。
nvme_queues (数) 1 16 4 Nonvolatile Memory Express (NVMe) 通信で使用される入出力キューの数を決定します。
ラベル 該当なし 該当なし "" アダプターを識別するためのユーザー定義の名前。
Sp_cmd_elem の数 512 2048 1024 ある特定の時点での特殊コマンド操作の最大数を決定します。
注:
  • num_io_queues 属性と num_nvme_queues 属性の両方のキューの総数は、リソース制約のために 18 を超えることはできません。
  • NPIV クライアントが使用するキューの数は、FC アダプター、FW レベル、VIOS レベル、および VFC ホスト・アダプターのチューナブル属性など、さまざまな要因によって決まります。 初期構成時に、VFC クライアントは、VFC ホストとキューの数をネゴシエーションし、 num_io_queues 属性の最小値と、VFC ホストによって報告されるキューの数を構成します。
  • 初期構成後に、ネゴシエーションされた数が AIX VFC クライアントで使用できるチャネルの最大数になります。 VFC ホストが操作 (再マップ、VIOS 再始動など) の後で追加のチャネルを再ネゴシエーションした場合でも、チャネルの数は最初にネゴシエーションされた数と変わりません。 ただし、VFC ホストがより少ないチャネルで再ネゴシエーションした場合、AIX VFC クライアントは、構成済みチャネルをその少ない数に削減します。

    例えば、AIX VFC クライアントと VFC ホストの間で最初にネゴシエーションされたチャネル数が 8 で、その後、VFC ホストがチャネル数を 16 として再ネゴシエーションした場合、AIX VFC クライアントは引き続き 8 つのチャネルで実行されます。 VFC ホストがチャネル数を 4 として再ネゴシエーションした場合、AIX VFC クライアントは構成済みチャネル数を 4 に調整します。 ただし、VFC ホストがチャネル数を 8 として再ネゴシエーションし、その結果、構成済みチャネルの数が 8 に増加する場合は、クライアント・サイドからチャネル数を再ネゴシエーションするように AIX VFC クライアントを再構成する必要があります。

  • クライアント・アダプターの入出力プロセッサー (IOP) がリセットされると、 IBM i VFC クライアントは、VFC ホストによって報告される使用可能なすべてのチャネルを使用するように再構成します。 多くの場合、使用可能なチャネルの数を変更する VIOS 操作は、IOP を自動的にリセットします。 IOP が自動的にリセットされない場合、 IBM i VFC クライアントは、以前にネゴシエーションされたチャネルの数を引き続き使用します。

Linux VFC クライアント・チューナブル・モジュール・パラメーター

Linux ibmvfc クライアント・ドライバーで使用可能なチューナブル・モジュール・パラメーターについては、 Linux IBM VFC チューナブル・モジュール・パラメーターの表で説明されています。 ほとんどのユース・ケースでは、モジュール・パラメーターのデフォルト設定で十分です。 これらのパラメーターを変更するには、以下に示すように /etc/modprobe.d/ ディレクトリーにファイルを作成します。
echo "options ibmvfc mq=1 scsi_host_queues=16" >> /etc/modprobe.d/98-ibmvfc.conf

ファイルが作成されたら、 initrams ファイル・システムを再作成し、システムをリブートする必要があります。 以下のコマンドを使用して、 initramfs ファイル・システムを再ビルドできます。

dracut -f
reboot
表 5. Linux VFC チューナブル・モジュールのパラメーター
MODULE パラメーター 最小値 最大値 デフォルト値 説明
mq 0 1 1 この属性を 1 に設定すると、複数キュー機能が有効になります。 この属性を 0 に設定すると、単一キュー機能のみが使用可能になります。
scsi_host_queues (scsi_host_queues) 1 16 8 この属性は、SCSI ホスト実行依頼キューの数を示します。
scsi_hw_channels (scsi_hw_channels) 1 16 8 この属性は、要求する必要がある SCSI ハードウェア・チャネルの数を示します。
mig_channels_only (mig_channels_only) 0 1 0 この属性は、非チャネル化システムへのマイグレーションを防止します。
マイグレーション・チャネル数 (mig_no_less_channels) 0 1 0 この属性は、チャネル数が少ないシステムへのマイグレーションを防止します。
最大要求数 1 無制限 100 この属性は、このアダプターの最大要求数を決定します。

特殊な仮想 FC アダプターのシナリオ

SCSI のみの構成
SCSI のみを構成し、VFC アダプターで NVMe のリソース作成を回避する場合は、以下の基準が適用されます。
  • VFC クライアント・アダプターは、デフォルトでは NVMe ドメインのリソースを構成しません。 VIOS ホスト・アダプターが NVMe をサポートするかどうかを判別するために、構成時に VIOS をスヌープします。 VIOS はデフォルトで NVMe を有効にしないため、VFC クライアント・アダプターはクライアント上で NVMe ドメインを構成しません。
  • あるいは、VFC クライアント・アダプターが SCSI ドメインと NVMe ドメインの両方で構成されている場合は、プロトコル・デバイス (fcnvmeXX) の autoconfig 属性を変更して、NVMe プロトコル・ドメインにリソースを割り振らないようにすることができます。
  • パフォーマンスを向上させるには、 num_io_queues 属性を最大に設定します。
SCSI および NVMe の構成
同じ VFC アダプターで SCSI と NVMe の両方を構成する場合は、以下の基準が適用されます。
  • VIOS 上で属性を有効にして、NVMe プロトコル・サポートを取得することができます。
  • AIX クライアントでは、NVMe ドメインにリソース制約があるため、このモードのサポートは制限されています。 このモードでは、SCSI ドメインが優先順位付けされ、パフォーマンスが低下しないようにします。 NVMe ドメインは、大規模なコントローラー構成でコントローラーへのすべてのパスを構成するわけではありません。
NVMe のみの構成
NVMe のみを構成し、VFC アダプターで SCSI のリソース作成を回避する場合は、以下の基準が適用されます。
  • VIOS で NVMe を有効にします。
  • AIX クライアント LPAR では、 autoconfig 属性を使用して SCSI プロトコルを使用不可にすることができます。 このモードでは、すべてのアダプター・リソースが NVMe プロトコルに向けられます。 NVMe プロトコルを使用する場合は、このモードをセットアップできます。
  • パフォーマンスを向上させるには、 num_nvme_queues 属性を最大値に設定します。

AIX VFC クライアント・アダプターの情報

以下のコマンドを使用して、 AIX クライアント区画上の VFC クライアント・アダプター情報を表示できます。

  • VFC クライアント・アダプターのホスト情報を表示するには、以下のコマンドを入力します。ここで、X はアダプター・インスタンスの番号です。
    # cat /proc/sys/adapter/fc/fcsX/hostinfo
    ホスト情報は、以下の形式で表示されます。
    
    VFC client adapter name            : <adapter instance name>
    Host partition name (VIOS)         : <VIOS partition name>
    VFC host adapter name              : <host adapter instance name>
    VFC host adapter location code     : <host adapter instance location code>
    FC adapter name on VIOS            : <physical adapter instance name on the VIOS>
    FC adapter location code  on VIOS  : <physical adapter instance location code on the  VIOS>
    
    以下の例では、VFC クライアント・アダプター fcs0 のホスト情報を表示しています。
    # cat /proc/sys/adapter/fc/fcs0/hostinfo

    出力:

    
    VFC client adapter name            : fcs0
    Host partition name (VIOS)         : vios062_v2_242
    VFC host adapter name              : vfchost1
    VFC host adapter location code     : U9009.41A.13F508W-V3-C15
    FC adapter name on VIOS            : fcs2
    FC adapter location code  on VIOS  : U78D2.001.WZS001U-P1-C7-T1
  • VFC クライアント・アダプターの状況を表示するには、次のコマンドを入力します。ここで、X はアダプター・インスタンス番号です。
    # cat /proc/sys/adapter/fc/fcsX/status
  • VFC クライアント・アダプターのユーザー指定のチューナブル属性および実際のアクティブ値を表示するには、次のコマンドを入力します。ここで、X はアダプター・インスタンス番号です。
    # cat /proc/sys/adapter/fc/fcsX/tunables
  • VFC クライアント・アダプターのリンク状況を表示するには、次のコマンドを入力します。ここで、X はアダプター・インスタンス番号です。
    # cat /proc/sys/adapter/fc/fcsX/link
  • VFC クライアント・アダプターのワールド・ワイド・ポート番号を表示するには、次のコマンドを入力します。ここで、X はアダプター・インスタンス番号です。
    # cat /proc/sys/adapter/fc/fcsX/wwpn
  • VFC クライアント・アダプターの N ポート ID を表示するには、次のコマンドを入力します。ここで、X はアダプター・インスタンス番号です。
    # cat /proc/sys/adapter/fc/fcsX/nport_id
  • VFC クライアント・アダプター・キューのキューイング・アクティビティーを表示するには、次のコマンドを入力します。ここで、X はアダプター・インスタンス番号です。
    # cat /proc/sys/adapter/fc/fcsX/activity
  • VFC クライアント・アダプターのさまざまなキュー統計を表示するには、次のコマンドを入力します。ここで、X はアダプター・インスタンス番号です。
    # cat /proc/sys/adapter/fc/fcsX/stats