Oracle® Exalytics In-Memory Machineオーナーズ・ガイド Exalytics X2-4、X3-4およびX4-4リリース1 (1.0) E59377-01 |
|
![]() 前 |
![]() 次 |
この章では、Oracle Exalytics In-Memory MachineとOracle Exadata Database Machineを同じInfiniBandファブリックで一緒に接続する方法について説明します。
次のトピックが含まれます:
このセクションの内容は次のとおりです。
各Oracle Exalytics In-Memory Machineには、2ポートのQDR InfiniBandホスト・チャネル・アダプタ(HCA)などのInfiniBandカードが付属しています。
このInfiniBandカードは、Oracle Exalytics In-Memory MachineのPCIeスロット6に入れます。
Oracle Exadata Database Machineに付属の5mの予備用InfiniBandケーブルを使用できます。サポートが必要な場合は、オラクル社のサポート担当者にお問い合せください。Oracle Exalytics In-Memory MachineとOracle Exadata Database Machineを同じInfiniBandファブリックで接続するには、これらのケーブルが必要です。
Oracle Exadata Database Machineには、36ポートのInfiniBandリーフ・スイッチ(Sun Datacenter QDR InfiniBand Switch 36)が2個付属しています。ラックの中央にあるこの2つのスイッチをリーフ・スイッチといいます。スパイン・スイッチは、Oracle Exadata Database Machineのフル・ラック構成およびハーフ・ラック構成のユニット1にあります。
注意: このドキュメントでは、Oracle Exadata Database Machineラックの下部ユニットにあるリーフ・スイッチをリーフ1と呼びます。Oracle Exadata Database Machineラックのリーフ1の上にあるリーフ・スイッチをリーフ2と呼びます。Oracle Exadata Database Machineラックのレイアウトとハードウェア・コンポーネントの詳細は、Oracle Exadata Database Machineオーナーズ・ガイドを参照してください。 |
この項では、次の項目について説明します。
シナリオ1: 1台のExalytics In-Memory MachineとOracle Exadata Database Machine
シナリオ2: クラスタ化されたExalytics In-Memory MachineとOracle Exadata Database Machine
Oracle Exalytics In-Memory Machineを格納するラックとOracle Exadata Database Machineラックは、データ・センターに並べて配置することが前提になります。データ・センターにラックを配置する際に、接続するInfiniBandケーブルの長さに注意してください。Oracle Exadata Database MachineラックにOracle Exalytics In-Memory Machineを置かないでください。
図7-1に、1台の(非クラスタ化)Oracle Exalytics In-Memory MachineをOracle Exadata Database Machineラックに接続する状況を示します。
図7-1 Oracle Exadata Database Machineに接続する非クラスタ化Oracle Exalytics In-Memory Machine
高可用性を実現するため、Oracle Exalytics In-Memory Machineに挿入されるInfiniBandカードの2つのポートを、Oracle Exadata Database Machineの個々のリーフ・スイッチに接続します。たとえば、図7-1に示すように、Oracle Exalytics In-Memory MachineのInfiniBandカードのポート1を、リーフ1スイッチ(Oracle Exadata Database Machineの下部ユニットに設置されているSun Datacenter InfiniBand Switch 36)に接続できます。また、Oracle Exalytics In-Memory MachineのInfiniBandカードのポート2を、リーフ2スイッチ(Oracle Exadata Database Machineの上部ユニットに設置されているSun Datacenter InfiniBand Switch 36)に接続する必要があります。ポート1はアクティブ・ポートとして機能し、ポート2はパッシブ・ポートとして機能します。
注意: Oracle Exadata Database Machineのリーフ・スイッチでは、次の空きポートを使用できます。ポート5B、6A、6B、7A、7B、12A |
図7-2に、Oracle Exalytics In-Memory MachineのクラスタをOracle Exadata Database Machineラックに接続する状況を示します。
図7-2 Oracle Exadata Database Machineに接続するクラスタ化Oracle Exalytics In-Memory Machine
高可用性を実現するため、各Oracle Exalytics In-Memory Machineに付属のInfiniBandカードのアクティブ・ポートを、リーフ1スイッチ(Oracle Exadata Database Machineの下部ユニットに設置されているSun Datacenter InfiniBand Switch 36)に接続します。また、各Oracle Exalytics In-Memory Machineに付属のInfiniBandカードのパッシブ・ポートを、リーフ2スイッチ(Oracle Exadata Database Machineの上部ユニットに設置されているSun Datacenter InfiniBand Switch 36)に接続する必要があります。ポート1はアクティブ・ポートとして機能し、ポート2はパッシブ・ポートとして機能します。
注意: Oracle Exadata Database Machineのリーフ・スイッチでは、次の空きポートを使用できます。ポート5B、6A、6B、7A、7B、12A |
各InfiniBandネットワークには、サブネット・マネージャ(SM)が必要です。使用するファブリックのOracle Exadata Database Machineのいずれかのリーフ・スイッチで実行するSMを使用できます。
InfiniBandスイッチの使用の詳細は、次のドキュメントを参照してください。
ExalyticsとExadata間でInfiniBandを構成する手順は次のとおりです。
Exalyticsへの自動RDSカーネル・モジュール・ローディングを有効化します。
/etc/infiniband/openib.conf
ファイルを編集し、SDP_LOAD=yes
およびRDS_LOAD=yes
を設定します。
ノードを再起動します。
InfiniBandリスナーをExadata計算ノードに作成します。
/etc/infiniband/openib.conf
ファイルを編集し、SDP_LOAD=yes
およびRDS_LOAD=yes
を設定します。
/etc/ofed/libsdp.conf
ファイルを編集し、次の行を検索します。
use both server * : use both client * :
これらの行を次のように変更します。
use tcp server * *:* use tcp client * *:*
use tcp
は、TCPがデフォルト・プロトコルであることを示し、SDPが特定のアプリケーションにおいてそのローカル構成で使用されることを示します。
/etc/modprobe.conf
ファイルを編集し、次の行を末尾に追加します。
options ib_sdp sdp_zcopy_thresh=0 recv_poll=0
各計算ノードを再起動します。
ExalyticsマシンおよびExadata Database Machine計算ノードでそれぞれの/etc/hosts
ファイルを編集し、Exadata Database Machineクオータ・ラック(2つの計算ノード)など、InfiniBandネットワークで使用するための仮想IPアドレスを追加します。次のIPアドレスがプライベート・ネットワークで使用されていないことを確認します。
192.168.10.21 dm01db01-ibvip.mycompany.com dm01db01-ibvip 192.168.10.22 dm01db02-ibvip.mycompany.com dm01db02-ibvip
Exadata Database Machine計算ノードの1つで、root
ユーザーとして次のコマンドを実行し、InfiniBandネットワークのネットワーク・リソースを作成して各計算ノードの開始仮想IPアドレスを追加します。プライベート・ネットワークで使用しているネットワークとサブネット・マスクの代替を適切に作成します(192.168.10.0/255.255.255.0は使用できません)。管理者に問い合せるか、ipcalc
を使用し、ネットワーク・マスクに基づいてネットワークを割り出してください。
srvctl add network -k 2 -S 192.168.10.0/255.255.255.0/bondib0 srvctl add vip -n dm01db01 -A dm01db01-ibvip/255.255.255.0/bondib0 -k 2 srvctl add vip -n dm01db02 -A dm01db02-ibvip/255.255.255.0/bondib0 -k 2 srvctl start vip -i dbm01db01-ibvip srvctl start vip -i dbm01db02-ibvip
Exadata Database Machine計算ノードの1つで、oracle
ユーザー(またはGrid InfrastructureのORACLE_HOME
の所有者)として次のコマンドを実行します。
srvctl add listener -l LISTENER_IB -k 2 -p TCP:1522/SDP:1522
Exadata Database Machine計算ノードのそれぞれに、oracle
ユーザー(またはGrid InfrastructureのORACLE_HOME
の所有者)として次の新規エントリを使用し、GRID_HOME/network/admin
にtnsnames.ora
を作成するか追加します。(*IBREMOTEエントリおよび*IBLOCALエントリは適切なリモート名およびローカルVIP名を参照する目的において各ノードでわずかに違いがあります。これらのエントリを変更なしにノード間でコピーすることはできません。)
DBM = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = dm01-scan)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = dbm) )) DBM_IB = (DESCRIPTION = (LOAD_BALANCE=on) (ADDRESS = (PROTOCOL = TCP)(HOST = dm01db01-ibvip)(PORT = 1522)) (ADDRESS = (PROTOCOL = TCP)(HOST = dm01db02-ibvip)(PORT = 1522)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = dbm) )) LISTENER_IBREMOTE = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = dm01db02-ibvip.mycompany.com)(PORT = 1522)) )) LISTENER_IBLOCAL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = dm01db01-ibvip.mycompany.com)(PORT = 1522)) (ADDRESS = (PROTOCOL = SDP)(HOST = dm01db01-ibvip.mycompany.com)(PORT = 1522)) )) LISTENER_IPLOCAL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = dm0101-vip.mycompany.com)(PORT = 1521)) )) LISTENER_IPREMOTE = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = dm01-scan.mycompany.com)(PORT = 1521)) ))
Exadata Database Machine計算ノードの1つで、sysdba
として次のようにデータベース・インスタンスに接続します。
SQLPLUS> alter system set listener_networks='((NAME=network2) (LOCAL_LISTENER=LISTENER_IBLOCAL)(REMOTE_LISTENER=LISTENER_IBREMOTE))', '((NAME=network1)(LOCAL_LISTENER=LISTENER_IPLOCAL) (REMOTE_LISTENER=LISTENER_IPREMOTE))' scope=both;
Exadata Database Machine計算ノードの1つで、oracleユーザー(またはGrid InfrastructureのORACLE_HOME
の所有者)として次のコマンドを実行し、LISTENER_IB
という名前のリスナーを再起動します。
srvctl stop listener -l LISTENER_IB srvctl start listener -l LISTENER_IB
Exalyticsマシンで、sys.odbc.ini
ファイルを編集し、Exadata DBホストを指すエントリを次のように作成します。
OracleNetServiceName=DWH.ESS.LOCAL_IB
InfiniBandファブリックの様々な面を監視するには、Oracle Exadata Database Machineに付属のSun Datacenter InfiniBand Switch 36でInfiniBandコマンドを実行します。
これらのコマンドの詳細は、Sun Datacenter InfiniBand Switch 36コマンド・リファレンスを参照してください。
InfiniBandネットワーク接続を確立した後は、Exalyticsマシンでibstat
コマンドを使用することにより、rds-ping
、rds-info -l
を使用して基本InfiniBandネットワーク接続のステータスを確認できます。
ibstat
コマンドでは、次の例のように基本ステータスが表示されます。
# ibstat CA 'mlx4_0' CA type: MT26428 Number of ports: 2 Firmware version: 2.7.8130 Hardware version: b0 Node GUID: 0x0021280001cf577e System image GUID: 0x0021280001cf5781 Port 1: State: Active Physical state: LinkUp Rate: 40 Base lid: 106 LMC: 0 SM lid: 54 Capability mask: 0x02510868 Port GUID: 0x0021280001cf577f Link layer: IB Port 2: State: Active Physical state: LinkUp Rate: 40 Base lid: 95 LMC: 0 SM lid: 54 Capability mask: 0x02510868 Port GUID: 0x0021280001cf5780 Link layer: IB
接続するポートの物理状態はLinkUp
で示されます。
InfiniBandネットワークの基本接続を確認したら、スイッチのCLIでibhosts
、ibswitches
およびibnetdiscover
の各コマンドを実行できます。
ibhosts
コマンドでは、InfiniBandファブリックのホスト・ノードが表示され、ibswitches
コマンドでは、ファブリック内のInfiniBandスイッチ・ノードが表示されます。また、ibnetdiscover
コマンドでは、InfiniBandトポロジが検出されます。
このような監視と診断コマンドの詳細は、Sun Datacenter InfiniBand Switch 36コマンド・リファレンスを参照してください。