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