- メンテナンス・ガイド
- その他のOracle Exadataコンポーネントの保守
- InfiniBandネットワーク・ファブリック構成の変更
- InfiniBandネットワーク情報の変更
4.9.3 InfiniBandネットワーク情報の変更
この手順は、InfiniBandネットワーク情報の変更方法を示しています。
この項に示される手順は、次の前提条件に基づいています。
-
すべての変更は、
ilom-admin
ユーザーとしてIntegrated Lights Out Manager (ILOM)インタフェースを使用して実行する必要があります。 -
NET1およびNET2インタフェースを結合してBONDETH0を作成するため、クライアント・アクセス・ネットワークにチャネル・ボンディングが使用されます。チャネル・ボンディングを使用しない場合、手順のBONDETH0をNET1に置き換えてください。
-
Oracle Exadata X4-2以降のハードウェアでは、Oracle Exadata System Softwareリリース11.2.3.3.0の時点で、InfiniBandボンディングに使用される名前がBONDIB0からIB0およびIB1に変更されました。これらのインタフェースは、
ifcfg-bondib0
インタフェースと同じ方法で変更されます。 -
Oracle Exadata System Softwareリリース11.2.2.1.0の時点で、ボンディングに使用される名前が変更されました。InfiniBandボンディングにBONDIB0、イーサネット・ボンディングにBONDETH0という名前を使用します。以前のリリースでは、それぞれBOND0およびBOND1という名前でした。
-
手順には、
dcli
ユーティリティおよびroot
ユーザーを使用します。これにより、データベース・サーバーのコマンドをパラレルに実行して、手順を完了する全体の時間を大幅に短縮します。 -
dcli
ユーティリティには、SSHユーザー等価が必要になります。SSHユーザー等価が構成されない場合、一部のコマンドを各データベース・サーバーで明示的に実行する必要があります。 -
データベース・グループ・ファイル
dbs_group
を/root
ディレクトリに格納する必要があります。 -
InfiniBandネットワーク情報を変更する前に、Oracle Cluster Registry (OCR)の最新のバックアップが存在することを確認してください。OCRバックアップは、
$Grid_home/cdata/cluster-name
ディレクトリにあります。Grid_homeは、Oracle Grid Infrastructureソフトウェアをインストールした場所です。 -
Oracle Grid Infrastructure 11gリリース2 (11.2)以降では、プライベート・ネットワーク構成がグリッド・プラグ・アンド・プレイ(GPNP)プロファイルとOCRの両方に格納されます。GPNPの定義が正しくない場合、Oracle Clusterware CRSは起動しません。InfiniBandネットワーク情報を変更する前に、次のコマンドを使用して、すべてのノードのGPNPプロファイルのバックアップを作成してください。
$ cd $Grid_home/gpnp/hostname/profiles/peer/ $ cp -p profile.xml profile.xml.bk
- CLUSTER_INTERCONNECTパラメータがOracle DatabaseおよびOracle ASMインスタンスで使用されているか確認します。
SQL> SELECT inst_id, name,value FROM gv$parameter WHERE name = \ 'cluster_interconnects';
CLUSTER_INTERCONNECTパラメータがOCRに設定されている場合、値は返されません。CLUSTER_INTERCONNECTパラメータがサーバー・パラメータ・ファイル(SPFILE)に定義されている場合は、各インスタンスのIPアドレスが返されるため、新しいIPアドレスに変更する必要があります。
次に、Oracle ASMインスタンスのIPアドレスを変更するコマンドの例を示します。この例では、IPアドレス192.168.10.1は+ASM1インスタンスを実行するサーバーのBONDIB0に割り当てられる新しいIPアドレスとなり、192.168.10.2は+ASM2インスタンスを実行するサーバーのBONDIB0のIPアドレスとなり、それ以降も同様です。
ALTER SYSTEM SET CLUSTER_INTERCONNECTS='192.168.10.1' SCOPE=SPFILE SID='+ASM1'; ALTER SYSTEM SET CLUSTER_INTERCONNECTS='192.168.10.2' SCOPE=SPFILE SID='+ASM2'; ALTER SYSTEM SET CLUSTER_INTERCONNECTS='192.168.10.3' SCOPE=SPFILE SID='+ASM3'; ...
同様のコマンドを使用して、戻された各Oracle DatabaseインスタンスのIPアドレスを変更します。
- すべてのサーバーの新しいInfiniBandネットワーク情報の割当てを確認します。InfiniBand IPアドレス、ネットマスク、ブロードキャストおよびネットワークIP情報を確認する必要があります。
oracle
ユーザーとして各データベース・サーバーのすべてのクラスタ管理サービスを停止します。$ srvctl stop home -o db_home -s state_filename -n node_name
前述のコマンドのdb_homeはOracle Databaseホーム・ディレクトリの完全なディレクトリ名、state_filenameは状態ファイルを書き込む場合のパス名、node_nameはデータベース名です。このコマンドの例を次に示します。
$ srvctl stop home -o /u01/app/oracle/product/11.2.0.3/dbhome_1 -s \ /tmp/dm02db01_dbhome -n dm02db01
前述の例の
/u01/app/oracle/product/11.2.0.3/dbhome_1
はOracle Databaseホーム・ディレクトリ、/tmp/dm02db01_dbhome
は状態ファイル名、dm02db01
はデータベース・サーバー名です。- 最初のデータベース・サーバーのクラスタ相互接続インタフェースを変更して、BONDIB0インタフェースを使用します。
ノート:
この時点で、Oracle Clusterware、Oracle Clusterware CRSおよびOracle ASMインスタンスのみ起動しています。oracle
ユーザーとしてログインします。$ORACLE_HOME
をOracle Grid Infrastructureホームに設定します。ORACLE_SID
環境変数のベースを設定します。ORACLE_HOME
環境変数はOracle Grid Infrastructureのホームに設定する必要があります。$ ORACLE_SID=+ASM1
- 使用できるクラスタ・インタフェースをリストします。
$ oifcfg iflist
次に、出力の例を示します。
bondeth0 10.128.174.160 bondeth1 10.128.176.0 eth0 10.128.174.128 ib0 192.168.160.0 ib0 169.254.0.0 ib1 192.168.160.0 ib1 169.254.128.0
- 現在割り当てられているクラスタ・インタフェースをリストします。
$ oifcfg getif
次に、出力の例を示します。
bondeth0 10.204.76.0 global public ib0 192.168.16.0 global cluster_interconnect,asm ib1 192.168.16.0 global cluster_interconnect,asm
- グローバル・クラスタ相互接続インタフェースとしてib0とib1のインタフェースに新しいIPアドレスを割り当てます。
oifcfg setif -global ib0/192.168.8.0:cluster_interconnect oifcfg setif -global ib1/192.168.8.0:cluster_interconnect
- 現在のインタフェースをリストします。
$ oifcfg getif
次に、出力の例を示します。
bondeth0 10.128.174.160 global public ib0 192.168.8.0 global cluster_interconnect ib1 192.168.8.0 global cluster_interconnect
古いプライベート・インタフェースは後で削除します。
- 各データベース・サーバーのOracle ClusterwareおよびOracle Clusterware CRSを停止します。
root
ユーザーとしてログインします。- 次のコマンドを使用して、各データベース・サーバーのOracle Clusterware CRSを停止します。
# Grid_home/grid/bin/crsctl stop crs -f
- 各データベース・サーバーのOracle Clusterware CRSの自動的な再起動を無効化します。
# Grid_home/grid/bin/crsctl disable crs
- 各Oracle Exadata Storage ServerのInfiniBand IPアドレスを変更します。
root
ユーザーとしてログインします。- セルのサービスを停止します。
# cellcli -e alter cell shutdown services all Stopping the RS, CELLSRV, and MS services... The SHUTDOWN of services was successful.
ipconf
コマンドを実行します。次に、
ipconf
コマンドのプロンプトおよび応答の例を示します。変更内容は、基本的なIntegrated Lights Out Manager (ILOM)設定の入力要求後に適用されます。# ipconf Logging started to /var/log/cellos/ipconf.log Interface ib0 is Linked. hca: mlx4_0 Interface ib1 is Linked. hca: mlx4_0 Interface eth0 is Linked. driver/mac: ixgbe/00:00:00:00:cd:01 Interface eth1 is ... Unlinked. driver/mac: ixgbe/00:00:00:00:cd:02 Interface eth2 is ... Unlinked. driver/mac: ixgbe/00:00:00:00:cd:03 Interface eth3 is ... Unlinked. driver/mac: ixgbe/00:00:00:00:cd:04 Network interfaces Name State IP address Netmask Gateway Net type Hostname ib0 Linked ib1 Linked eth0 Linked eth1 Unlinked eth2 Unlinked eth3 Unlinked Warning. Some network interface(s) are disconnected. Check cables and switches and retry Do you want to retry (y/n) [y]: n The current nameserver(s): 192.0.2.10 192.0.2.12 192.0.2.13 Do you want to change it (y/n) [n]: The current timezone: America/Los_Angeles Do you want to change it (y/n) [n]: The current NTP server(s): 192.0.2.06 192.0.2.12 192.0.2.13 Do you want to change it (y/n) [n]: Network interfaces Name State IP address Netmask Gateway Net type Hostname eth0 Linked 192.0.2.151 255.255.252.0 192.0.2.15 Management myg.example.com eth1 Unlinked eth2 Unlinked eth3 Unlinked bondib0 ib0,ib1 192.168.13.101 255.255.252.0 Private myg-priv.example.com Select interface name to configure or press Enter to continue: bondib0 Selected interface. bondib0 IP address or none [192.168.13.101]: 192.168.10.3 Netmask [255.255.252.0]:255.255.248.0 Fully qualified hostname or none [myg-priv.example.com]: Continue configuring or re-configuring interfaces? (y/n) [y]: n Select canonical hostname from the list below 1: myg.example.com 2: myg-priv.example.com Canonical fully qualified domain name [1]: Select default gateway interface from the list below 1: eth0 Default gateway interface [1]: Canonical hostname: myg.example.com Nameservers: 192.0.2.10 192.0.2.12 192.0.2.13 Timezone: America/Los_Angeles NTP servers: 192.0.2.06 192.0.2.12 192.0.2.13 Default gateway device: eth0 Network interfaces Name State IP address Netmask Gateway Net type Hostname eth0 Linked 192.0.2.151 255.255.252.0 192.0.2.15 Management myg.example.com eth1 Unlinked eth2 Unlinked eth3 Unlinked bondib0 ib0,ib1 192.168.10.3 255.255.248.0 Private myg-priv.example.com Is this correct (y/n) [y]: Do you want to configure basic ILOM settings (y/n) [y]: n Starting the RS services... Getting the state of RS services... running Starting MS services... The STARTUP of MS services was successful. A restart of all services is required to put new network configuration into effect. MS-CELLSRV communication may be hampered until restart. Cell myg successfully altered Stopping the RS, CELLSRV, and MS services... The SHUTDOWN of services was successful. ipaddress1=192.168.10.3/21
- Oracle Exadata Storage Serverを再起動します。
# shutdown -r now
- セル・サービスを再起動します。
# cellcli -e alter cell restart services all
- Oracle Exadata Storage Serverに新しく割り当てられたInfiniBandアドレスを確認します。
# cellcli -e list cell detail | grep ipaddress1
次に、出力の例を示します。
ipaddress1: 192.168.10.3/21
- 各データベース・サーバーのInfiniBand IPアドレスを変更します。
root
ユーザーとしてログインします。/etc/sysconfig/network-scripts
ディレクトリに変更します。ifcfg-bondib0
ファイルをコピーします。コピーしたファイル名の先頭に
ifcfg
を使用しないでください。# cp ifcfg-bondib0 orig_ifcfg-bondib0
ifcfg-bondib0
ファイルを編集して、IPADDR、NETMASK、NETWORKおよびBROADCASTフィールドを更新します。元の
ifcfg-bondib0
ファイルの例:#### DO NOT REMOVE THESE LINES #### #### %GENERATED BY CELL% #### DEVICE=bondib0 USERCTL=no BOOTPROTO=none ONBOOT=yes IPADDR=192.168.20.8 NETMASK=255.255.248.0 NETWORK=192.168.16.0 BROADCAST=192.168.23.255 BONDING_OPTS="mode=active-backup miimon=100 downdelay=5000 updelay=5000" IPV6INIT=no MTU=65520
更新後の
ifcfg-bondib0
ファイルの例:#### DO NOT REMOVE THESE LINES #### #### %GENERATED BY CELL% #### DEVICE=bondib0 USERCTL=no BOOTPROTO=none ONBOOT=yes IPADDR=192.168.10.8 NETMASK=255.255.248.0 NETWORK=192.168.8.0 BROADCAST=192.168.15.255 BONDING_OPTS="mode=active-backup miimon=100 downdelay=5000 updelay=5000" IPV6INIT=no MTU=65520
ノート:
データベース・サーバーのInfiniBandインタフェースのMTUサイズは、次のように設定する必要があります。
-
Oracle Exadata System Softwareリリース11.2.3.3以降の場合は、MTUサイズを7000に設定します。
-
Oracle Exadata System Softwareリリース11.2.3.3より前のリリースでは、MTUサイズを65520に設定し、メディア・サーバーまたはNFSサーバーなどのInfiniBand経由のTCP/IPを使用して外部デバイスへの高速転送を実現します。
-
- データベース・サーバーを再起動します。
# shutdown -r now
- InfiniBand IPアドレス情報を確認します。
# ifconfig -a
次に、BONDIB0情報の例を示します。更新されたInfiniBandネットワーク情報が表示されます。
inet addr:192.168.10.8 Bcast:192.168.15.255 Mask:255.255.248.0
- 各データベース・サーバーの
cellinit.ora
およびcellip.ora
ファイルを更新します。ノート:
データベースまたはOracle ASMインスタンスを実行中は、
cellinit.ora
またはcellip.ora
ファイルは編集しないでください。ファイルを変更するには、次のような手順を実行します。-
-
ファイルのコピーを作成します。
cp cellinit.ora cellinit.new
-
テキスト・エディタで
cellinit.new
ファイルを編集します。 -
古い
cellinit.ora
ファイルを更新したcellinit.new
ファイルに置き換えます。mv cellinit.new cellinit.ora
-
root
ユーザーとしてログインします。/etc/oracle/cell/network-config
ディレクトリに変更します。cellip.ora
ファイルのバックアップ・コピーを作成します。# cp cellip.ora orig_cellip.ora
ノート:
SSHユーザー等価を使用する場合、
dcli
ユーティリティを使用できます。次に、dcli
コマンドの例を示します。# dcli -l root -g /root/dbs_group "cp cellip.ora orig_cellip.ora"
cellinit.ora
ファイルのバックアップ・コピーを作成します。このコマンドの例を次に示します。
# cp cellinit.ora orig_cellinit.ora
ノート:
SSHユーザー等価を使用する場合、
dcli
ユーティリティを使用できます。次に、dcli
コマンドの例を示します。# dcli -l root -g /root/dbs_group "cp cellinit.ora \ orig_cellinit.ora"
cellip.ora
ファイルのInfiniBand IPアドレスを変更します。元のファイルの例
cell="192.168.20.1" cell="192.168.20.2" cell="192.168.20.3" cell="192.168.20.4" cell="192.168.20.5" cell="192.168.20.6" cell="192.168.20.7"
更新されたファイルの例
cell="192.168.10.1" cell="192.168.10.2" cell="192.168.10.3" cell="192.168.10.4" cell="192.168.10.5" cell="192.168.10.6" cell="192.168.10.7"
ノート:
SSHユーザー等価を使用する場合、
dcli
ユーティリティを使用して、更新されたファイルを最初のデータベース・サーバーから他のデータベース・サーバーにコピーできます。次に、dcli
コマンドの使用例を示します。# dcli -l root -g /root/dbs_group -f \ /etc/oracle/cell/network-config/cellip.ora # dcli -l root -g /root/dbs_group "mv /root/cellip.ora \ /etc/oracle/cell/network-config/"
cellinit.ora
ファイルのInfiniBand IPアドレスを変更します。ファイルは、サブネットIDとそのサブネット・マスクで更新されます。
元のファイルの例
ipaddress="192.168.20.8/21"
更新されたファイルの例
ipaddress="192.168.10.8/21"
各データベース・サーバーの
cellinit.ora
ファイルを更新します。ファイルの内容は、データベース・サーバーに固有です。このステップにdcli
ユーティリティは使用できません。- 各データベース・サーバー上で
ALTER DBSERVER
コマンドを実行して/etc/oracle/cell/network-config/cellinit.ora
ファイルを更新します。# dbmcli -e alter dbserver interconnect1 = "ib0" # dbmcli -e alter dbserver interconnect2 = "ib1" # dbmcli -e alter dbserver interconnect3 = "ib2" # dbmcli -e alter dbserver interconnect4 = "ib3"
-
- 各データベース・サーバーおよびOracle Exadata Storage Serverの
/etc/hosts
ファイルを更新して、新しいInfiniBand IPアドレスを使用します。root
ユーザーとしてログインします。/etc/hosts
ファイルのバックアップ・コピーを作成します。# cp /etc/hosts /etc/orig_hosts
- データベース・サーバーおよびOracle Exadata Storage ServerファイルのInfiniBand IPアドレスを変更します。
- 各サーバーで
root
ユーザーとしてOracle Clusterwareを起動します。# Grid_home/grid/bin/crsctl start crs
- Oracle ASMの
alert.log
を確認して、各データベース・サーバーのクラスタ相互接続にRDSプロトコルが使用されていることを確認します。ログは/u01/app/oracle/diag/asm/+asm/+ASM1/trace
ディレクトリにあります。最新のOracle ASMの再起動に次のようなエントリが示されます。CELL interconnect IPC version: Oracle RDS/IP (generic)
Oracle Exadata System Softwareリリース11.2.0.2以降の場合は、次のコマンドを使用してクラスタ相互接続を検証できます。コマンドは各データベース・サーバーの
oracle
ユーザーとして実行します。$ORACLE_HOME/bin/skgxpinfo
コマンド出力は
rds
となります。インスタンスがInfiniBandでRDSプロトコルを使用していない場合は、次のステップを使用してOracleソフトウェアを再リンクします。
ノート:
Oracleソフトウェアの再リンクにrelink all
コマンドを使用しないでください。oracle
ユーザーとして、Oracleソフトウェアを使用するすべてのプロセスを停止します。- Oracle Grid Infrastructureホームを再リンクする場合は、
root
ユーザーとして次のいずれかのコマンドを実行します。Oracle Grid Infrastructureホームを再リンクしない場合は、このステップは実行しないでください。-
Oracle Grid Infrastructureリリース12.2.0.1以上の場合:
# Grid_home/crs/install/rootcrs.sh -unlock
-
Oracle Grid Infrastructureリリース12.1.0.1または12.1.0.2の場合:
# Grid_home/crs/install/rootcrs.pl -unlock
-
oracle
ユーザーとして、$ORACLE_HOME/rdbms/lib
ディレクトリに移動します。oracle
ユーザーとして、次のコマンドを実行します。$ make -f ins_rdbms.mk ipc_rds ioracle
- Oracle Grid Infrastructureホームを再リンクする場合は、
root
ユーザーとして次のいずれかのコマンドを実行します。Oracle Grid Infrastructureホームを再リンクしない場合は、このステップは実行しないでください。-
Oracle Grid Infrastructureリリース12.2.0.1以上の場合:
# Grid_home/crs/install/rootcrs.sh -unlock # Grid_home/bin/crsctl start crs
-
Oracle Grid Infrastructureリリース12.1.0.1または12.1.0.2の場合:
# Grid_home/crs/install/rootcrs.pl -patch
-
- SRVCTLユーティリティを使用して、すべてのクラスタ管理サービスを起動します。
oracle
ユーザーとしてログインします。- 次のコマンドを使用してデータベースを起動します。Oracle_homeはOracleホーム・ディレクトリです。
$ srvctl start home -o Oracle_home \ -s /tmp/dm02db01_dbhome -n dm02db01
- データベース・インスタンスが実行中であることを確認します。
$ srvctl status database -d dbm
- Oracle ASMおよびデータベース・インスタンスが新しいネットワーク設定を使用していることを確認します。
- SQL*Plusを使用してOracle ASMおよびデータベース・インスタンスにログインします。
- クラスタのインターコネクト情報を問い合せます。
SQL> SELECT inst_id, name,value FROM gv$parameter WHERE name = \ 'cluster_interconnects';
- 古いプライベート・ネットワークを削除します。
$ oifcfg delif -global bondib0/192.168.16.0
- 古いインタフェースが存在していないことを確認します。
$ oifcfg getif bondeth0 10.204.76.0 global public bondib0 192.168.8.0 global cluster_interconnect
- 各データベース・サーバーでOracle Clusterware CRSの自動再起動を有効化します。
root
ユーザーとしてログインします。- Oracle Clusterware CRSを有効にします。
# Grid_home/grid/bin/crsctl enable crs
ノート:
dcli
ユーティリティを使用するために、Oracle Clusterware CRSを有効化します。# dcli -l root -g dbs_group "Grid_home/grid/bin/crsctl \ enable crs"
- すべてのノードでOracle Clusterwareの完全再起動を実行します。
- My Oracle SupportのドキュメントID 1070954.1に記載のステップに従って、Oracle Exadataラックのヘルス・チェックを実行します。
ノート:
Exachkユーティリティは、Oracle Exadataラックの主要なソフトウェア、ハードウェア、ファームウェア・リリースおよび構成ベスト・プラクティスについてのデータを収集します。
Oracle Exadataラックの主要なコンポーネントの現在のデータを定期的に確認して、サポートされているリリース・レベルおよび推奨されているベスト・プラクティスと比較することをお薦めします。
Exachkは、データベース、ネットワークまたはSQLのパフォーマンス分析ツールではありません。連続監視ユーティリティではなく、ILOMやOracle Enterprise Manager Cloud Controlなどのモニタリング・ツールまたはアラート・ツールと重複するものではありません。
- クラスタウェア検証ユーティリティ
cluvfy
を使用してプライベート・ネットワーク構成を検証します。