InfiniBand ネットワーク上での Db2 pureScale 環境 のホストのネットワーク設定の構成 (Linux)
ネットワーク・トポロジーの表および図で説明されているように、同じデバイス ID (例えば、 ib0) を持つデバイスが同じサブネット上に存在するように、通信アダプター・ポートをペアで構成します。
始める前に
以下のタスクを完了したことを確認します。
- Db2 pureScale Feature インストール計画が作成されていることを確認します。 インストール計画を立てることにより、システムが前提条件を満たしていること、およびインストール前タスクが実行済みであることを確認するのに役立ちます。
- Db2 pureScale 環境のネットワーク・トポロジー構成サポートで、 Db2 pureScale 環境でサポートされているネットワーク・トポロジーについて説明していることを確認してください。
すべての Db2 メンバーおよび CF ホストで管理アクセス権限が必要です。
このタスクについて
ホストのネットワーク設定を構成するには、ホストに OpenFabrics Enterprise Distribution (OFED) パッケージをインストールして、IP アドレスを構成します。 クラスター・キャッシング・ファシリティー (CF) および メンバー は、複数の 通信アダプター・ポート をサポートして、 Db2 pureScale 環境の拡張を支援し、高可用性を実現します。 必要なのは、 CF または メンバー ごとに 1 つの 通信アダプター・ポート のみです。 さらに多くを使用して、帯域幅を増やし、予備を追加し、複数のスイッチを使用できるようにすることが推奨されています。
注: これらのステップは、将来の Db2 pureScale 環境で計画されているすべてのホストで実行する必要があります。
プロシージャー
- root としてログインします。
- OpenFabrics Enterprise Distribution (OFED) ソフトウェアを構成します。
- SLES 11 システムの OFED 構成の詳細。 以下のことは、SLES 12 以上では不要です。
- SLES の場合:
- ご使用のバージョンの SLES の保守リポジトリーが組み込まれるように SLES オンライン更新を構成します。
- 保守リポジトリーから以下のパッケージをインストールします。
compat-dapl compat-dapl-32bit dapl-32bit dapl-doc dapl ibutils-32bit Ibutils infiniband-diags libcxgb3-rdmav2-32bit libcxgb3-rdmav2 libibcm libibcm-32bit libibcommon1 libibcommon1-32bit libibmad5 libibmad5-32bit libibumad3 libibumad3-32bit libibverbs libibverbs-32bit libipathverbs libipathverbs-32bit libmlx4-rdmav2 libmlx4-rdmav2-32bit libmthca-rdmav2 libmthca-rdmav2-32bit libnes-rdmav2 librdmacm librdmacm-32bit libsdp-32bit libsdp mpi-selector mstflint ofed-doc ofed-kmp-default ofed ofed-doc ofed-kmp-default opensm-32bit opensm ibvexdmtools qlvnictools sdpnetstat srptoolsn
- rpm -qa コマンドを使用して、OFED の一部である各パッケージがインストールされていることを確認します。
- SLES の場合:
- RHEL システムの OFED 構成の詳細RHEL では、「InfiniBand サポート」パッケージのグループ・インストールを実行して、必要な InfiniBand ソフトウェアをインストールします。 「InfiniBand Support」パッケージは、グループ・インストールとして使用できます。 パッケージをインストールするには、root として以下を実行します。
yum groupinstall "InfiniBand Support"
注: yum コマンドを機能させるには、まず Red Hat Network (RHN) または DVD iso イメージからローカル・リポジトリーを作成する必要があります。 リポジトリーがセットアップされると、yum コマンドがターゲット・パッケージを検索する場所を認識します。 最新のカーネルの更新およびフィックスにアクセスする手段として推奨されるのは、RHN に登録することです。 ユーザーがすべての RHEL システムのリポジトリーをセットアップするように推奨されています。RHN を使用してリポジトリーをセットアップできない場合、RHEL DVD メディアに付属の iso イメージを使用してリポジトリーをセットアップすることもできます。 以下の手順は、RHN に登録できないシステムでのみ必要です。 次の例は、RHEL 5.7 iso イメージを使用してリポジトリーをセットアップする方法を示しています。- ファイル RHEL5.7-20100922.1-Server-x86_64-DVD1.isoをDVDからターゲット・システムの一時ディレクトリー/tmp/isoにコピーします。
# cd /tmp/iso # ls -rlt total 3354472 -rw-r--r-- 1 root root 3431618560 Jan 10 20:13 RHEL5.7-20100922.1-Server-x86_64-DVD1.iso
- iso イメージを抽出します。
mount -o loop /tmp/iso/RHEL5.7-20100922.1-Server-x86_64-DVD1.iso /mnt/iso/
- リポジトリーを作成します。
# cd repodata/ # ls -rlt total 76180 -rw-r--r-- 1 root root 8032315 Jan 17 12:59 primary.xml.gz -rw-r--r-- 1 root root 51522840 Jan 17 12:59 other.xml.gz -rw-r--r-- 1 root root 18346363 Jan 17 12:59 filelists.xml.gz -rw-r--r-- 1 root root 951 Jan 17 12:59 repomd.xml # cd .. # cd repodata/
- リポジトリーを作成するために、/etc/yum.repos.d/my.repo に iso のローカル・リポジトリーを作成します。
# cat my.repo [my.repo] name=Redhat LTC baseurl=file:///mnt/iso gpgcheck=0 enabled=1
- 前の手順で、ソースとして/mnt/isoをポイントするローカルリポジトリの作成が完了しました。
- 必要なパッケージをインストールするために、該当する yum コマンドを実行します。正常にインストールされた場合の出力例は、次のようになります。
[root@coralxib42 ~]# yum groupinstall 'Infiniband Support' Loaded plugins: product-id, refresh-packagekit, rhnplugin, subscription-manager Updating Red Hat repositories. 4/4 Setting up Group Process Resolving Dependencies --> Running transaction check ---> Package dapl.x86_64 0:2.0.25-5.2.el6 will be installed ---> Package ibsim.x86_64 0:0.5-4.el6 will be installed ---> Package ibutils.x86_64 0:1.5.4-3.el6 will be installed --> Processing Dependency: libosmcomp.so.3(OSMCOMP_2.3)(64bit) for package: ibutils-1.5.4-3.el6.x86_64 --> Processing Dependency: libosmvendor.so.3(OSMVENDOR_2.0)(64bit) for package: ibutils-1.5.4-3.el6.x86_64 --> Processing Dependency: libopensm.so.2(OPENSM_1.5)(64bit) for package: ibutils-1.5.4-3.el6.x86_64 --> Processing Dependency: tk for package: ibutils-1.5.4-3.el6.x86_64 --> Processing Dependency: libosmcomp.so.3()(64bit) for package: ibutils-1.5.4-3.el6.x86_64 --> Processing Dependency: libosmvendor.so.3()(64bit) for package: ibutils-1.5.4-3.el6.x86_64 --> Processing Dependency: libopensm.so.2()(64bit) for package: ibutils-1.5.4-3.el6.x86_64 --> Processing Dependency: libibdmcom.so.1()(64bit) for package: ibutils-1.5.4-3.el6.x86_64 ---> Package libcxgb3.x86_64 0:1.3.0-1.el6 will be installed ---> Package libibcm.x86_64 0:1.0.5-2.el6 will be installed ---> Package libibmad.x86_64 0:1.3.4-1.el6 will be installed ---> Package libibumad.x86_64 0:1.3.4-1.el6 will be installed ---> Package libibverbs.x86_64 0:1.1.4-4.el6 will be installed ---> Package libibverbs-utils.x86_64 0:1.1.4-4.el6 will be installed ---> Package libipathverbs.x86_64 0:1.2-2.el6 will be installed ---> Package libmlx4.x86_64 0:1.0.1-8.el6 will be installed ---> Package libmthca.x86_64 0:1.0.5-7.el6 will be installed ---> Package libnes.x86_64 0:1.1.1-1.el6 will be installed ---> Package librdmacm.x86_64 0:1.0.10-2.el6 will be installed ---> Package librdmacm-utils.x86_64 0:1.0.10-2.el6 will be installed ---> Package rdma.noarch 0:1.0-9.el6 will be installed ---> Package rds-tools.x86_64 0:2.0.4-3.el6 will be installed --> Running transaction check ---> Package ibutils-libs.x86_64 0:1.5.4-3.el6 will be installed ---> Package opensm-libs.x86_64 0:3.3.5-1.el6 will be installed ---> Package tk.x86_64 1:8.5.7-5.el6 will be installed --> Finished Dependency Resolution
Dependencies Resolved ==================================================================================== Package Arch Version Repository Size ==================================================================================== Installing: dapl x86_64 2.0.25-5.2.el6 rhel-x86_64-server-6 143 k ibsim x86_64 0.5-4.el6 rhel-x86_64-server-6 55 k ibutils x86_64 1.5.4-3.el6 rhel-x86_64-server-6 1.0 M libcxgb3 x86_64 1.3.0-1.el6 rhel-x86_64-server-6 16 k libibcm x86_64 1.0.5-2.el6 rhel-x86_64-server-6 19 k libibmad x86_64 1.3.4-1.el6 rhel-x86_64-server-6 52 k libibumad x86_64 1.3.4-1.el6 rhel-x86_64-server-6 55 k libibverbs x86_64 1.1.4-4.el6 rhel-x86_64-server-6 44 k libibverbs-utils x86_64 1.1.4-4.el6 rhel-x86_64-server-6 34 k libipathverbs x86_64 1.2-2.el6 rhel-x86_64-server-6 13 k libmlx4 x86_64 1.0.1-8.el6 rhel-x86_64-server-6 27 k libmthca x86_64 1.0.5-7.el6 rhel-x86_64-server-6 33 k libnes x86_64 1.1.1-1.el6 rhel-x86_64-server-6 15 k librdmacm x86_64 1.0.10-2.el6 rhel-x86_64-server-6 22 k librdmacm-utils x86_64 1.0.10-2.el6 rhel-x86_64-server-6 27 k rdma noarch 1.0-9.el6 rhel-x86_64-server-6 16 k rds-tools x86_64 2.0.4-3.el6 rhel-x86_64-server-6 55 k Installing for dependencies: ibutils-libs x86_64 1.5.4-3.el6 rhel-x86_64-server-6 924 k opensm-libs x86_64 3.3.5-1.el6 rhel-x86_64-server-6 53 k tk x86_64 1:8.5.7-5.el6 rhel-x86_64-server-6 1.4 M
Transaction Summary ===================================================================================== Install 20 Package(s) Total download size: 4.0 M Installed size: 0 Is this ok [y/N]:
- ファイル RHEL5.7-20100922.1-Server-x86_64-DVD1.isoをDVDからターゲット・システムの一時ディレクトリー/tmp/isoにコピーします。
- SLES 11 システムの OFED 構成の詳細。 以下のことは、SLES 12 以上では不要です。
- SLES および RHEL システムの DAT 構成ファイルの詳細
- SLESで、Direct Access Transport(DAT)構成ファイル、/etc/dat.confを編集して、各通信アダプター・ポートの行を作成します。
- RHEL では、DAT 構成ファイルは /etc/rdma/dat.conf にあり、「InfiniBand サポート」パッケージのグループ・インストールによって更新されます。
このファイルが以下の形式になっていることを確認してください。
<interface adapter name> u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "<network interface> 0" " "
- <interface adapter name>文字列の長さは19文字を超えてはなりません。
- <network interface>名はイーサネット・アダプター名です。
cat /etc/dat.conf ofa-v2-ib0 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "ib0 0" "" ofa-v2-ib1 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "ib1 0" "" ofa-v2-ib2 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "ib2 0" "" ofa-v2-ib3 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "ib3 0" ""
注: 受信している場合は、以下のようにします。DAT_INTERNAL_ERR通信エラーが発生しました。アダプター・ポートの Direct Access Transport (DAT) 構成ファイルで正しくセットアップされていないアダプター・インターフェースとシステムが通信しようとした可能性があります。 - ネットワーク構成ファイルを編集して、各 通信アダプター・ポート ・インターフェースの静的 IP アドレスを構成します。以下のファイル・リストは、 CF、ホスト cf1 と cf2、および メンバー、 member1、 member2、 member3、および member4のネットワーク・アダプター構成を示しています。 各ホストでネットワーク構成ファイルを編集し、各ホスト上でリストされた最初の通信アダプター・ポートが、他のホストと同じサブネット上に存在するようにします。 CF上に複数の 通信アダプター・ポート を構成する場合は、追加の 通信アダプター・ポート CF をペアにして、それぞれのポートがDEVICE2 次 CF は、以下と同じサブネットワーク上にあります。DEVICEこれは、同じ ID.The ネットワーク構成ファイルは、SLES の /etc/sysconfig/network および RHEL の /etc/sysconfig/network-scripts にあります。 SLES の例を以下に示します。
ssh cf1 cat /etc/sysconfig/network/ifcfg-ib0 DEVICE=ib0 BOOTPROTO='static' IPADDR='10.222.0.1' NETMASK='255.255.255.0' STARTMODE='onboot' WIRELESS='no' ssh cf1 cat /etc/sysconfig/network/ifcfg-ib1 DEVICE=ib1 BOOTPROTO='static' IPADDR='10.222.1.1' NETMASK='255.255.255.0' STARTMODE='onboot' WIRELESS='no' ssh cf1 cat /etc/sysconfig/network/ifcfg-ib2 DEVICE=ib2 BOOTPROTO='static' IPADDR='10.222.2.1' NETMASK='255.255.255.0' STARTMODE='onboot' WIRELESS='no' ssh cf1 cat /etc/sysconfig/network/ifcfg-ib3 DEVICE=ib3 BOOTPROTO='static' IPADDR='10.222.3.1' NETMASK='255.255.255.0' STARTMODE='onboot' WIRELESS='no'
ssh cf2 cat /etc/sysconfig/network/ifcfg-ib0 DEVICE=ib0 BOOTPROTO='static' IPADDR='10.222.0.2' NETMASK='255.255.255.0' STARTMODE='onboot' WIRELESS='no' ssh cf2 cat /etc/sysconfig/network/ifcfg-ib1 DEVICE=ib1 BOOTPROTO='static' IPADDR='10.222.1.2' NETMASK='255.255.255.0' STARTMODE='onboot' WIRELESS='no' ssh cf2 cat /etc/sysconfig/network/ifcfg-ib2 DEVICE=ib2 BOOTPROTO='static' IPADDR='10.222.2.2' NETMASK='255.255.255.0' STARTMODE='onboot' WIRELESS='no' ssh cf2 cat /etc/sysconfig/network/ifcfg-ib3 DEVICE=ib3 BOOTPROTO='static' IPADDR='10.222.3.2' NETMASK='255.255.255.0' STARTMODE='onboot' WIRELESS='no'
ssh member1 cat /etc/sysconfig/network/ifcfg-ib0 DEVICE=ib0 BOOTPROTO='static' IPADDR='10.222.0.101' NETMASK='255.255.255.0' STARTMODE='onboot' WIRELESS='no' ssh member2 cat /etc/sysconfig/network/ifcfg-ib0 DEVICE=ib0 BOOTPROTO='static' IPADDR='10.222.0.102' NETMASK='255.255.255.0' STARTMODE='onboot' WIRELESS='no' ssh member3 cat /etc/sysconfig/network/ifcfg-ib0 DEVICE=ib0 BOOTPROTO='static' IPADDR='10.222.0.103' NETMASK='255.255.255.0' STARTMODE='onboot' WIRELESS='no' ssh member4 cat /etc/sysconfig/network/ifcfg-ib0 DEVICE=ib0 BOOTPROTO='static' IPADDR='10.222.0.104' NETMASK='255.255.255.0' STARTMODE='onboot' WIRELESS='no'
注:- 簡単にするために、上記の例で使用されている IP アドレスは、サブネットワークの 3 番目と 4 番目の IP セグメントがインターフェースのデバイスの番号およびホスト名と一致するように、
255.255.255.0
サブネットワーク・マスク (NETMASK) を使用しています。 このサブネットワーク・マスクの結果、 CF の IP アドレスは10.222.interface-id-device-number.CF-hostname-suffix
のようにフォーマット設定され、メンバー IP アドレスは10.222.interface-id-device-number.10member-hostname-suffix
のようにフォーマット設定されます。 - 各 CF ホストの最初の 通信アダプター・ポート は、メンバーと同じサブネット上にあります。
- CF または メンバー 上の各 通信アダプター・ポート は、別々のサブネット上にあります。
- 1 次および 2 次 CF 上の同じインターフェース DEVICE 名を持つ 通信アダプター・ポート は、同じサブネットを共有します。
- 簡単にするために、上記の例で使用されている IP アドレスは、サブネットワークの 3 番目と 4 番目の IP セグメントがインターフェースのデバイスの番号およびホスト名と一致するように、
- メンバーの複数の通信アダプター・ポートを構成する場合、2 つ目のホスト上の各アダプター・インターフェース・デバイスの IP サブネットは、他方のホスト上の同じデバイス ID を持つアダプター・インターフェースに使用されていたのと同じものを使用することで、一致するデバイスが同じ IP サブネット上に存在するようにします。
すべてのメンバーは、CF アダプター・インターフェースが使用する IP サブネット上になければなりません。 その結果、IP サブネットは次のようになります。cat /etc/sysconfig/network/ifcfg-ib0 DEVICE=ib0 BOOTPROTO='static' IPADDR='10.1.1.161' NETMASK='255.255.255.0' STARTMODE='onboot' WIRELESS='no' cat /etc/sysconfig/network/ifcfg-ib1 DEVICE=ib1 BOOTPROTO='static' IPADDR='10.1.2.161' NETMASK='255.255.255.0' STARTMODE='onboot' WIRELESS='no'
- 10.1.1 サブネットには、すべてのメンバーおよびすべての CF の ib0 デバイスがあります。
- 10.1.2 サブネットには、すべてのメンバーおよびすべての CF の ib1 デバイスがあります。
- BladeCenter デプロイメントの場合のみ、 Db2 pureScale 環境のすべてのホストでサブネット・マネージャー・サービス (Open SM) を有効にします。サブネット・マネージャー・サービスを使用可能にするには、このサービスを開始する各ホストで次のコマンドを実行し、リブート後にサービスを開始させます。
chkconfig opensmd on service opensmd start
- 各 ホスト 上の /etc/hosts ファイルを更新して、計画された Db2 pureScale 環境内の各ホストについて、計画された環境内のすべてのホストのすべての 通信アダプター・ポート のすべての IP アドレスがこのファイルに含まれるようにします。
/etc/hosts ファイルの形式は<IP_Address> <fully_qualified_name> <short_name>でなければなりません。クラスター内のすべてのホストは、同じ /etc/hosts 形式でなければなりません。
例えば、計画された Db2 pureScale 環境 で、4 つのメンバーを持つ CF 上に複数の 通信アダプター・ポート がある場合、 /etc/hosts 構成ファイルは以下のファイルのようになります。
10.222.0.1 cf1-ib0.example.com cf1-ib0 10.222.1.1 cf1-ib1.example.com cf1-ib1 10.222.2.1 cf1-ib2.example.com cf1-ib2 10.222.3.1 cf1-ib3.example.com cf1-ib3 10.222.0.2 cf2-ib0.example.com cf2-ib0 10.222.1.2 cf2-ib1.example.com cf2-ib1 10.222.2.2 cf2-ib2.example.com cf2-ib2 10.222.3.2 cf2-ib3.example.com cf2-ib3 10.222.0.101 member1-ib0.example.com member1-ib0 10.222.1.101 member1-ib1.example.com member1-ib1 10.222.0.102 member2-ib0.example.com member2-ib0 10.222.1.102 member2-ib1.example.com member2-ib1 10.222.0.103 member3-ib0.example.com member3-ib0 10.222.1.103 member3-ib1.example.com member3-ib1 10.222.0.104 member4-ib0.example.com member4-ib0 10.222.1.104 member4-ib1.example.com member4-ib1
注:- CF およびメンバーごとに 通信アダプター・ポート を使用する 4 つのメンバー環境では、ファイルは前の例と似ていますが、前の例の各 CF の最初の IP アドレスのみが含まれています。
- InfiniBand サブシステムのサービスを再始動します。
RHEL の場合:service openibd restart
service rdma restart
- InfiniBand サブシステムを検証します。
- ポートがアクティブで、リンクが機能していることを検証します。ibstat -v コマンドまたは ibstatus コマンドを使用して、アダプターの状態をリストします。 この検査は、/etc/dat.confで前に識別されたポートとインターフェースに適用されます。
Infiniband device 'mlx4_0' port 1 status: default gid: fe80:0000:0000:0000:0002:c903:0007:eafb base lid: 0x2 sm lid: 0x1 state: 4: ACTIVE phys state: 5: LinkUp rate: 20 Gb/sec (4X DDR) Infiniband device 'mlx4_0' port 2 status: default gid: fe80:0000:0000:0000:0002:c903:0007:eafc base lid: 0x3 sm lid: 0x1 state: 4: ACTIVE phys state: 5: LinkUp rate: 20 Gb/sec (4X DDR)
注: Linux® での ibstatus コマンドの出力例のポート 1 は、 dat.conf ファイルのポート 0 に対応しています。ofa-v2-ib0 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "ib0 0" ""
以下を確認します。stateフィールド値:ACTIVEおよびphys stateリンクが稼働していることを報告するフィールド (LinkUp). - 宛先 IP が解決可能であることを確認します。例えば、次のように入力します。
# ip -resolve neigh coralxib44-ib3 dev ib3 lladdr 80:00:00:49:fe:80:00:00:00:00:00:00:00:02:c9:03:00:0e:9d:5e REACHABLE coralxib42.torolab.ibm.com dev bond0 lladdr 00:1a:64:c9:d1:e8 REACHABLE coralxib42-ib0 dev ib0 lladdr 80:00:00:48:fe:80:00:00:00:00:00:00:00:02:c9:03:00:07:ea:5f REACHABLE coralxib44-ib0 dev ib0 lladdr 80:00:00:48:fe:80:00:00:00:00:00:00:00:02:c9:03:00:07:eb:13 REACHABLE 9.26.120.1 dev bond0 lladdr 00:00:0c:07:ac:01 REACHABLE coralxib43.torolab.ibm.com dev bond0 lladdr 00:1a:64:c9:cc:d4 REACHABLE coralxib44-ib2 dev ib2 lladdr 80:00:00:48:fe:80:00:00:00:00:00:00:00:02:c9:03:00:0e:9d:5d REACHABLE coralxib44.torolab.ibm.com dev bond0 lladdr 00:1a:64:c9:d5:24 REACHABLE coralxib44-ib1 dev ib1 lladdr 80:00:00:49:fe:80:00:00:00:00:00:00:00:02:c9:03:00:07:eb:14 REACHABLE coralxib43-ib0 dev ib0 lladdr 80:14:00:48:fe:80:00:00:00:00:00:00:00:02:c9:03:00:07:ea:07 REACHABLE # arp -an ? (10.1.4.144) at 80:00:00:49:fe:80:00:00:00 [infiniband] on ib3 ? (9.26.120.241) at 00:1a:64:c9:d1:e8 [ether] on bond0 ? (10.1.1.142) at 80:00:00:48:fe:80:00:00:00 [infiniband] on ib0 ? (10.1.1.144) at 80:00:00:48:fe:80:00:00:00 [infiniband] on ib0 ? (9.26.120.1) at 00:00:0c:07:ac:01 [ether] on bond0 ? (9.26.120.103) at 00:1a:64:c9:cc:d4 [ether] on bond0 ? (10.1.2.144) at 80:00:00:48:fe:80:00:00:00 [infiniband] on ib2 ? (9.26.120.104) at 00:1a:64:c9:d5:24 [ether] on bond0 ? (10.1.3.144) at 80:00:00:49:fe:80:00:00:00 [infiniband] on ib1 ? (10.1.1.143) at 80:14:00:48:fe:80:00:00:00 [infiniband] on ib0
- ポートがアクティブで、リンクが機能していることを検証します。
次の作業
Db2 pureScale 環境に組み込む予定のホストのカーネル・パラメーターを変更します。