Red Hat Training

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

13.6. サブネットマネージャーの設定

13.6.1. 必要性の判断

ほとんどの InfiniBand スイッチには、組み込み型サブネットマネージャーが備わっています。 ただし、スイッチファームウェア内のものよりも最新のサブネットマネージャーが必要な場合や、スイッチマネージャーが許可するよりも完全な制御が必要な場合は、Red Hat Enterprise Linux 7 には opensm サブネットマネージャーが含まれています。 InfiniBand ネットワークが機能するには、そのネットワークにサブネットマネージャーが備わっている 必要があります。 スイッチがないマシン 2 台で簡単なネットワークを設定し、カードが背中合わせに差し込まれている場合でも、カード上にリンクが現れるにはサブネットマネージャーが必要になります。サブネットマネージャーが複数あることもあり、その場合は 1 つがコントローラーとして動作し、その他はこのコントローラーに障害が発生した際にポートとして引き継ぐことになります。

13.6.2. opensm の主要な設定ファイルの設定

opensm プログラムは、主要な設定ファイルを /etc/rdma/opensm.conf に保持します。ユーザーはこのファイルをいつでも編集でき、変更内容はアップグレードで維持されます。 このファイル自体にも、オプションについての詳しい説明があります。ただし、GUID をバインドするための最も一般的な編集と、実行する PRIORITY の設定には、opensm.conf ファイルは編集されず、/etc/sysconfig/opensm ファイルを編集することが強く推奨されます。ベースの /etc/rdma/opensm.conf ファイルに編集がない場合は、opensm パッケージがアップグレードされるたびにアップグレードされます。このファイルには新たなオプションが定期的に追加されるので、この方法だと現行の設定を最新のものに容易に維持できます。opensm.conf ファイルが変更された場合は、アップグレード時に新しいオプションを編集されたファイルにマージする必要がある場合があります。

13.6.3. opensm スタートアップオプションの設定

/etc/sysconfig/opensm ファイルのオプションは、サブネットマネージャーが実際にどのように起動するか、起動するサブネットマネージャーのコピー数を制御します。たとえば、各ポートが物理的に別個のネットワークに差し込まれているデュアルポートの InfiniBand カードは、各ポートで実行中のサブネットマネージャーのコピーを必要とします。opensm サブネットマネージャーは、アプリケーションのインスタンスごとに 1 つのサブネットのみを管理し、管理する必要のあるサブネットごとに 1 回起動する必要があります。さらに、複数の opensm サーバーがある場合は、どのサーバーがポートとコントローラーであるかを制御する優先度を各サーバーに設定します。
/etc/sysconfig/opensm ファイルは、サブネットマネージャーの優先度を設定し、サブネットマネージャーがバインドする GUID を制御する簡単な方法を提供するために使用されます。/etc/sysconfig/opensm ファイル自体には、オプションを広範囲に説明しています。ユーザーは、opensm のフェイルオーバーおよびマルチファブリック操作を有効にするためには、ファイル自体の指示だけを読んでください。

13.6.4. P_Key 定義の作成

デフォルトでは、opensm.conf/etc/rdma/partitions.conf ファイルを検索し、ファブリックで作成するパーティションの一覧を取得します。すべてのファブリックには 0x7fff サブネットが含まれ、すべてのスイッチとすべてのホストがそのファブリックに属している必要があります。これに加えて他のパーティションを作成することが可能で、すべてのスイッチやホストがこれらの新たなパーティションのメンバーである必要はありません。これにより管理者は、InfiniBand ファブリック上のイーサネットの VLAN に似たサブネットを作成できます。パーティションが 40 Gbps などの特定のスピードで定義されていて、ネットワーク上に 40 Gbps を実行できないホストがある場合、そのホストはスピードに合致できないので、パーミッションがあってもこのパーミッションに参加することはできません。このため、パーティションのスピードは、そのパーティションに参加を許可されているホストのなかで一番遅いものに設定することが推奨されます。ホストのいずれかのサブネット用により高速のパーティションが必要な場合は、高速パーティションを別個に作成します。
以下のパーティションファイルでは、デフォルトの 0x7ff パーティションは 10 Gbps のスピードになり、0x0002 のパーティションは 40 Gbps のスピードになります。
~]$ more /etc/rdma/partitions.conf
# For reference:
# IPv4 IANA reserved multicast addresses:
#   http://www.iana.org/assignments/multicast-addresses/multicast-addresses.txt
# IPv6 IANA reserved multicast addresses:
#   http://www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xml
#
# mtu =
#   1 = 256
#   2 = 512
#   3 = 1024
#   4 = 2048
#   5 = 4096
#
# rate =
#   2  =   2.5 GBit/s
#   3  =  10   GBit/s
#   4  =  30   GBit/s
#   5  =   5   GBit/s
#   6  =  20   GBit/s
#   7  =  40   GBit/s
#   8  =  60   GBit/s
#   9  =  80   GBit/s
#   10 = 120   GBit/s

Default=0x7fff, rate=3, mtu=4, scope=2, defmember=full:
        ALL, ALL_SWITCHES=full;
Default=0x7fff, ipoib, rate=3, mtu=4, scope=2:
        mgid=ff12:401b::ffff:ffff       # IPv4 Broadcast address
        mgid=ff12:401b::1               # IPv4 All Hosts group
        mgid=ff12:401b::2               # IPv4 All Routers group
        mgid=ff12:401b::16              # IPv4 IGMP group
        mgid=ff12:401b::fb              # IPv4 mDNS group
        mgid=ff12:401b::fc              # IPv4 Multicast Link Local Name Resolution group
        mgid=ff12:401b::101             # IPv4 NTP group
        mgid=ff12:401b::202             # IPv4 Sun RPC
        mgid=ff12:601b::1               # IPv6 All Hosts group
        mgid=ff12:601b::2               # IPv6 All Routers group
        mgid=ff12:601b::16              # IPv6 MLDv2-capable Routers group
        mgid=ff12:601b::fb              # IPv6 mDNS group
        mgid=ff12:601b::101             # IPv6 NTP group
        mgid=ff12:601b::202             # IPv6 Sun RPC group
        mgid=ff12:601b::1:3             # IPv6 Multicast Link Local Name Resolution group
        ALL=full, ALL_SWITCHES=full;

ib0_2=0x0002, rate=7, mtu=4, scope=2, defmember=full:
        ALL, ALL_SWITCHES=full;
ib0_2=0x0002, ipoib, rate=7, mtu=4, scope=2:
        mgid=ff12:401b::ffff:ffff       # IPv4 Broadcast address
        mgid=ff12:401b::1               # IPv4 All Hosts group
        mgid=ff12:401b::2               # IPv4 All Routers group
        mgid=ff12:401b::16              # IPv4 IGMP group
        mgid=ff12:401b::fb              # IPv4 mDNS group
        mgid=ff12:401b::fc              # IPv4 Multicast Link Local Name Resolution group
        mgid=ff12:401b::101             # IPv4 NTP group
        mgid=ff12:401b::202             # IPv4 Sun RPC
        mgid=ff12:601b::1               # IPv6 All Hosts group
        mgid=ff12:601b::2               # IPv6 All Routers group
        mgid=ff12:601b::16              # IPv6 MLDv2-capable Routers group
        mgid=ff12:601b::fb              # IPv6 mDNS group
        mgid=ff12:601b::101             # IPv6 NTP group
        mgid=ff12:601b::202             # IPv6 Sun RPC group
        mgid=ff12:601b::1:3             # IPv6 Multicast Link Local Name Resolution group
        ALL=full, ALL_SWITCHES=full;

13.6.5. opensm の有効化

ユーザーは、インストール時にデフォルトで有効になっていないため、opensm サービスを有効にする必要があります。root で以下のコマンドを発行します。
~]# systemctl enable opensm