Red Hat Training

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

13.8.4. InfiniBand P_Key サブネットについて

InfiniBand ファブリックは、異なる P_Key サブネットを使うことで仮想サブネットに論理的にセグメント化できます。これは、イーサネットインターフェース上で VLAN を使用することに非常に似ています。すべてのスイッチとホストはデフォルトの P_Key サブネットのメンバーである必要がありますが、管理者は新たなサブネットを作成して、これらサブネットのメンバーをファブリック内のホストまたはスイッチのサブネットに限定できます。P_Key サブネットは、ホストがこれを使用する前にサブネットマネジャーで定義される必要があります。opensm サブネットマネジャーを使って P_Key サブネットを定義する方法については、「P_Key 定義の作成」セクションを参照してください。IPoIB インターフェースの場合は、P_Key サブネットが作成されると、それらの P_Key サブネットのみを対象とした IPoIB 設定ファイルを追加で作成できます。各 IPoIB インターフェースはイーサネットデバイス上の VLAN インターフェースのように、同一リンクを共有するものの異なる P_Key の値を持つ IPoIB インターフェースとは完全に異なるファブリックにいるかのように動作します。
IPoIB P_Key インターフェースには特別な要件があります。すべての IPoIB P_Key の範囲は 0x0000 から 0x7fff で、0x8000 という高いビットは、P_Key のメンバーシップが部分的なものではなく完全なメンバーシップであることを示します。Linux カーネルの IPoIB ドライバーがサポートするのは P_Key サブネットの完全なメンバーシップのみなので、Linux が接続可能なサブネットでは常に高いビットの P_Key が設定されています。つまり、Linux コンピューターが P_Key 0x0002 に加わると、そのコンピューターの実際の P_Key 番号は 0x8002 となり、P_Key 0x0002 の完全なメンバーになったことを示します。このため、「P_Key 定義の作成」セクションの説明にあるように opensm partitions.conf ファイルで P_Key 定義を作成する際は、0x8000 以外で P_Key の値を指定する必要があります。ただし、Linux クライアント上で P_Key IPoIB インターフェースを定義する際には、ベースの P_Key の値に 0x8000 の値を追加します。