Sun Cluster 2.2 ソフトウェアのインストール

アプリケーションサーバーとテスト/開発システムに対する構成オプション

従来、アプリケーションサーバーのインスタンスの停止および再起動は、中央インスタンスを再起動した後、手動で行なっていました。Sun Sun Cluster HA for SAP は、中央インスタンスの論理ホストがスイッチオーバーあるいはフェイルオーバーしたときに必ず呼び出されるフックを提供します。これらのフックは、hasap_stop_all_instances および hasap_start_all_instances スクリプトを呼び出すことによって提供されます。これらのスクリプトはべき等である必要があります。

アプリケーションサーバーを構成して、論理ホストがスイッチオーバーまたはフェイルオーバーしたときに自動的にアプリケーションサーバーを制御するには、個々の必要性に従って起動および停止スクリプトを作成します。Sun Cluster には、このためのサンプルスクリプト (/opt/SUNWcluster/ha/sap/hasap_stop_all_instances.sample および /opt/SUNWcluster/ha/sap/hasap_start_all_instances.sample) が用意されており、コピーしてカスタマイズすることができます。また、これらのスクリプトには、カスタマイズ例が含まれています。 サンプルスクリプトをコピーしてから、接尾辞 .sample を削除することによってファイル名を変更し、適宜、編集してください。

フェイルオーバーの発生後、Sun Cluster HA for SAP は、カスタマイズされたスクリプトを呼び出すことによって、アプリケーションサーバーを再起動します。これらのスクリプトは、中央インスタンスからアプリケーションを制御し、完全名で呼び出します。

構成にテストシステムまたは開発システムを含めている場合は、hasap_stop_all_instances スクリプトを編集して、中央インスタンスの論理ホストがフェイルオーバーしたときにテスト/開発システムを停止するようにしてください。

中央インスタンスの論理ホストのスイッチオーバーまたはフェイルオーバー中、スクリプトは次の順で呼び出されます。

  1. hasap_stop_all_instances を呼び出すことにより、アプリケーションサーバーのインスタンスおよびテスト/開発システムを停止する

  2. 中央インスタンスを停止する

  3. 論理ホストおよびディスクグループのスイッチオーバーを行なう

  4. 再度、hasap_stop_all_instances を呼び出すことにより、全アプリケーションサーバーとテスト/開発システムの停止を確認する

  5. 中央インスタンスを起動する

  6. hasap_start_all_instances を呼び出すことにより、アプリケーションサーバーのインスタンスを起動する

詳細は、hasap_start_all_instances(1M) および hasap_start_all_instances(1M) のマニュアルページを参照してください。

また、クラスタ内の全ホストおよび全物理ホストから各アプリケーションサーバーとテスト/開発システム上の SAP 管理アカウント (<sapsid>adm) に root アクセスできるようにする必要があります。テスト/開発システムの場合は、root にデータベース管理アカウント (ora<sapsid>) へのアクセス権も付与してください。これは、ユーザーに対して .rhosts ファイルを作成することによって実現します。

...
 phys-hahost1	 root
 phys-hahost2	 root
 phys-hahost3	 root
 hahost1		 	 	 	 root
 hahost2		 	 	 	 root
 hahost3		 	 	 	 root
 ...

複数のアプリケーションサーバーまたは 1 つのテスト/開発システムを含む構成では、Sun Cluster HA for SAP に対して STOP_NET メソッドのタイムアウト値を大きくすることを検討してください。STOP_NET メソッドのデフォルトのタイムアウト値は 60 秒であるため、この値を大きくする必要があるのは、hasap_stop_all_instances スクリプトの実行に 60 秒を超える時間がかかる場合だけです。hasap_stop_all_instances スクリプトが 60 秒以内に終了しない場合は、STOP_NET のタイムアウト値を大きくしてください。

STOP_NET メソッドのタイムアウト値は、次のコマンドで確認できます。

# hareg -q sap -T STOP_NET

注 -

hasap_dbms コマンドは、Sun Cluster HA for SAP が登録されていて、オフ状態のときにだけ使用できます。このコマンドは、1 つのノード (クラスタのメンバーになっているノード) 上でのみ実行してください。詳細は、hasap_dbms(1M) のマニュアルページを参照してください。



注意 - 注意 -

CCD に行を追加できない、あるいは CCD を更新できないことを示すエラーが hasap_dbms(1M) コマンドから返された場合は、その原因として、別のクラスタユーティリティも CCD を更新しようとしていることが考えられます。このエラーが発生した場合は、正しく実行されるまで hasap_dbms(1M) を再実行してください。hasap_dbms(1M) コマンドが正しく実行されたら、hareg コマンドを実行することによって、更新された CCD に必要な行がすべて含まれていることを確認してください。

hareg(1M) コマンドからエラーが返された場合は、まず、hasap_dbms -f コマンドを実行することによって、元のメソッドのタイムアウト値を復元してください。次に、hasap_dbms -r コマンドを実行することによって、デフォルトの依存関係を復元してください。両方のコマンドが正常に終了したら、元の hasap_dbms(1M) コマンドを再実行して、新しい依存関係とメソッドのタイムアウト値を設定します。詳細は、hasap_dbms(1M) のマニュアルページを参照してください。


STOP_NET メソッドのタイムアウト値を大きくするには、次のコマンドを使用します。

# /opt/SUNWcluster/ha/sap/hasap_dbms -t STOP_NET=new_timeout_value

STOP_NET メソッドのタイムアウト値を大きくした場合は、クラスタの再構成時に論理ホストを再マスターするときに Sun Cluster フレームワークが使用するタイムアウト値も大きくする必要があります。scconf(1M) コマンドを使用して、論理ホストのタイムアウト値を大きくしてください。クラスタフレームワーク用のタイムアウト値を大きくする方法についての詳細は、『Sun Cluster 2.2 のシステム管理』のクラスタ遷移手順に対するタイムアウト値の設定についての説明を参照してください。loghost_timeout 値は、STOP_NET のタイムアウト値の少なくとも 2 倍にしてください。