Sun Cluster HA for SAP は、Sun Cluster 環境で実行することによって可用性が高まる SAP コンポーネントの集まりです。この章では,Sun Cluster サーバー上での Sun Cluster HA for SAP の使用計画を立て、実際にインストールし、構成する方法について説明します。
この章で説明する手順は次のとおりです。
Sun Cluster HA for SAP データサービスは、SAP システムにおける一部の障害を排除するともに、SAP アプリケーションに障害監視機能とフェイルオーバー機能を提供します。
SAP システムの次の基本サービスは、Sun Cluster フレームワーク内に配置します。
データベースインスタンス
中央インスタンス (メッセージサーバー、エンキューサーバー、およびディスパッチャーの構成)
NFS ファイルサービス
Sun Cluster 構成では、表 10-1 に示す組み合わせで SAP コンポーネントに対する保護が実現されます。
表 10-1 SAP コンポーネントの保護
SAP のコンポーネント |
保護を提供するパッケージ |
---|---|
SAP のデータベースインスタンス |
Sun Cluster HA for Oracle または Sun Cluster HA for Informix |
SAP の中央インスタンス |
Sun Cluster HA for SAP |
NFS ファイルサービス |
Sun Cluster HA for NFS |
SAP アプリケーションサーバー |
SAP (冗長構成による) |
Sun Cluster HA for SAP データサービスは、クラスタの初期インストール時またはインストール後にインストールすることができます。Sun Cluster HA for SAP を使用するには、すでに論理ホストと関連付けられた IP アドレス、ディスクグループを含み、機能しているクラスタが必要です。
クラスタとデータサービスの初期インストールについての詳細は、第 3 章「Sun Cluster ソフトウェアのインストールと構成」を参照してください。Sun Cluster HA for SAP データサービスの登録は、Sun Cluster および SAP ソフトウェアをインストールした後で行うことができます。
サポートされる SAP バージョンに関する最新の情報については、ご購入先にお問い合わせください。次に、各種 SAP クラスタ構成について詳しく説明します。
最も簡単な SAP クラスタ構成は、図 10-1 に示すような、論理ホストを 1 つ持つ、2 ノードの構成です。この非対称構成では、SAP の中央インスタンスとデータベースインスタンス (2 つをまとめて「中央システム」という) はともに、1 つのノード上に配置します。NFS もまた、同じノード上に配置します。この構成のクラスタは、構成と管理が比較的容易です。欠点は、バックアップノードが十分に利用されないことです。フェイルオーバーが発生した場合、中央インスタンスとデータベースインスタンス、NFS サービスは、バックアップノードに切り替えられます。
この構成では、中央システム (中央インスタンスとデータベースインスタンス) を 1 つのノードに配置し、開発/テストシステムをバックアップノードに配置します。開発/テストシステムは、論理ホストのフェイルオーバーによって中央システムがバックアップノードに移動しない限り、動作したままになります。図 10-2 が、この構成例です。この構成では、Sun Cluster HA for SAP の hasap_stop_all_instances スクリプトをカスタマイズして、SAP の中央インスタンスがスイッチオーバーされ、起動する前に、開発/テストシステムが停止するようにします。詳細は、hasap_stop_all_instances(1M) のマニュアルページおよび 「アプリケーションサーバーとテスト/開発システムに対する構成オプション」を参照してください。
物理ホストの一方または両方に、SAP アプリケーションサーバーを配置することもできます。この構成では、クラスタの外部のホストから NFS サービスを提供する必要があります。図 10-3 に示すように、外部の NFS クラスタからファイルシステムを NFS マウントするようにアプリケーションサーバーを設定してください。フェイルオーバーが発生した場合、中央システム (中央インスタンスとデータベースインスタンス) を含む論理ホストは、バックアップノードに切り替わります。アプリケーションサーバーが論理ホストとともに移動することはありませんが、論理ホストがマスターされているかどうかによって、起動または停止されます。これにより、アプリケーションサーバーが中央インスタンスやデータベースを求めて競合することがなくなります。
図 10-4 に示すような、論理ホストを 2 つ持ち、SAP の中央インスタンスを論理ホストの一方、SAP データベースインタンスをもう一方の論理ホストに配置した、2 ノードのクラスタを構成することができます。この構成では、両方のノードが利用されて、負荷均衡が図られます。フェイルオーバーが発生した場合、中央インスタンスあるいはデータベースインスタンスは兄弟ノードに切り替えられます。
論理ホストを 2 つ持ち、SAP アプリケーションを物理ホストの一方または両方に配置した、2 ノードのクラスタを構成することができます。この構成では、クラスタの外部のホストから NFS サービスを提供する必要があります。図 10-5 で説明しているように、外部の NFS クラスタからファイルシステムを NFS マウントするようにアプリケーションサーバーを設定してください。この構成では、両方のノードが利用されて、負荷均衡が図られます。
フェイルオーバーが発生した場合、論理ホストが兄弟ノードにスイッチオーバーします。アプリケーションサーバーはフェイルオーバーしません。
中央インスタンスの論理ホストがフェイルオーバーした場合は、hasap_stop_all_instances スクリプトを使用して、アプリケーションサーバーを停止できます。
データベースの論理ホストがフェイルオーバーした場合に、アプリケーションサーバーを起動および停止するためのスクリプトには、カスタマイズできるものはありません。データベースの論理ホストがフェイルオーバーした場合、アプリケーションサーバーを停止して、データベースの論理ホスト用のリソースを解放することはできません。このため構成を調整して、中央インスタンスとデータベースインスタンス、アプリケーションサーバーがすべて同時に同一ノード上で動作する場合を考慮する必要があります。
この構成は、Sun Cluster HA for NFS によって保護されます。詳細は、「Sun Cluster HA for NFS に関する注意事項」を参照してください。
Sun Cluster HA for SAP の構成を計画するにあたっては、次のことを考慮してください。
フェイルオーバーが発生した場合にスタンバイサーバーにかかる総負荷は多めに見積もってください。フェイルオーバーが発生すると、中央インスタンスとデータベースインスタンスがスタンバイサーバーに同時に存在することがあるため、スタンバイサーバー上の CPU、スワップ、共有メモリー、入出力帯域幅に十分なリソースを割り当ててください。
次の場合は、ロギングファイルシステムを使用してください。
ボリュームマネージャが VxVM の場合は、VxFS と ダーティリージョンログを使用してください。
ボリュームマネージャが Solstice DiskSuite の場合は、Solaris の UFS ロギングまたは Solstice DiskSuite の UFS ロギングを使用してください。
SAP ソフトウェアとデータベース用にそれぞれ異なるディスクグループを構成してください。scinstall(1M) コマンドは、1 つの論理ホスト上に複数のディスクグループを構成できません。このため、クラスタの初期インストールで、scinstall(1M) を使用して論理ホストを設定しないでください。論理ホストの設定は、クラスタが動作した後、scconf(1M) を使用して行なってください。詳細は、scconf(1M) のマニュアルページを参照してください。
名前の長さは、できる限り 8 文字以下にしてください。ホスト名が 8 文字よりも長い場合、/etc/hosts ファイルを変更して、実際のホスト名に 8 文字以下の別名を付けてください。
SAP ガイドラインのとおりに、中央インスタンスのプロファイルの作業プロセスは Enqueue、Message、Dialog (1 つ)、および Update (1 つ) に制限してください。SAP ユーザーが中央インスタンス経由で SAP に接続できないように設定し、その代わりに、すべてのユーザーが代替アプリケーションサーバーに接続するように推奨してください。システム管理者と Sun Cluster HA for SAP は、単一の Dialog 作業プロセス経由で中央インスタンスに接続できます。
SAP およびデータベースは、大量のメモリーとスワップ空間を使用します。推奨するメモリーおよびスワップ条件については、SAP およびデータベースのマニュアルを参照してください。
中央インスタンスの論理ホストのすべての潜在的マスターの /var/opt/informix または /var/opt/oracle に、Oracle クライアントのバイナリ用の領域を用意してください。140M バイトほど必要です。詳細は、SAP のマニュアルを参照してください。
HA 1.3 または Sun Cluster 2.1 を Sun Cluster 2.2 にアップグレードするにあたっては、SAP に関わる次のことに注意してください。
HA 1.3 または Sun Cluster 2.1 で hasap_start_all_instances あるいは hasap_stop_all_instances スクリプトをカスタマイズしていた場合は、Sun Cluster 2.2 へのアップグレードを開始する前に、そのスクリプトファイルを安全な場所に保存し、アップグレードの完了後に復元してください。Sun Cluster 2.2 は古いスクリプトを削除するため、こうすることによって、カスタマイズ内容が失われるのを防ぐことができます。
Sun Cluster 2.2 に実装されている構成パラメータは、Solstice HA 1.3 や Sun Cluster 2.1 に実装されているものと異なります。このため、Sun Cluster 2.2 にアップグレードした後に、hadsconfig(1M) コマンドを実行して、Sun Cluster HA for SAP を再構成してください。
アップグレードを開始する前に、既存の構成を表示し、現在の構成変数を書き留めておいてください。Solstice HA 1.3 の場合は hainetconfig(1M) コマンド、Sun Cluster 2.1 の場合は、hadsconfig(1M) コマンドを使用して、それぞれ構成を表示することができます。Sun Cluster 2.2 にアップグレードした後に、hadsconfig(1M) コマンドを採用して、インスタンスを再作成してください。
Sun Cluster 2.2 では、hareg -n コマンドは、すべてのインスタンスおよび障害モニターを含めて、Sun Cluster HA for SAP データサービス全体を停止します。以前のバージョンでは、 Sun Cluster HA for SAP と組み合わせられたとき、hareg -n コマンドは、単に障害モニターだけを停止しました。
また、hareg -y を使用して Sun Cluster HA for SAP データサービスを起動する場合は、前もって SAP 中央インスタンスを停止しておく必要があります。停止しておかないと、Sun Cluster HA for SAP データサービスは、インスタンスを正しく起動、監視することができません。
従来、アプリケーションサーバーのインスタンスの停止および再起動は、中央インスタンスを再起動した後、手動で行なっていました。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 スクリプトを編集して、中央インスタンスの論理ホストがフェイルオーバーしたときにテスト/開発システムを停止するようにしてください。
中央インスタンスの論理ホストのスイッチオーバーまたはフェイルオーバー中、スクリプトは次の順で呼び出されます。
hasap_stop_all_instances を呼び出すことにより、アプリケーションサーバーのインスタンスおよびテスト/開発システムを停止する
中央インスタンスを停止する
論理ホストおよびディスクグループのスイッチオーバーを行なう
再度、hasap_stop_all_instances を呼び出すことにより、全アプリケーションサーバーとテスト/開発システムの停止を確認する
中央インスタンスを起動する
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 倍にしてください。
アプリケーションサーバーがクラスタの外部に存在する場合は、中央インスタンスの論理ホストに Sun Cluster HA for NFS を構成する必要があります。クラスタ外部のアプリケーションサーバーは、SAP の中央インスタンスから SAP プロファイルディレクトリおよび実行可能なディレクトリを NFS マウントします。Sun Cluster HA for NFS の設定の詳細な手順については、第 11 章「Sun Cluster HA for NFS のインストールと構成」を参照してください。また、SAP に固有の次のガイドラインに注意してください。
同じクラスタ内の別のノードの NFS クライアントとしてノードを構成しないでください。
クラスタ内でアプリケーションサーバーを実行する場合は、NFS を実行する外部クラスタを設定する必要があります。アプリケーションサーバーと中央インスタンスは、外部の NFS クラスタからファイルをマウントします。
Sun Cluster HA for NFS と HA-DBMS、Sun Cluster HA for SAP データサービスの間には、起動の順序について依存関係があります。この依存関係は、特殊なスクリプトを使用して管理することができます。詳細は、「Oracle の SAP に対するデータサービスの依存関係の設定」または「Informix の SAP に対するデータサービスの依存関係の設定」 を参照してください。
通常は、すべての SAP インスタンスに次のディレクトリを共有させてください。
/usr/sap/trans
/sapmnt/<SAPSID>/exe
/sapmnt/<SAPSID>/global
/sapmnt/<SAPSID>/profile
Oracle の SAP をインストールおよび構成するには、次の節を参照してください。Informix の SAP をインストールおよび構成するには、「Informix の SAP」を参照してください。
Oracle および Sun Cluster HA for SAP を持つ SAP をインストールおよび構成するために行う必要がある主な作業は、表 10-2 に示すとおりです。
表 10-2 Sun Cluster HA for SAP のインストール概要 (Oracle の SAP)
作業 |
説明 |
記載場所 |
---|---|---|
SAP のインストール計画 |
- ガイドラインと手順の説明を一通り読む | |
- SAP インストールワークシートを完成する | ||
SAP 用の環境の準備 |
- インストールの準備作業をすべて行う - Solaris を設定する - ボリュームマネージャを設定する - ディスクグループまたはディスクセットを作成する - ボリュームとファイルシステムを作成する - Sun Cluster をインストールする - PNM を設定する - 論理ホストとマウントポイントを設定する - HA-NFS を設定する (必要に応じて) - カーネルのパラメータを調整する - スワップ空間を作成する - ユーザーアカウントとグループアカウントを作成する |
「SAP とデータベース (Oracle の SAP) 用にクラスタ環境を準備するには」
その他の参照箇所:第 3 章「Sun Cluster ソフトウェアのインストールと構成」 |
SAP とデータベースのインストールと構成 |
- SAP の中央インスタンスとデータベースインスタンスをインストールする - データベースを読み込む - すべてのレポートを読み込む - GUI をインストールする | |
クラスタ内での SAP の動作を可能にする |
- SAP の中央インスタンス管理環境を設定する - SAP プロファイルファイルを編集する - データベース環境を変更する - /etc/services を更新し、/usr/sap/tmp を作成する - インストールした SAP をテストする | |
HA-DBMS の構成 |
- SAP とデータベースを停止する - Oracle の警告ファイルとリスナーファイルを調整する - データベースを登録して起動する - データベースインスタンスを設定する - データベースに対する障害監視を起動する - データベースのスイッチオーバーをテストする | |
Sun Cluster HA for SAP の構成 |
- Sun Sun Cluster HA for SAP をインストールして、登録する | |
- Sun Cluster HA for SAP を構成する |
「Sun Cluster HA for SAP を構成するには (Oracle の SAP)」、および 「Sun Cluster HA for SAP に対する構成パラメータ (Oracle の SAP)」 |
|
- 依存関係を設定する (必要に応じて) | ||
- Sun Cluster HA for SAP のスイッチオーバーをテストする | ||
- アプリケーションサーバーおよびテスト/開発システム用の起動および停止スクリプトをカスタマイズして、テストする |
Sun Cluster HA for SAP のインストールを開始する前に、次のワークシートを完成してください。
表 10-3 Sun Cluster HA for SAP のインストールワークシート (Oracle の SAP)
クラスタ名 |
|
論理ホスト数 |
|
CI 論理ホストの潜在的マスターである全物理ホストの名前と IP アドレス |
|
CI 論理ホストの名前と IP アドレス |
|
SAP システム ID (<SAPSID>) |
|
SAP システム番号 |
|
DB 論理ホストの潜在的マスターである全物理ホストの名前と IP アドレス |
|
DB 論理ホストの名前と IP アドレス (非対称構成の場合は CI 論理ホストと同じ) |
|
NFS 論理ホストの名前 (すべてのアプリケーションサーバーがクラスタの外部に存在する場合は中央インスタンスの論理ホスト名。アプリケーションサーバーがクラスタの内部に存在する場合は外部の NFS クラスタから NFS サービスを提供する論理ホスト名)。「Sun Cluster HA for NFS に関する注意事項」を参照。 |
|
CI 論理ホストのすべての潜在的マスターに対する SAP ライセンス |
|
この節では、Oracle の SAP をインストールおよび構成する方法について説明します。Informix の SAP をインストールする方法については、「Informix の SAP」を参照してください。
SAP および Oracle のインストール手順を開始する前に、次の準備作業を行なっておいてください。
全ノード上での Solaris オペレーティング環境およびその必須パッチをインストールする
第 3 章「Sun Cluster ソフトウェアのインストールと構成」を参照してください。
全ノード上でのボリュームマネージャのソフトウェアおよびその必須パッチをインストールする
第 3 章「Sun Cluster ソフトウェアのインストールと構成」を参照してください。
SAP および Oracle をインストールするノード上で、Solstice DiskSuite ディスクセットまたは VxVM ディスクグループを作成する。
SAP 中央インスタンスおよびデータベースインスタンス用にそれぞれ異なるディスクグループを作成することを推奨
SAP および Oracle をインストールするノード上で、Sun Cluster ガイドラインに従ってボリュームを作成する
コントローラにまたがるボリュームをミラー化する
VxVM の場合は、ミラーの再同期の高速化のためのダーティリージョンログを使用する
論理ホストのフェイルオーバーの高速化のためにロギングファイルシステムを使用する
表 10-4 をワークシートとして利用して、SAP の中央インスタンスに使用する各ファイルシステムに対応するボリューム名を収集してください。実際の構成によって異なる推奨ファイルシステムサイズについては、SAP のインストールガイドを参照してください。これらのファイルシステムは、データベースに依存しないファイルシステムです。
表 10-4 ワークシート: SAP の中央インスタンス用のファイルシステムとボリューム名 (Oracle の SAP)
ファイルシステム名 / マウントポイント |
ボリューム名 |
---|---|
/oracle/805_32 (Oracle 8.0.6 の SAP 4.6B のみ) |
|
/usr/sap/trans |
|
/sapmnt/<SAPSID> |
|
/usr/sap/<SAPSID> |
|
をワークシートとして利用して、データベースインスタンスに使用する各ファイルシステムに対応するボリューム名を収集してください。実際の構成によって異なる推奨ファイルシステムサイズについては、SAP のインストールガイドを参照してください。これらのファイルシステムは、データベースに依存しないファイルシステムです。
表 10-5 ワークシート: SAP データベースインスタンス用のファイルシステムとボリューム名 (Oracle の SAP)
ファイルシステム名 / マウントポイント |
ボリューム名 |
---|---|
/oracle/<SAPSID> |
|
/oracle/stage/stage_<version> |
|
/oracle/<SAPSID>/origlogA |
|
/oracle/<SAPSID>/origlogB |
|
/oracle/<SAPSID>/mirrlogA |
|
/oracle/<SAPSID>/mirrlogB |
|
/oracle/<SAPSID>/saparch |
|
/oracle/<SAPSID>/sapreorg |
|
/oracle/<SAPSID>/sapdata1 |
|
/oracle/<SAPSID>/sapdata2 |
|
/oracle/<SAPSID>/sapdata3 |
|
/oracle/<SAPSID>/sapdata4 |
|
/oracle/<SAPSID>/sapdata5 |
|
/oracle/<SAPSID>/sapdata6 |
|
全ノード上でSun Cluster、Sun Cluster HA for SAP、Sun Cluster HA for Oracle とそれらの必須パッチのインストール。
第 3 章で説明している手順を使用しますが、そのインストール中、scinstall(1M) を使用して論理ホストの設定を行わないでください。論理ホストの設定は、クラスタが動作した後、scconf(1M) を使用して行います。1 つの論理ホストに 2 つのディスクセットを設定してください。
全ノード上での PNM の構成
手順の詳細は、このマニュアルの 第 3 章「Sun Cluster ソフトウェアのインストールと構成」、および『Sun Cluster 2.2 のシステム管理』のネットワーク管理に関する章を参照してください。
クラスタの起動
1 つのノード上で、次のコマンドを実行します。
# scadmin startcluster physicalhost clustername |
他のすべてのノード上で、次のコマンドを連続して実行します。
# scadmin startnode |
(VxVM のみ) 全ディスクグループがデポートされていることの確認
(Solstice DiskSuite のみ) すべてのディスクセットの所有権の解除
SAP をインストールする上で scconf(1M) による論理ホストの作成。
論理ホスト数は、実際の構成によって異なります。『Sun Cluster 2.2 のシステム管理』の論理ホストの追加と削除についての説明を参照してください。次の情報が必要です。
論理ホスト名
論理ホストの潜在的マスターである物理ホスト名
論理ホストの潜在的マスター用の主パブリックネットワークコントローラ名
ディスクグループ名
論理ホストを作成するときは、scconf(1M) に -m オプションを使用して、自動フェイルバック機能を無効にしてください。
(VxVM を使用した、2 ノードの構成のみ) 共有 CCD の構成
付録 C 「VERITAS Volume Manager の構成」 を参照してください。
論理ホスト作成後の論理ホスト管理ファイルシステムの作成。
詳細な手順については、付録 B 「Solstice DiskSuite の構成」 または 付録 C 「VERITAS Volume Manager の構成」 を参照してください。
中央インスタンスおよびデータベースインスタンスボリューム用のマウントポイントの作成と、各論理ホストの全潜在的マスター上の vfstab.logicalhost ファイルへのその情報の入力。
vfstab.logicalhost ファイルは、/etc/opt/SUNWcluster/conf/hanfs にあります。
表 10-6 は、中央インタンスとデータベースインスタンスに関連付けられたディスクグループ (VxVM の場合) またはディスクセット (Solstice DiskSuite) 用として推奨するファイルシステムとマウントポイントをまとめています。論理ホストが1つの構成であっても、中央インスタンスとデータベースインスタンスのファイルシステムをそれぞれ異なるディスクグループまたはディスクセットに作成することによって、将来的に構成上の柔軟性が増すことがあります。
表 10-6 SAP の中央インスタンスとデータベースインスタンス用のファイルシステムとマウントポイント (Oracle の SAP)
ディスクグループ (VxVM) |
ディスクセット (Solstice DiskSuite) |
ボリューム名 |
マウントポイント |
---|---|---|---|
ci_dg |
CIloghost |
sap |
/usr/sap/<SAPSID> |
ci_dg |
CIloghost |
saptrans |
/usr/sap/trans |
ci_dg |
CIloghost |
sapmnt |
/sapmnt/<SAPSID> |
db_dg |
DBloghost |
oracle |
/oracle/<SAPSID> |
db_dg |
DBloghost |
stage |
/oracle/stage/stage_<version> |
db_dg |
DBloghost |
origlogA |
/oracle/<SAPSID>/origlogA |
db_dg |
DBloghost |
origlogB |
/oracle/<SAPSID>/origlogB |
db_dg |
DBloghost |
mirrlogA |
/oracle/<SAPSID>/mirrlogA |
db_dg |
DBloghost |
mirrlogB |
/oracle/<SAPSID>/mirrlogB |
db_dg |
DBloghost |
saparch |
/oracle/<SAPSID>/saparch |
db_dg |
DBloghost |
sapreorg |
/oracle/<SAPSID>/sapreorg |
db_dg |
DBloghost |
sapdata1 |
/oracle/<SAPSID>/sapdata1 |
db_dg |
DBloghost |
sapdata2 |
/oracle/<SAPSID>/sapdata2 |
db_dg |
DBloghost |
sapdata3 |
/oracle/<SAPSID>/sapdata3 |
db_dg |
DBloghost |
sapdata4 |
/oracle/<SAPSID>/sapdata4 |
db_dg |
DBloghost |
sapdata5 |
/oracle/<SAPSID>/sapdata5 |
db_dg |
DBloghost |
sapdata6 |
/oracle/<SAPSID>/sapdata6 |
Sun Cluster HA for NFS の構成と、各論理ホストの全潜在的マスター上の dfstab.logicalhost ファイルへの適切な共有ファイルシステム情報の入力 (SAP アプリケーションサーバーをクラスタの外部に構成する場合)。dfstab.logicalhost ファイルは、/etc/opt/SUNWcluster/conf/hanfs に存在します。
詳細は、「アプリケーションサーバーとテスト/開発システムに対する構成オプション」および第 11 章「Sun Cluster HA for NFS のインストールと構成」を参照してください。
クラスタの外部の SAP アプリケーションサーバーに次の表に示すファイルシステムを共有させてください。これらは、一般的なガイドラインです。詳細は、SAP のマニュアルを参照してください。
表 10-7 HA-NFS において外部の SAP アプリケーションサーバーに共有させるファイルシステム (Oracle の SAP)
外部アプリケーションサーバーに共有させるファイルシステム |
---|
/usr/sap/trans |
/sapmnt/<SAPSID>/exe |
/sapmnt/<SAPSID>/profile |
/sapmnt/<SAPSID>/global |
全潜在的マスター間における切り替えによる論理ホストの機能とマウントポイントのテスト。
このテストによって、すべてのマウントポイントが正しく作成されていることを確認します。
SAP のマニュアル『R/3 Installation on UNIX: OS Dependencies』で示されているガイドラインに従った、全潜在的マスター上のカーネルパラメータの調整。
中央インスタンスとデータベースインスタンスの 2 つが共存する、あるいは他のインスタンスと共存する構成では、その構成に応じて、カーネルパラメータを調整します。
全潜在的マスターノードに対する適切なサイズの恒久的なスワップ領域の作成。
スワップのガイドラインについては、SAP のマニュアル『Installation Requirements Checklist』を参照してください。スワップ空間を調整するにあたっては、SAP に用意されている memlimits ユーティリティを使用してください。このユーティリティについての詳細は、SAP のマニュアル『R/3 Installation on UNIX』を参照してください。
カーネルパラメータとスワップ空間調整後のクラスタの停止と全ノードの再起動
各論理ホストの全潜在的マスターに対する SAP およびデータベースのユーザーアカウントとグループアカウントの作成。
詳細は、SAP のマニュアル『R/3 Installation on UNIX: OS Dependencies』で示されているガイドラインを参照してください。ユーザーID とグループ ID は、すべてのノードで同じである必要があります。共有ディスクセット上にユーザー用のホームディレクトリを作成してください。表 10-8 は、ユーザーアカウント用として推奨するホームディレクトリのパスを示しています。
表 10-8 SAP ユーザーアカウント用のホームディレクトリのパス (Oracle の SAP)
ユーザー |
ホームディレクトリ |
---|---|
<sapsid>adm |
/usr/sap/<SAPSID>/home |
ora<sapsid> |
/oracle/<SAPSID> |
SAP 4.0b の場合は、OSS に関する注意 0100125 を参照してください。/home の外部にユーザーホームディレクトリを作成するときに従う必要がある特別な手順を示しています。
これらの準備作業をすべて完了したら、「Oracle の SAP をインストールするには」を参照してください。
「SAP とデータベース (Oracle の SAP) 用にクラスタ環境を準備するには」に示したすべての準備作業を完了していることを確認します。
すべてのノードがクラスタ内で動作していることを確認します。
インストールする SAP とデータベースが存在するノードに全論理ホストをスイッチオーバーします。
# scadmin switch clustername phys-hahost1 CIloghost DBloghost ... |
SAP インストールディレクトリを作成して、SAP のインストールを開始します。
詳細は、SAP のマニュアル『R/3 Installation on UNIX』を参照してください。
SAP のインストールを開始する前に、SAP のすべての OSS に関する注意事項を参照してください。
中央インスタンスとデータベースインスタンスの論理ホストをマスターしているノードに中央インスタンスとデータベースインスタンスをインストールします。
(SAP 3.1x のみ) R3INST を使用して SAP をインストールする場合は、「Database Server」のプロンプトが表示されたときに、データベースの論理ホストの現在のマスターとなっている物理ホスト名を指定してください。インストールを終えたら、さまざまなファイルを手動で編集して、データベースが存在する論理ホストを参照するように設定する必要があります。
(SAP 4.0x のみ) R3SETUP を使用して SAP をインストールする場合は、CENTRDB.SH スクリプトを選択して、インストール用のコマンドファイルを作成してください。
SAP のインストールを継続して、中央インタンスのインストールと、データベースの作成および読み込み、すべてのレポートの読み込み、R/3 Frontend (GUI) のインストールを行います。
SAP の中央インスタンス管理環境を設定します。
SAP のインストールでは、SAP 中央インスタンスがインストールされるサーバーに、物理ホスト名を使用するファイルとシェルスクリプトが作成されます。次の手順に従って、すべての物理ホスト名を論理ホスト名に置き換えてください。
次の手順を開始する前に、すべてのファイルのバックアップコピーを作成してください。
まず、次のコマンドを使用して、SAP の中央インスタンスとデータベースを停止します。
# su - <sapsid>adm $ stopsap all ... # su - ora<sapsid> $ lsnrctl stop |
ファイルの編集を開始する前に <sapsid>adm ユーザーになってください。
<sapsid>adm ホームディレクトリ内の .cshrc ファイルを編集します。
SAP の中央インスタンスをインストールするサーバー上の .cshrc ファイルには、Sun Cluster の物理ホスト名を含む別名が含まれています。.cshrc ファイル内の物理ホスト名をすべて中央インスタンスの論理ホスト名に置き換えてください。
(For SAP 3.1x のみ) 編集後の .cshrc ファイルは、次の例のようになります。この例の CIloghost が中央インスタンスを含む論理ホスト、DBloghost がデータベースを含む論理ホストです。中央インスタンスとデータベースが同じ論理ホスト上に存在する場合は、すべての置換部分にその論理ホスト名を使用します。
# aliases alias startsap "$HOME/startsap_CIloghost_00" alias stopsap "$HOME/stopsap_CIloghost_00" # RDBMS environment if (-e $HOME/.dbenv_DBloghost.csh) then source $HOME/.dbenv_DBloghost.csh else if (-e $HOME/.dbenv.csh) then source $HOME/.dbenv.csh endif |
(For SAP 4.0x のみ) 編集後の .cshrc ファイルは、次の例のようになります。この例の CIloghost が中央インスタンスを含む論理ホスト、DBloghost がデータベースを含む論理ホストです。中央インスタンスとデータベースが同じ論理ホスト上に存在する場合は、すべての置換部分にその論理ホスト名を使用します。
if ( -e $HOME/.sapenv_CIloghost.csh ) then source $HOME/.sapenv_CIloghost.csh else if ( -e $HOME/.sapenv.csh ) then source $HOME/.sapenv.csh endif # RDBMS environment if ( -e $HOME/.dbenv_DBloghost.csh ) then source $HOME/.dbenv_DBloghost.csh else if ( -e $HOME/.dbenv.csh ) then source $HOME/.dbenv.csh endif |
(For SAP 4.0x のみ) .sapenv_physicalhost.csh ファイルの名前を .sapenv_CIloghost.csh に変更してから、テキストエディタで開いて、物理ホスト名をすべて論理ホスト名に置き換えます。
最初に、物理ホスト名の部分を中央インスタンスの論理ホスト名に変更することによって、ファイル名を変更します。
$ mv .sapenv_physicalhost.csh .sapenv_CIloghost.csh |
次にファイル内の別名を変更します。たとえば、次のようにします。
alias startsap "$HOME/startsap_CIloghost_00" alias stopsap "$HOME/stopsap_CIloghost_00" |
.dbenv_physicalhost.csh ファイルの名前を変更します。
.dbenv_physicalhost.csh ファイルの名前を .dbenv_DBloghost.csh に変更してください。中央インスタンスとデータベースが同じ論理ホスト上に存在する場合は、置換部分にその論理ホスト名を使用します。
$ mv .dbenv_physicalhost.csh .dbenv_DBloghost.csh |
(For SAP 4.0x のみ) .dbenv_DBloghost.csh ファイルをテキストエディタで開き、ORA_NLS 環境変数に、/var/opt/oracle 内のデータベースクライアント構成ファイル用の適切なサブディレクトリを示す値を設定します。また、TNS_ADMIN 環境変数に、/var/opt/oracle ディレクトリを示す値を設定します。
.dbenv_DBloghost.csh ファイルは、<sapsid>adm ホームディレクトリに存在します。
#setenv ORA_NLS /oracle/<SAPSID>/ocommon/NLS_723/admin/data setenv ORA_NLS /var/opt/oracle/ocommon/NLS_723/admin/data #setenv ORA_NLS32 /oracle/<SAPSID>/ocommon/NLS_733/admin/data setenv ORA_NLS32 /var/opt/oracle/ocommon/NLS_733/admin/data #setenv ORA_NLS33 /oracle/<SAPSID>/ocommon/NLS_804/admin/data setenv ORA_NLS33 /var/opt/oracle/ocommon/NLS_804/admin/data ... # setenv TNS_ADMIN @TNS_ADMIN@ setenv TNS_ADMIN /var/opt/oracle ... |
(SAP 4.6B のみ) .dbenv_DBloghost.csh ファイルを編集して、ORA_NLS 環境変数に、/var/opt/oracle 内のデータベースクライアント構成ファイル用の適切なサブディレクトリを示す値を設定します。TNS_ADMIN 環境変数に、/var/opt/oracle ディレクトリを示す値を設定します。また、LD_LIBRARY_PATH 環境変数に、/var/opt/oracle ディレクトリを示す値を設定します。
.dbenv_DBloghost.csh ファイルは、<sapsid>adm ホームディレクトリに存在します。
... #setenv ORA_NLS /oracle/D01/ocommon/NLS_723/admin/data #setenv ORA_NLS32 /oracle/D01/ocommon/NLS_733/admin/data #setenv ORA_NLS33 /oracle/D01/ocommon/nls/admin/data setenv ORA_NLS /var/opt/oracle/ocommon/NLS_723/admin/data setenv ORA_NLS32 /var/opt/oracle/ocommon/NLS_733/admin/data setenv ORA_NLS33 /var/opt/oracle/ocommon/nls/admin/data ... # setenv TNS_ADMIN @TNS_ADMIN@ setenv TNS_ADMIN /var/opt/oracle ... default: if ( ! $?LD_LIBRARY_PATH ) then #setenv LD_LIBRARY_PATH /oracle/805_32/lib setenv LD_LIBRARY_PATH /var/opt/oracle/805_32/lib else #foreach d ( /oracle/805_32/lib ) foreach d ( /var/opt/oracle/805_32/lib ) ... |
<sapsid>adm ホームディレクトリ内の、SAP インスタンスの startsap と stopsap シェルスクリプトの名前を変更して、編集します。
SAP の中央インスタンスをインストールするサーバー上の <sapsid>adm ホームディレクトリには、物理ホスト名を含むシェルスクリプトが含まれています。物理ホスト名を論理ホスト名に置き換えることによって、これらのシェルスクリプト名を変更してください。次の例では、CIloghost が中央インスタンスの論理ホスト名です。
$ mv startsap_physicalhost_00 startsap_CIloghost_00 $ mv stopsap_physicalhost_00 stopsap_CIloghost_00 |
startsap_CIloghost_00 と stopsap_CIloghost_00 シェルスクリプトは START_PROFILE パラメータの物理ホスト名を指定します。両方のファイルで、START_PROFILE パラメータの物理ホスト名を中央インスタンス論理ホスト名に置き換えてください。
... START_PROFILE="START_DVEBMGS00_CIloghost" ... |
SAP 中央インスタンスのプロファイルファイルを編集します。
SAP のインストール中、SAP 中央インスタンスがインストールされるサーバーには、物理ホスト名を使用する 3 つのプロファイルファイルが作成されます。次の手順に従って、すべての物理ホスト名を論理ホスト名に置き換えてください。これらのファイルを編集するには、<sapsid>adm ユーザーになり、profile ディレクトリに移動する必要があります。
START_DVEBMGS00_physicalhost および<SAPSID>_DVEBMGS00_physicalhost プロファイルファイルの名前を変更します。
/sapmnt/<SAPSID>/profile ディレクトリ内の物理ホスト名を論理ホスト名に置き換えてください。次の例では、 <SAPSID> は HA1 です。
$ cdpro; pwd /sapmnt/HA1/profile $ mv START_DVEBMGS00_physicalhost START_DVEBMGS00_CIloghost $ mv HA1_DVEBMGS00_physicalhost HA1_DVEBMGS00_CIloghost |
START_DVEBMGS00_CIloghost プロファイルファイル内のすべての pf= 引数の物理ホスト名を論理ホスト名に置き換えます。
次の例では、<SAPSID> は HA1 です。
... Execute_00 =local $(DIR_EXECUTABLE)/sapmscsa -n ¥ pf=$(DIR_PROFILE)/HA1_DVEBMGS00_CIloghost Start_Program_01 =local $(_MS) pf=$(DIR_PROFILE)/HA1_DVEBMGS00_CIloghost Start_Program_02 =local $(_DW) pf=$(DIR_PROFILE)/HA1_DVEBMGS00_CIloghost Start_Program_03 =local $(_CO) -F pf=$(DIR_PROFILE)/HA1_DVEBMGS00_CIloghost Start_Program_04 =local $(_SE) -F pf=$(DIR_PROFILE)/HA1_DVEBMGS00_CIloghost ... |
<SAPSID>_DVEBMGS00_CIloghost ファイルをテキストエディタで開いて、SAPLOCALHOST パラメータ用の新しいエントリを追加します。
このエントリは、中央インスタンスのプロファイル用のみ追加してください。SAPLOCALHOST パラメータに中央インスタンスの論理ホスト名を設定します。このパラメータにより、外部アプリケーションサーバーは、論理ホスト名を使用して中央インスタンスを探し出すことができます。
... SAPLOCALHOST =CIloghost ... |
DEFAULT.PFL ファイルをテキストエディタで開いて、物理ホスト名を論理ホスト名に置き換えます。
すべての rdisp/パラメータの物理ホスト名を中央インスタンスの論理ホスト名に置き換えてください。SAPDBHOST パラメータには、データベースの論理ホスト名を入力します。中央インスタンスとデータベースが同じ論理ホスト上に存在する場合は、中央インスタンスの論理ホスト名を入力します。データベースが別の論理ホスト上に存在する場合は、そのデータベースの論理ホスト名を使用します。次の例では、CIloghost が中央インスタンスの論理ホスト名、DBloghost がデータベースの論理ホスト名を表します。HA1 は <SAPSID> です。
... SAPDBHOST =DBloghost rdisp/mshost =CIloghost rdisp/sna_gateway =CIloghost rdisp/vbname =CIloghost_HA1_00 rdisp/enqname =CIloghost_HA1_00 rdisp/btcname =CIloghost_HA1_00 ... |
TPPARAM トランスポート構成ファイルを編集します。
トランスポート構成ファイルを含むディレクトリに移動します。
# cd /usr/sap/trans/bin |
データベースの物理ホスト名をデータベースの論理ホスト名に置き換えてください。次の例では、DBloghost がデータベースの論理ホスト名を表します。HA1 は <SAPSID> です。
... HA1/dbhost = DBloghost ... |
(SAP 4.x のみ) SAP トランスポート管理システム (TMS) を当該システムで初期化していない場合、TPPARAM ファイルは存在しません。この場合、TPPARAM ファイルを作成して、次のエントリを追加します。
TMS を初期化した後には、TPPARAM ファイルを編集し直す必要があります。
<SID>/dbhost = DBloghost <SID>/dbconfpath = /var/opt/oracle/network/admin transdir = /usr/sap/trans |
(For SAP 4.0x のみ) TPPARAM ファイル内の /var/opt/oracle にデータベースクライアント構成ファイルの格納場所を設定します。
... HA1/dbconfpath = /var/opt/oracle ... |
SAP データベース用の環境を変更します。
SAP のインストールでは、Sun Cluster の物理ホスト名を使用する Oracle ファイルが作成されます。次の手順に従って、すべての物理ホスト名を論理ホスト名に置き換えてください。
ファイルの編集を開始する前に ora<sapsid> ユーザーになってください。
ora<sapsid> ホームディレクトリ内の .cshrc ファイルを編集します。
SAP の中央インスタンスをインストールしたサーバー上の .cshrc ファイルには、Sun Cluster の物理ホスト名を含む別名が含まれています。.cshrc ファイル内の物理ホスト名をすべて論理ホスト名に置き換えてください。
(For SAP 3.1x のみ) 編集後の .cshrc ファイルは、次の例のようになります。この例の CIloghost が中央インスタンスの論理ホスト、DBloghost がデータベースの論理ホストを表します。中央インスタンスとデータベースが同じ論理ホスト上に存在する場合は、置換部分に中央インスタンスの論理ホスト名を使用します。
# aliases alias startsap "$HOME/startsap_CIloghost_00" alias stopsap "$HOME/stopsap_CIloghost_00" # RDBMS environment if (-e $HOME/.dbenv_DBloghost.csh) then source $HOME/.dbenv_DBloghost.csh else if (-e $HOME/.dbenv.csh) then source $HOME/.dbenv.csh endif |
(For SAP 4.0x のみ) 編集後の .cshrc ファイルは、次の例のようになります。この例の CIloghost が中央インスタンスを含む論理ホスト、DBloghost がデータベースを含む論理ホストです。中央インスタンスとデータベースが同じ論理ホスト上に存在する場合は、すべての置換部分に中央インスタンスの論理ホスト名を使用します。
if ( -e $HOME/.sapenv_CIloghost.csh ) then source $HOME/.sapenv_CIloghost.csh else if ( -e $HOME/.sapenv.csh ) then source $HOME/.sapenv.csh endif # RDBMS environment if ( -e $HOME/.dbenv_DBloghost.csh ) then source $HOME/.dbenv_DBloghost.csh else if ( -e $HOME/.dbenv.csh ) then source $HOME/.dbenv.csh endif |
(SAP 4.0x のみ) .sapenv_physicalhost.csh ファイルの名前を .sapenv_CIloghost.csh に変更します。
次の例では、CIloghost が中央インスタンスの論理ホスト名を表します。
$ mv .sapenv_physicalhost.csh .sapenv_CIloghost.csh |
.dbenv_physicalhost.csh ファイルの名前を変更します。
.dbenv_physicalhost.csh というファイル名の物理ホスト名の部分をデータベースの論理ホスト名に変更してください。中央インスタンスとデータベースが同じ論理ホスト上に存在する場合は、置換部分に中央インスタンスの論理ホスト名を使用します。次の例では、DBloghost がデータベースの論理ホスト名です。
$ mv .dbenv_physicalhost.csh .dbenv_DBloghost.csh |
(SAP 4.x のみ) .dbenv_DBloghost.csh ファイルをテキストエディタで開き、ORA_NLS 環境変数に、/var/opt/oracle 内のデータベースクライアント構成ファイル用の適切なサブディレクトリを示す値を設定します。また、TNS_ADMIN 環境変数に、/var/opt/oracle ディレクトリを示す値を設定します。
.dbenv_DBloghost.csh ファイルは、ora<sapsid> ホームディレクトリに存在します。
#setenv ORA_NLS /oracle/<SAPSID>/ocommon/NLS_723/admin/data setenv ORA_NLS /var/opt/oracle/ocommon/NLS_723/admin/data #setenv ORA_NLS32 /oracle/<SAPSID>/ocommon/NLS_733/admin/data setenv ORA_NLS32 /var/opt/oracle/ocommon/NLS_733/admin/data #setenv ORA_NLS33 /oracle/<SAPSID>/ocommon/NLS_804/admin/data setenv ORA_NLS33 /var/opt/oracle/ocommon/NLS_804/admin/data ... # setenv TNS_ADMIN @TNS_ADMIN@ setenv TNS_ADMIN /var/opt/oracle ... |
(SAP 4.6B のみ) .dbenv_DBloghost.csh ファイルを編集して、ORA_NLS 環境変数に、/var/opt/oracle 内のデータベースクライアント構成ファイル用の適切なサブディレクトリを示す値を設定します。TNS_ADMIN 環境変数に、/var/opt/oracle ディレクトリを示す値を設定します。また、LD_LIBRARY_PATH 環境変数に、/var/opt/oracle ディレクトリを示す値を設定します。
.dbenv_DBloghost.csh ファイルは、ora<sapsid> ホームディレクトリに存在します。
... #setenv ORA_NLS /oracle/D01/ocommon/NLS_723/admin/data #setenv ORA_NLS32 /oracle/D01/ocommon/NLS_733/admin/data #setenv ORA_NLS33 /oracle/D01/ocommon/nls/admin/data setenv ORA_NLS /var/opt/oracle/ocommon/NLS_723/admin/data setenv ORA_NLS32 /var/opt/oracle/ocommon/NLS_733/admin/data setenv ORA_NLS33 /var/opt/oracle/ocommon/nls/admin/data ... # setenv TNS_ADMIN @TNS_ADMIN@ setenv TNS_ADMIN /var/opt/oracle ... |
Oracle リスナー構成ファイルをテキストエディタを開いて、その中の物理ホスト名をデータベースの論理ホスト名に置き換えます。
中央インスタンスとデータベースが同じ論理ホスト上に存在する場合は、置換部分に中央インスタンスの論理ホスト名を使用してください。
Oracle リスナー構成ファイルがすべての潜在的マスターからローカルにアクセスできるようにします。
次の手順を使用してください。
listener.ora および tnsnames.ora ファイル内のすべての物理ホスト名を論理ホスト名に置き換えます。
(SAP 3.1x のみ) listener.ora ファイルは、/etc/listener.ora にあります。tnsnames.ora ファイルは、/usr/sap/trans/tnsnames.ora にあります。
(SAP 4.0x のみ) listener.ora ファイルは、/oracle/<SAPSID>/network/admin/listener.oraにあります。tnsnames.ora ファイルは、/oracle/<SAPSID>/network/admin/tnsnames.ora にあります。
データベースをインストールするノード上の Oracle リスナー構成ファイルを移動します。
(SAP 3.1x のみ) インストール中、listener.ora ファイルは、インストールが行われているノードのローカル/etc ディレクトリに置かれ、/usr/sap/trans にシンボリックリンクが作成されます。この listener.ora ファイルを /var/opt/oracle ディレクトリに移動して、/usr/sap/trans 内のシンボリックリンクがその新しい移動先を示すように再設定してください。また、tnsnames.ora および sqlnet.ora ファイルも/var/opt/oracle ディレクトリに移動してください。
$ su # mv /etc/listener.ora /var/opt/oracle # rm /usr/sap/trans/listener.ora # ln -s /var/opt/oracle/listener.ora /usr/sap/trans # mv /usr/sap/trans/tnsnames.ora /var/opt/oracle # ln -s /var/opt/oracle/tnsnames.ora /usr/sap/trans # mv /usr/sap/trans/sqlnet.ora /var/opt/oracle # ln -s /var/opt/oracle/sqlnet.ora /usr/sap/trans |
(SAP 4.0x のみ) listener.ora ファイルは、$ORACLE_HOME/network/admin の下のデフォルトのディレクトリに置かれます。次の手順に従って、listener.ora ファイルを /var/opt/oracle に移動し、元のディレクトリ内のソフトリンクがその新しい移動先を示すように再設定してください。他のすべての Oracle リスナー構成ファイルも新しい移動先に移動して、シンボリックリンクが新しい場所を示すように再設定してください。
$ su # mv /oracle/<SAPSID>/network/admin/listener.ora /var/opt/oracle # ln -s /var/opt/oracle/listener.ora /oracle/<SAPSID>/network/admin # mv /oracle/<SAPSID>/network/admin/tnsnames.ora /var/opt/oracle # ln -s /var/opt/oracle/tnsnames.ora /oracle/<SAPSID>/network/admin # mv /oracle/<SAPSID>/network/admin/sqlnet.ora /var/opt/oracle # ln -s /var/opt/oracle/sqlnet.ora /oracle/<SAPSID>/network/admin # mv /oracle/<SAPSID>/network/admin/protocol.ora /var/opt/oracle # ln -s /var/opt/oracle/protocol.ora /oracle/<SAPSID>/network/admin |
(SAP 4.0x のみ) Oracle クライアント構成ファイルを同じく /var/opt/oracle ディレクトリにコピーします。
# cd /var/opt/oracle; mkdir rdbms ocommon lib # cd /var/opt/oracle/rdbms; cp -R /oracle/<SAPSID>/rdbms/mesg . # cd /oracle/<SAPSID>/ocommon # tar -cf - NLS* | (cd /var/opt/oracle/ocommon ; tar xf -) # cd /var/opt/oracle/lib; cp /oracle/<SAPSID>/lib/libclntsh.so.1.0 . |
(SAP 4.6B のみ) Oracle クライアント構成ファイルを /var/opt/oracle ディレクトリにコピーし、 805_32 ディレクトリ内のリンクを再作成します。
# cd /var/opt/oracle; mkdir rdbms ocommon lib nls # cd /var/opt/oracle/rdbms; cp -R /oracle/<SAPSID>/rdbms/mesg . # cd /oracle/<SAPSID>/ocommon # tar -cf - NLS* | (cd /var/opt/oracle/ocommon ; tar xf -) # cd /var/opt/oracle/lib; cp /oracle/<SAPSID>/lib/libclntsh.so.1.0 . # cd /oracle # tar -cf - 805_32 | ( cd /var/opt/oracle ; tar xf - ) # cd /var/opt/oracle/805_32/lib # rm libclntsh.so libclntsh.so.1.0 # ln -s ./libclntsh805_32.so libclntsh.so # ln -s ./libclntsh805_32.so libclntsh.so.1.0 # cd /oracle/<SAPSID>/ocommon # tar -cf - nls | (cd /var/oracle/ocommon ; tar xf -) |
中央インスタンスおよびデータベースインスタンスのすべての潜在的マスターに Oracle リスナー構成ファイルを配布します。
当初データベースをインストールしたノードから、中央インスタンスおよびデータベースインスタンスのすべての潜在的マスターに、Oracle 構成ファイルをコピーまたは転送してください。次の例の physicalhost2 は、バックアップ物理ホストの名前です。
$ su # tar cf - /var/opt/oracle | rsh physicalhost2 tar xf - |
構成ファイルに変更を加えた場合は、HA-DBMS の保守の一環として、必ずすべての潜在的マスターノード上の構成ファイルを同期させる必要があります。
すべての潜在的マスター上の /etc/services ファイルを更新して、新しい SAP サービスのエントリを含めます。
/usr/sap/tmp ファイルの内容は、すべてのノード上で同じである必要があります。
すべてのノードに /usr/sap/tmp ディレクトリを作成します。
saposcol プログラムは、このディレクトリに依存します。
インストールした SAP をテストします。
手動で SAP を停止してから、潜在的マスターノード間で手動で論理ホストを切り替え、同じく手動でバックアップノードから SAP を起動することによって、インストールした SAP をテストします。 このテストによって、カーネルパラメータ、サービスポートのエントリ、ファイルシステムとマウントポイント、ユーザーおよびグループアクセス権が、論理ホストのすべての潜在的マスター上で正しく設定されているかどうかを確認します。
中央インスタンスおよびデータベースを起動します。
# su - ora<sapsid> $ lsnrctl start ... # su - <sapsid>adm $ startsap all |
GUI を実行して、SAP が正しく起動することを確認します。
次の例の 3200 は、ディスパッチャーポート番号です。
# su - <sapsid>adm $ setenv DISPLAY your_workstation:0 $ sapgui /H/CIloghost/S/3200 |
SAP がデータベースに接続できることを確認します。
# su - <sapsid>adm $ R3trans -d |
saplicense ユーティリティを実行して、現在のノードの CUSTOMER KEY を取得します。
中央インスタンスの論理ホストのすべての潜在的マスターに対する SAP ライセンスが必要です。
SAP とデータベースを停止します。
# su - <sapsid>adm $ stopsap all ... # su - ora<sapsid> $ lsnrctl stop |
中央インスタンスの論理ホストの潜在的マスターである残りの各ノードについて、中央インスタンスの論理ホストをそのノードに切り替え、手順 1 で説明したテストシーケンスを繰り返します。
# scadmin switch clustername phys-hahost2 CIloghost |
# su - <sapsid>adm $ stopsap all ... # su - ora<sapsid> $ lsnrctl stop |
(SAP 3.1x のみ) init<SAPSID>.ora ファイル内の Oracle の警告ファイルパラメータを調整します。
デフォルトでは、SAP は init<SAPSID>.ora ファイルに含まれている接頭辞の「?/...」を使用して、$ORACLE_HOME からの相対パスを表します。Sun Cluster の障害モニターは、この接頭辞を解析することができないため、警告ファイルへの完全名が必要になります。このため、/oracle/<SAPSID>/dbs/init<SAPSID>.ora ファイルを手動で編集して、次のようにダンプの出力先パラメータを定義する必要があります。
background_dump_dest = /oracle/<SAPSID>/saptrace/background |
データベースを登録して、起動します。
1 つのノードからだけ hareg(1M) コマンドを実行してください。Oracle の場合は次のようになります。
# hareg -s -r oracle -h DBloghost # hareg -y oracle |
データベースインスタンスを設定します。
詳細は、第 5 章「Sun Cluster HA for Oracle のインストールと構成」を参照してください。
Oracle の場合は次のようになります。
# haoracle insert <SAPSID> DBloghost 60 10 120 300 ¥ user/password /oracle/<SAPSID>/dbs/init<SAPSID>.ora LISTENER |
設定したデータベースインスタンスに対する障害監視を開始します。
# haoracle start <SAPSID> |
HA-DBMS のスイッチオーバーのテストをします。
# scadmin switch clustername phys-hahost2 DBloghost |
この節では、Sun Cluster HA for SAP を登録して、構成する方法を説明します。
Sun Cluster HA for SAP をまだインストールしていない場合は、各ノード上で scinstall(1M) を実行し、Sun Cluster HA for SAP データサービスを追加することによって、インストールします。
詳細は、「インストール手順」を参照してください。クラスタがすでに動作している場合は、クラスタを停止してから、データサービスをインストールする必要があります。
まず、Oracle データサービスの登録を解除し、次に示す順番に従って、データサービスを登録し直します。
SAP 中央インスタンスとデータベースインスタンス用に別々の論理ホストを構成する場合、まず、Oracle データサービスの登録を解除し、次に示す順番に従って、データサービスを登録し直す必要があります。データサービスは登録した順番と逆の順番で起動されます。したがって、次の順番でデータサービスを登録すると、クラスタの起動時、各データサービスは正しい順番で起動されます。
# haoracle stop SC2 # hareg -n oracle # hareg -u oracle # hareg -s -r sap -h CIlogicalhost # hareg -s -r nfs -h CIlogicalhost # hareg -s -r oracle -h DBlogicalhost # haoracle start SC2 # hareg -y nfs,oracle |
登録の順番はデータサービスや Sun Cluster によって決定されるわけではありません。したがって、後続のクラスタ再構成時に失われます。つまり、データサービスの登録を解除し、登録し直すたびに、順番を決定し直す必要があります。
クラスタ内のすべてのノードが動作していることを確認します。
hadsconfig(1M) コマンドを使用して、新しい Sun Cluster HA for SAP インスタンスを作成します。
Sun Cluster HA for SAP データサービスのインスタンスの作成、編集、削除には、hadsconfig(1M) コマンドを使用します。構成パラメータについては、「Sun Cluster HA for SAP に対する構成パラメータ (Oracle の SAP)」を参照してください。
このコマンドは、クラスタ内のすべてのノードが動作しているときに、1 つのノード上でだけ実行してください。
# hadsconfig |
Sun Cluster HA for SAP が同じ論理ホスト内の他のデータサービスに依存する場合は、それらデータサービスに対する依存関係を設定します。
「Oracle の SAP にデータサービスの依存関係を設定するには」を参照してください。依存関係を設定した場合は、SAP が依存するすべてのデータサービスを起動してから、次に進んでください。
Sun Cluster HA for SAP の制御下にある SAP を起動する前に、中央インスタンスを停止します。
# su - <sapsid>adm $ stopsap r3 |
Sun Cluster HA for SAP を起動する前に SAP の中央インスタンスが停止している必要があります。
Sun Cluster HA for SAP インスタンスを起動します。
# hareg -y sap |
Sun Cluster HA for SAP のスイッチオーバーをテストします。
# scadmin switch clustername phys-hahost2 CIloghost |
(省略可能) テスト/開発システムにアプリケーションサーバーが存在する場合は、hasap_start_all_instances および hasap_stop_all_instances スクリプトをカスタマイズして、テストします。
詳細は、「アプリケーションサーバーとテスト/開発システムに対する構成オプション」を参照してください。Sun Cluster HA for SAP のスイッチオーバーをテストして、アプリケーションサーバーが起動したり、停止したりすることを確認してください。また、中央インスタンスの論理ホストがテスト/開発システムの物理ホストに切り替わると、テスト/開発システムが停止することを確認してください。
# scadmin switch clustername phys-hahost1 CIloghost |
この節では、Sun Cluster HA for SAP データサービス用の構成ファイルを作成するときに hadsconfig(1M) コマンドに指定する情報について説明します。hadsconfig(1M) コマンドはテンプレートを使用して、構成ファイルを作成します。このテンプレートには、デフォルト値を持つパラメータや値が明示的に指定されたパラメータ、値が指定されていないパラメータが含まれています。 値が指定されていないパラメータに対しては、必ず値を指定する必要があります。
障害検証パラメータは特に、Sun Cluster HA for SAP の性能に影響することがあります。検証間隔値を小さくしすぎると (障害検証の回数の増加により)、システム性能が低下することがあり、その結果として、システムが単に遅くなっただけでも、誤ったテイクオーバーが発生したり、再起動が試みられたりすることがあります。
Sun Cluster HA for SAP のパラメータ LOG_DB_WARNING は、Sun Cluster HA for SAP 検証がデータベースに接続できなかった場合に警告メッセージを表示するかどうかを決定します。LOG_DB_WARNING が y に設定されており、Sun Cluster HA for SAP 検証がデータベースに接続できなかった場合、local0 ファシリティの warning レベルでメッセージが記録されます。デフォルトでは、syslogd(1M) デーモンはこのような警告メッセージを /dev/console または /var/adm/messages に表示しません。このような警告メッセージを表示するには、/etc/syslog.conf ファイルを編集して、local0.warning 優先順位のメッセージを表示するように変更する必要があります。/etc/syslog.conf ファイルを変更した後には、syslogd(1M) を再起動する必要があります。詳細は、syslog.conf(1M) と syslogd(1M) のマニュアルページを参照してください。
hadsconfig(1M) コマンドに表 10-9 で説明しているパラメータを指定することによって、Sun Cluster HA for SAP を構成してください。
表 10-9 Sun Cluster HA for SAP に対する構成パラメータ (Oracle の SAP)
インスタンス名 |
インスタンスの識別子として内部使用される名前タグ。Sun Cluster が生成するログメッセージでは、この名前タグが参照される。hadsconfig(1M) コマンドは、ここで指定された値の前にパッケージ名を付ける。たとえば HA1 を指定すると、SUNWscsap_HA1 が生成される。 |
論理ホスト |
Sun Cluster HA for SAP のこのインスタンスにサービスを提供する論理ホスト名。中央インスタンス用の論理ホスト名を指定する。 |
検証間隔 |
障害検証を行う時間間隔 (秒単位)。デフォルトの間隔は 60 秒。 |
SAP R/3 システム ID |
SAP システム名か <SAPSID> |
中央インスタンス ID |
SAP システム番号かインスタンス ID。たとえば、通常 CI は "00." である。 |
SAP 管理ログイン名 |
SAP の中央インスタンス管理アカウントにログインするときに Sun Cluster HA for SAP が使用する名前。この名前はすべての中央インスタンスとアプリケーションサーバーのホスト上に存在する必要がある。これが、<sapsid>adm である (例: "ha1adm.")。 |
データベース管理ログイン名 |
SAP データベースの管理者のアカウント。たとえば、SAP と Oracle の組み合わせでは ora<sapsid> (例: oraha1)。 |
データベース論理ホスト名 |
SAP が使用するデータベース用の論理ホスト名。構成によっては、中央インスタンス用の論理ホスト名と同じことがある。 |
データベースに関する警告の記録 |
"y" または "n" のいずれかを設定できる。"y" が設定されていて、Sun Cluster HA for SAP 検証機能が、検証サイクル中にデータベースに接続できないことを検出した場合は、データベースを利用できないことを示す警告メッセージが表示される。たとえば、データベースの論理ホストが保守モードになっていたり、データベースがクラスタ内の別のノードに移動されている最中の場合などである。"n" に設定した場合は、データベースが接続できない場合でもメッセージは表示されない。 |
中央インスタンスの起動再試行回数 |
1 以上の整数を指定する。これは、Sun Cluster HA for SAP が中央インスタンスの再起動を試みる回数である。また、この値は、Sun Cluster HA for SAP の障害モニターが猶予モードで検証を行う回数でもある。この回数を経過すると、障害モニターは通常の検証モードに移る。猶予モードでは、検証機能は、中央インスタンスがまだ動作していないことを検出した場合でも、再起動したり、中央インスタンスのフェイルオーバーを開始したりしない。猶予モードでは、障害モニターがすべての検証操作の状態を報告し、すべての検証操作が成功するか、指定された回数、再試行が行われるまで猶予モードを継続する。 |
中央インスタンスの起動再試行間隔 |
Sun Cluster HA for SAP が中央インスタンスの再起動を試みる時間間隔 (秒単位)。またこの値は、猶予モードのときに、検証が試みられる間、Sun Cluster HA for SAP 障害モニターが休眠する時間の長さ (秒単位) でもある。 |
中央インスタンス起動前の全インスタンス停止待ち時間 |
0 以上の整数を指定する。このパラメータは、中央インスタンスを起動する前に hasap_stop_all_instances スクリプトを実行する時間の長さ (秒単位) を示す。0 を設定した場合、hasap_stop_all_instances は、中央インスタンスの起動中にバックグラウンドで実行される。正の整数を設定した場合、hasap_stop_all_instances は、中央インスタンスを起動する前にフォアグラウンドでその長さの時間実行される。 |
フォアグラウンドでの全インスタンスの停止でエラーが返された場合の中央インスタンスの起動許可 |
このフラグには、"y" または "n" を設定する。この値は、hasap_stop_all_instances スクリプトによって終了コードとしてゼロ以外が返された場合、あるいは「中央インスタンス起動前の全インスタンス停止待ち時間」パラメータで指定した時間内に hasap_stop_all_instances スクリプトが終了しなかった場合に中央インスタンスを起動するかどうかを決定する。このフラグに "n" を設定していて、「中央インスタンス起動前の全インスタンス停止待ち時間」の値が 0 より大きく、かつ hasap_stop_all_instances スクリプトがその設定時間内に終了しないか、あるいは hasap_stop_all_instances スクリプトによって終了コードとしてゼロ以外が返された場合、中央インスタンスは起動されず、障害モニターは他の構成パラメータに基づいてそのエラーに対処する。このフラグに"y"を設定した場合は、hasap_stop_all_instances によってエラーコードが返されたかどうか、また hasap_stop_all_instances が設定時間内に終了したかどうかに関係なく、中央インスタンスが起動される。 |
ローカルノード上の中央インスタンス再起動回数 |
0 以上の整数を指定する。この値は、障害検出後にローカルノード上で SAP の中央インスタンスを再起動する回数を示す。この再起動回数に達すると、Sun Cluster HA for SAP はフェイルオーバー要求を発行するか (「中央インスタンスのフェイルオーバーの許可」パラメータで許可されている場合)、障害モニターによって検出された障害に対処しない。 |
再起動回数をリセットするまでの検証成功回数 |
0 以上の整数を指定する。正の整数を指定した場合、その指定回数連続して検証に成功すると、ローカルノード上のそれまでの再起動回数は 0 にリセットされる。たとえば、「ローカルノード上の中央インスタンス再起動回数」パラメータの値が 1 で、このパラメータの値が 60 の場合は、最初の障害が発生した後、検証機能がローカルノード上の中央インスタンスの再起動を試みる。この再起動が成功すると、60 回連続して検証が成功した後、再起動回数は 0 にリセットされ、別の障害を検出した場合に検証機能が新たに再起動を行えるようにする。このパラメータに 0 を指定した場合、再起動回数がリセットされることはなく、このことは、「ローカルノード上の中央インスタンス再起動回数」パラメータに設定された再起動回数が、フェイルオーバーする前にローカルノード上で行われる絶対再起動回数であることを意味する。 |
中央インスタンスのフェイルオーバーの許可 |
"y" または "n" のいずれかを設定できる。このフラグに "y" が設定されている場合は、「ローカルノード上の中央インスタンス再起動回数」の再起動回数に達した後、Sun Cluster HA for SAP が監視対象の SAP インスタンスでエラーを検出すると、そのインスタンスの論理ホストを別のクラスタノードに移動する要求が発行される。このフラグに "n" を設定した場合は、ローカルの再起動がすべて行われた後、エラーが検出されても、Sun Cluster HA for SAP はこの要求を発行しない。この場合、中央インスタンスは障害状態のままになり、検証機能は終了する。 |
hasap_dbms による依存関係の設定が必要になるのは、同じ論理ホスト内のデータサービスの起動および停止順序を指定する場合だけです。異なる複数の論理ホスト上に構成されたデータサービスの依存関係を設定することはできません。
Sun Cluster HA for SAP と同じ論理ホスト上に Sun Cluster HA for Oracle または Sun Cluster HA for NFS を構成している場合は、そのデータサービスに対する Sun Cluster HA for SAP の依存関係を設定してください。このような依存関係は、hasap_dbms コマンドを使用して設定したり、削除したりすることができます。依存関係は、サービスの起動および停止順序に影響します。Sun Cluster HA for Oracle あるいは Sun Cluster HA for NFS は、常に、Sun Cluster HA for SAP を起動する前に起動します。同様に、Sun Cluster HA for SAP は、他のデータサービスを停止する前に停止します。
Sun Cluster HA for SAP と同じ論理ホスト上に Sun Cluster HA for Oracle または Sun Cluster HA for NFS を構成していない場合は、hasap_dbms コマンドを使用しないでください。
データサービスの依存関係を設定するには、後述する hasap_dbms コマンドの 1 つを使用します。
hasap_dbms コマンドは、Sun Cluster HA for SAP が登録されていて、オフ状態のときにだけ使用できます。このコマンドは、1 つのノード (クラスタのメンバーになっているノード) 上でのみ実行してください。詳細は、hasap_dbms(1M) のマニュアルページを参照してください。
CCD に行を追加できない、あるいは CCD を更新できないことを示すことを示すエラーが hasap_dbms(1M) コマンドから返された場合は、その原因として、別のクラスタユーティリティも CCD を更新しようとしていることが考えられます。このエラーが発生した場合は、正しく実行されるまで hasap_dbms(1M) を再実行してください。hasap_dbms(1M) コマンドが正しく実行されたら、hareg -q sap コマンドを実行することによって、更新された CCD に必要な行がすべて含まれていることを確認してください。hareg(1M) コマンドからエラーが返された場合は、まず、hasap_dbms -f コマンドを実行することによって、元のメソッドのタイムアウト値を復元してください。次に、hasap_dbms -r コマンドを実行することによって、デフォルトの依存関係を復元してください。両方のコマンドが正常終了したら、元の hasap_dbms(1M) コマンドを再実行して、新しい依存関係とメソッドのタイムアウト値を設定します。詳細は、hasap_dbms(1M) のマニュアルページを参照してください。
次のコマンドの 1 つを使用して、データサービスの依存関係を設定します。
同じ論理ホスト上で Sun Cluster HA for NFS と Sun Cluster HA for SAP だけを使用している場合は、次のコマンドを使用します。
# /opt/SUNWcluster/ha/sap/hasap_dbms -d nfs |
同じ論理ホスト上で Sun Cluster HA for Oracle と Sun Cluster HA for SAP だけを使用している場合は、次のコマンドを使用します。
# /opt/SUNWcluster/ha/sap/hasap_dbms -d oracle |
同じ論理ホスト上で Sun Cluster HA for Oracle と Sun Cluster HA for NFS、Sun Cluster HA for SAP を使用している場合は、次のコマンドを使用します。
# /opt/SUNWcluster/ha/sap/hasap_dbms -d oracle,nfs |
次のコマンドを使用して、Sun Cluster HA for SAP に設定した依存関係を確認します。
# hareg -q sap -D |
Sun Cluster HA for SAP に対して設定した依存関係は、hasap_dbms -r コマンドを使用して削除できます。このコマンドを実行すると、Sun Cluster HA for SAP に対して設定されているすべての依存関係が削除されます。
hasap_dbms(1M) コマンドは、Sun Cluster HA for SAP が登録されていて、オフ状態のときにだけ使用できます。このコマンドは、1 つのノード (クラスタのメンバーになっているノード) 上でのみ実行してください。詳細は、hasap_dbms(1M) のマニュアルページを参照してください。
CCD に行を追加できない、あるいは CCD を更新できないことを示すことを示すエラーが hasap_dbms(1M) コマンドから返された場合は、その原因として、別のクラスタユーティリティも CCD を更新しようとしていることが考えられます。このエラーが発生した場合は、正しく実行されるまで hasap_dbms(1M) を再実行してください。hasap_dbms(1M) コマンドが正しく実行されたら、hareg -q sap コマンドを実行することによって、更新された CCD に必要な行がすべて含まれていることを確認してください。
hareg(1M) コマンドからエラーが返された場合は、まず、hasap_dbms -f コマンドを実行することによって、元のメソッドのタイムアウト値を復元してください。次に、hasap_dbms -r コマンドを実行することによって、デフォルトの依存関係を復元してください。両方のコマンドが正常終了したら、元の hasap_dbms(1M) コマンドを再実行して、新しい依存関係とメソッドのタイムアウト値を設定します。詳細は、hasap_dbms(1M) のマニュアルページを参照してください。
次のコマンドを使用して、Sun Cluster HA for SAP に対して設定されているすべての依存関係を削除します。
# /opt/SUNWcluster/ha/sap/hasap_dbms -r |
次のコマンドを使用して、Sun Cluster HA for SAP に設定されている依存関係を確認します。
# hareg -q sap -D |
Informix の SAP をインストールおよび構成するには、次の節を参照してください。Informix の SAP をインストールおよび構成するには、「Informix の SAP」を参照してください。
Informix の SAP と Sun Cluster HA for SAP をインストールおよび構成するために行う必要がある主な作業は、表 10-10 に示すとおりです。
表 10-10 Sun Cluster HA for SAP のインストール概要 (Informix の SAP)
作業 |
記載場所 |
---|---|
SAP と Informix 用のクラスタ環境の準備
- Solaris をインストールする - ボリュームマネージャをインストールおよび構成する - ディスクセットまたはディスクグループを作成する groups - ボリュームとファイルシステムを作成する - Sun Cluster とデータサービスをインストールする - パブリックネットワーク監視 (PNM) を設定する - 論理ホストとマウントポイントを設定する - 共有 CCD を構成する (VxVM、2 ノードのみ) - HA-NFS を設定する (必要に応じて) - カーネルパラメータを調整する - Informix へのリンクを作成する - 管理ファイルシステムを作成および変更する - Sun Cluster HA for NFS を構成する - スワップ空間とページング空間を構成する - ユーザーアカウントとグループアカウントを作成する | |
SAP と Informix のインストール - SAP と Informix をインストールする - 必要に応じて、他の構成要素 (アプリケーションサーバーなど) をインストールする - SAP GUI をインストールする - SAP と Informix をシャットダウンする | |
クラスタ環境内での SAP と Informix の動作を可能にする
- Informix 構成ファイルを変更する - SAP 中央インスタンス環境を設定する - SAP データベースユーザー環境を変更する - /etc/services を更新し、/usr/sap/tmp を作成する - インストールした SAP をテストする | |
Sun Cluster HA for Informix の構成: - SAP と Informix をシャットダウンする - HA-Informix を登録および起動する - Informix を HA-Informix の制御下に置く - HA-Informix を起動する - データベースのスイッチオーバーをテストする | |
Sun Cluster HA for SAP の構成: - Sun Cluster HA for SAP を登録する - hadsconfig(1M) で Sun Cluster HA for SAP を構成する - Sun Cluster HA for SAP を起動する - SAP のスイッチオーバーをテストする - アプリケーションサーバーの起動スクリプトと停止スクリプトをカスタマイズする - SAP に対するデータサービスの依存関係を設定する |
「Sun Cluster HA for SAP の構成 (Informix の SAP)」 and 「Informix データサービスの依存関係を設定するには」 |
インストールを開始する前に、次のワークシートを完成してください。
表 10-11 Sun Cluster HA for SAP のインストールワークシート (Informix の SAP)
クラスタ名 |
|
論理ホスト数 |
|
CI 論理ホストの潜在的マスターである全物理ホストの名前と IP アドレス |
|
CI 論理ホストの名前と IP アドレス |
|
SAP システム ID (<SAPSID>) |
|
SAP システム番号 |
|
DB 論理ホストの潜在的マスターである全物理ホストの名前と IP アドレス |
|
DB 論理ホストの名前と IP アドレス (非対称構成の場合は CI 論理ホストと同じ) |
|
NFS 論理ホストの名前 (すべてのアプリケーションサーバーがクラスタの外部に存在する場合は中央インスタンスの論理ホスト名。アプリケーションサーバーがクラスタの内部に存在する場合は外部の NFS クラスタから NFS サービスを提供する論理ホスト名)。「Sun Cluster HA for NFS に関する注意事項」を参照。 |
|
CI 論理ホストのすべての潜在的マスターに対する SAP ライセンス |
|
表 10-10 に示された順番どおりに手順を実行します。
SAP および Informix のインストール手順を開始する前に、次の準備作業を行なっておいてください。
全ノード上での Solaris オペレーティング環境およびその必須パッチをインストールする
第 3 章「Sun Cluster ソフトウェアのインストールと構成」を参照してください。
全ノード上でのボリュームマネージャのソフトウェアおよびその必須パッチをインストールする
第 3 章「Sun Cluster ソフトウェアのインストールと構成」を参照してください。
SAP および Informix をインストールするノード上で、Solstice DiskSuite ディスクセットまたは VxVM ディスクグループを作成する。
SAP 中央インスタンスおよびデータベースインスタンス用にそれぞれ異なるディスクグループを作成することを推奨
SAP および Informix をインストールするノード上で、Sun Cluster ガイドラインに従ってボリュームを作成する
コントローラにまたがるボリュームをミラー化する
VxVM の場合は、ミラーの再同期の高速化のためのダーティリージョンログを使用する
論理ホストのフェイルオーバーの高速化のためにロギングファイルシステムを使用する
下の表をワークシートとして利用して、SAP の中央インスタンスに使用する各ファイルシステムに対応するボリューム名を収集してください。実際の構成によって異なる推奨ファイルシステムサイズについては、SAP のインストールガイドを参照してください。これらのファイルシステムは、データベースに依存しないファイルシステムです。中央インスタンスのファイルシステムはデータベースに依存しません。また、データベースインスタンスのファイルシステムもデータベースに依存しません。データベースインスタンスには raw パーティションを使用してください。
表 10-12 ワークシート: SAP インスタンス用のファイルシステムとボリューム名 (Informix の SAP)
ファイルシステム名 / マウントポイント |
ボリューム名 |
---|---|
/usr/sap/trans |
|
/sapmnt/<SAPSID> |
|
/usr/sap/<SAPSID> |
|
/informix/<SAPSID> |
|
全ノード上でSun Cluster、Sun Cluster HA for SAP、Sun Cluster HA for Informix とそれらの必須パッチのインストール。
第 3 章で説明している手順を使用しますが、そのインストール中、scinstall(1M) を使用して論理ホストの設定を行わないでください。(手順 10 において、scconf(1M) で論理ホストを設定します)。
全ノード上での PNM の構成
手順の詳細は、このマニュアルの 第 3 章「Sun Cluster ソフトウェアのインストールと構成」、および『Sun Cluster 2.2 のシステム管理』のネットワーク管理に関する章を参照してください。
クラスタの起動
1 つのノード上で、次のコマンドを実行します。
# scadmin startcluster physicalhost clustername |
他のすべてのノード上で、次のコマンドを連続して実行します。
# scadmin startnode |
(VxVM のみ) 全ディスクグループがデポートされていることの確認
(Solstice DiskSuite のみ) すべてのディスクセットの所有権の解除
SAP をインストールする上で scconf(1M) による論理ホストの作成。
論理ホスト数は、実際の構成によって異なります。SAP と Informix 用に 2 つのディスクグループを設定する必要があります。両方のディスクグループを 1 つの論理ホストに作成することも可能です。また、構成内に 2 つの論理ホストが存在する場合は、各ディスクグループを別の論理ホストに作成することも可能です。詳細は、第 3 章「Sun Cluster ソフトウェアのインストールと構成」を参照してください。
SAP とデータベースの論理ホストを別々に作成する場合、最初に SAP の論理ホストを作成し、次にデータベースの論理ホストを作成する必要があります。論理ホストを作成する順番はクラスタ再構成中に論理ホストが起動される順番の逆です。この場合、データベースの論理ホストは最初に起動されるので、作成するのは後です。
次の情報が必要です。
論理ホスト名
論理ホストの潜在的マスターである物理ホスト名
論理ホストの潜在的マスター用の主パブリックネットワークコントローラ名
ディスクグループ名
論理ホストを作成するときは、scconf(1M) に -m オプションを使用して、自動フェイルバック機能を無効にしてください。
(VxVM を使用した、2 ノードの構成のみ) 共有 CCD の構成
付録 C 「VERITAS Volume Manager の構成」 を参照してください。
中央インスタンスおよびデータベースインスタンスボリューム用のマウントポイントの作成と、各論理ホストの全潜在的マスター上の vfstab.logicalhost ファイルへのその情報の入力。
vfstab.logicalhost ファイルは、/etc/opt/SUNWcluster/conf/hanfs にあります。
下の表は、中央インタンスとデータベースインスタンスに関連付けられたディスクグループ (VxVM の場合) またはディスクセット (Solstice DiskSuite) 用として推奨するファイルシステムとマウントポイントをまとめています。論理ホストが1つの構成であっても、中央インスタンスとデータベースインスタンスのファイルシステムをそれぞれ異なるディスクグループまたはディスクセットに作成することによって、将来的に構成上の柔軟性が増すことがあります。
表 10-13 SAP 中央インスタンスとデータベースインスタンスのディスクグループ/ディスクセットとマウントポイント (Informix を使用する SAP の場合)
ディスクグループ/ディスクセット |
マウントポイント |
---|---|
中央インスタンス |
/usr/sap/<SAPSID> |
中央インスタンス |
/usr/sap/trans |
中央インスタンス |
/sapmnt/<SAPSID> |
データベースインスタンス |
/informix/<SAPSID> |
すべてのノード上で、Informix 用のディレクトリを作成します。
# mkdir /informix # mkdir -p /var/opt/informix # cd /var/opt/ # chown informix:informix informix |
SAP と Informix をインストールするノード上で、Informix データディレクトリを作成し、ソフトリンクを設定します。
詳細は、SAP のインストールマニュアルを参照してください。たとえば、次のようになります。
# mkdir /informix/<SAPSID>/sapdata # mkdir /informix/<SAPSID>/sapdata/physdev<n> ... # ln -s /dev/vx/rdsk/dbdg/vol01 /informix/<SAPSID>/sapdata/physdev1/data1 # ln -s /dev/vx/rdsk/dbdg/vol02 /informix/<SAPSID>/sapdata/physdev1/data2 # ln -s /dev/vx/rdsk/dbdg/vol03 /informix/<SAPSID>/sapdata/physdev1/data3 # ln -s /dev/vx/rdsk/dbdg/vol04 /informix/<SAPSID>/sapdata/physdev1/data4 # ln -s /dev/vx/rdsk/dbdg/vol05 /informix/<SAPSID>/sapdata/physdev2/data5 # ln -s /dev/vx/rdsk/dbdg/vol06 /informix/<SAPSID>/sapdata/physdev2/data6 # ln -s /dev/vx/rdsk/dbdg/vol07 /informix/<SAPSID>/sapdata/physdev2/data7 # ln -s /dev/vx/rdsk/dbdg/vol08 /informix/<SAPSID>/sapdata/physdev2/data8 # ln -s /dev/vx/rdsk/dbdg/vol09 /informix/<SAPSID>/sapdata/physdev3/data9 # ln -s /dev/vx/rdsk/dbdg/vol10 /informix/<SAPSID>/sapdata/physdev3/data10 # ln -s /dev/vx/rdsk/dbdg/vol11 /informix/<SAPSID>/sapdata/physdev3/data11 # ln -s /dev/vx/rdsk/dbdg/vol12 /informix/<SAPSID>/sapdata/physdev3/data12 |
すべてのノード上で、/var/opt/informix から共有ディスク上の適切なディレクトリにリンクを作成します。
たとえば、次のようになります。
# ln -s /informix/<SAPSID>/sapdata /var/opt/informix/sapdata # ln -s /informix/<SAPSID>/sapreorg /var/opt/informix/sapreorg |
すべてのノード上で、scconf(1M) で論理ホスト管理ファイルシステムを作成します。
詳細な手順については、付録 B 「Solstice DiskSuite の構成」 と付録 C 「VERITAS Volume Manager の構成」 を参照してください。
SAP アプリケーションサーバーがクラスタ外部で構成される場合、Sun Cluster HA for NFS を構成し、各論理ホストのすべての潜在的マスター上にある dfstab.logicalhost ファイルに適切な共有ファイルシステムを入力します。
このようなファイルは /etc/opt/SUNWcluster/conf/hanfs に存在します。詳細は、「アプリケーションサーバーとテスト/開発システムに対する構成オプション」を参照してください。
次のファイルシステムは、クラスタ外部にある SAP アプリケーションサーバーと共有します。これは一般的なガイドラインです。詳細は、SAP マニュアルを参照してください。
表 10-14 外部アプリケーションサーバーと共有するファイルシステム (Informix の SAP)
外部アプリケーションサーバーと共有するファイルシステム |
/usr/sap/trans |
/sapmnt/<SAPSID>/exe |
/sapmnt/<SAPSID>/profile |
/sapmnt/<SAPSID>/global |
論理ホストの機能性とマウントポイントをテストします。つまり、すべての潜在的マスター間で論理ホストを切り替えます。
これによって、すべてのマウントポイントが正しく作成されていることを確認できます。
論理ホストのすべての潜在的マスター上で、/etc/system ファイル内のカーネルパラメータを調整します。
SAP のマニュアル『R/3 Installation on UNIX: OS Dependencies』で示されているガイドラインに従ってください。
中央インスタンスとデータベースインスタンスがお互いに (あるいは、他のインスタンスとともに) 共存する構成では、必ず、カーネルパラメータを状況に応じて調整してください。
論理ホストのすべての潜在的マスター上で、常時スワップ空間を作成します。
スワップ空間の大きさのガイドラインについては、SAP のマニュアル『Installation Requirements Checklist』を参照してください。
すべてのノード上で、ページング空間の大きさを調べます。
SAP 付属の memlimits ユーティリティを使用すると、アドレス空間を調べることができます。このユーティリティについての詳細は、SAP のマニュアル『R/3 Installation on UNIX: OS Dependencies』で示されているガイドラインを参照してください。一般的な規則として、スワップ空間は少なくとも 1 つのノードが持つメモリーの 3 倍は必要です。詳細は、SAP のインストールマニュアルを参照してください。
クラスタを停止し、すべてのノードを再起動します。
すべてのノード上で、システム資源を確認します。
詳細は、SAP のインストールマニュアルを参照してください。
# ulimit -a... time(seconds) unlimited file(blocks) unlimited data(kbytes) 2097148 stack(kbytes) 8192 coredump(blocks) unlimited nofiles(descriptors) 64 memory(kbytes) unlimited |
論理ホストのすべての潜在的マスター上で、SAP と Informix のグループ、ユーザー、パスワード、およびホームディレクトリを作成します。
ユーザーのホームディレクトリを作成します。
# mkdir /export/home/<sapsid>adm # mkdir /export/home/sapr3 # mkdir /export/home/informix |
以下のユーザーとグループを追加します。 詳細は、SAP のマニュアル『R/3 Installation on UNIX: OS Dependencies』で示されているガイドラインを参照してください。ユーザー ID およびグループ ID はすべてのノードで同一である必要があります。
# groupadd -g 10000 sapsys # groupadd -g 10002 informix # groupadd -g 10004 super_archive # groupadd -g 10006 super_ # groupadd -g 10008 bargroup (for SAP4.5B only) # useradd -g sapsys -G super_archive,super_,root,informix,bargroup -s ¥ /usr/bin/csh -d /export/home/<sapsid>adm -u 2001 <sapsid>adm # useradd -g sapsys -G super_archive,super_,root,informix -s /usr/bin/csh -d ¥ /export/home/sapr3 -u 2002 sapr3 # useradd -g informix -G super_archive,super_,root,sapsys -s /usr/bin/csh -d ¥ /export/home/informix -u 2004 informix |
ユーザーのパスワードを作成します。
# passwd sapr3 # passwd informix # passwd <sapsid>adm |
これで、SAP と Informix 用のクラスタ環境の準備は完了しました。次は、「Informix の SAP をインストールするには」に進んでください。
「SAP とデータベース (Informix の SAP) 用にクラスタ環境を準備するには」に示したすべての準備作業を完了していることを確認します。
すべてのノードがクラスタ内で動作していることを確認します。
インストールする SAP とデータベースが存在するノードに全論理ホストをスイッチオーバーします。
# scadmin switch clustername phys-hahost1 CIlogicalhost DBlogicalhost ... |
SAP インストールディレクトリを作成し、SAP、データベース、他の構成要素 (アプリケーションサーバーなど)、および SAP フロントエンド GUI をインストールします。
インストール時には、SAP マニュアルを使用してください。詳細は、SAP のマニュアル『R/3 Installation on UNIX: OS Dependencies』で示されているガイドラインを参照してください。
これで、SAP と Informix 用のインストールは完了しました。次は、「Informix クラスタ環境内で SAP が動作できるようにするには」に進んでください。
SAP 中央インスタンスとデータベースをシャットダウンします。
# su - <sapsid>adm $ stopsap |
root になり、Informix ファイルを共有ディスクからすべてのノードにコピーします。
SAP と Informix をインストールしたノード上で、/.rhosts ファイルを作成または編集して、すべてのノードからアクセスできるように設定します。
共有ディスク上にある Informix ディレクトリに移動します。
# cd /informix/<SAPSID> |
tar(1M) を使用して、Informix ディレクトリを保管し、SAP と Informix をインストールしたノード (たとえば、phys-hahost1) 上にあるローカルの Informix ディレクトリにコピーします。
ディレクトリ内にあるサブディレクトリとファイルは SAP のバージョンによって異なります。データディレクトリ (sapdata と sapreorg) 以外のすべてのサブディレクトリとファイルをコピーしてください。たとえば、次のようにします。
# tar cf - aaodir bin console.phys-hahost1.<SAPSID>.log dbssodir ¥ forms gls incl help installconn installserver ism IVODBC.LIC lib locale ¥ messages release snmp | ( cd /var/opt/informix ; tar xf -) |
中央インスタンスとデータベースインスタンスのすべての潜在的マスターに Informix ファイルを配布します。
最初にデータベースがインストールされていたノードから、中央インスタンスとデータベースインスタンスのすべての潜在的マスター上にあるローカルディレクトリ /var/opt/informix に、Informix ファイルをコピーまたは転送します。
$ su # tar cfB - /var/opt/informix | rsh phys-hahost1 tar xfB - |
すべてのノード上で、Informix 構成ファイルを変更します。
ユーザー informix としてログインして、以降の作業を実行します。
次の手順を開始する前に、すべてのファイルのバックアップコピーを作成してください。
Informix で使用できるように、sqlhosts.tli ファイルの名前を sqlhosts に変更します。
# mv /var/opt/informix/etc/sqlhosts.tli /var/opt/informix/etc/sqlhosts |
sqlhosts ファイルを編集して、すべての物理ホスト名をデータベースインスタンスの論理ホスト名に置き換えます。
たとえば、次のようにします。
CIlogicalhost<sapsid>shm onipcshm DBlogicalhost sapinf<SAPSID> CIlogicalhost<sapsid>tcp ontlitcp DBlogicalhost sapinf<SAPSID> |
/export/home/informix/.rhosts ファイルを編集して、ユーザー informix がすべてのノードからデータベースにアクセスできるように変更します。
次のようなエントリを作成します。エントリはホストごとに 1 つです。
phys-hahost1 informix phys-hahost2 informix CIlogicalhost informix DBlogicalhost informix |
Informix の onconfig ファイルの名前を変更します。つまり、物理ホスト名をデータベースインスタンスの論理ホスト名に置き換えます。
/var/opt/informix/etc/onconfig.physicalhost.<sapsid> から /var/opt/informix/etc/onconfig.CIlogicalhost.<sapsid> に変更します。
onconfig ファイルを Informix 用に変更します。
ファイル /var/opt/informix/onconfig.CIlogicalhost.<sapsid> を編集して、すべての Informix パスが、共有ディスクセットではなく、/var/opt/informix を指すように変更します。変更するのは、次のパラメータです。
ROOTPATH
MIRRORPATH
MSGPATH
CONSOLE
ALARMPROGRAM
DRLOSTFOUND
SYSALARMPROGRAM
結果のエントリは、次のようになります。
# original entry # ROOTPATH /informix/<SAPSID>/sapdata/physdev1/data1 # new entry ROOTPATH /var/opt/informix/sapdata/physdev1/data1 |
さらに、データベースサーバーフィールド内の物理ホスト名を論理ホスト名に置き換えます。たとえば、次のようになります。
DBSERVERNAME CIlogicalhost<sapsid>tcp DBSERVERALIASES CIlogicalhost<sapsid>shm |
/var/opt/informix/inftab ファイルを作成します。
このファイルの形式は $ONCONFIG:$INFORMIXDIR です。たとえば、次のようになります。
onconfig.CIlogicalhost.<sapsid>:/var/opt/informix |
SAP と Informix をインストールしたノード (この場合、phys-hahost1) ではなく、すべてのノード上にあるローカルの Informix ディレクトリに Informix ディレクトリをコピーします。
# rsh phys-hahost1 tar cfB - /var/opt/informix | tar xfB - |
すべてのノード上で、SAP データベースユーザー (ユーザー informix) の管理環境を設定します。
すべてのノード上で、.dbenv_physicalhost.csh ファイルの名前を .dbenv.csh に変更します。
$ mv .dbenv_physicalhost.csh .dbenv.csh |
すべてのノード上で、.dbenv.csh ファイルを次のように編集します。
.dbenv.csh ファイルを編集して、$INFORMIXDIR が /var/opt/informix を指すように変更し、さらに、ONCONFIG 値を onconfig.CIlogicalhost.<sapsid> に変更します。
また、.dbenv.csh ファイルを編集して、$INFORMIXSERVER 用に TCP を使用することと、ping(1M) でデータベース論理ホストの状態を検査することを指定します。これは、スイッチオーバーまたはフェイルオーバー時における $INFORMIXSERVER パラメータの動的な再設定を有効にするために必要です。
非対称構成では、TCP の使用とループバックは性能を落とす可能性があります。このような場合、$INFORMIXSERVER が共有メモリーを使用するように設定してもかまいません。
結果のファイルは次のようになります。変更されたフィールドはボールド書体で表します。
... setenv INFORMIXDIR /var/opt/informix setenv ONCONFIG onconfig.CIlogicalhost.<sapsid> ... case Sun*: setenv INFORMIXSHMBASE 0x01000000 setenv LC_CTYPE iso_8859_1 setenv INFORMIXSQLHOSTS $INFORMIXDIR/etc/sqlhosts # use TCP for connection prototype always because connection # cannot be reset dynamically between shared memory and TCP in # the Sun Cluster environment. setenv INFORMIXSERVER `grep 'CIlogicalhost<sapsid>.*ontlitcp' $INFORMIXSQLHOSTS | awk '{print $1}'` /usr/sbin/ping DBlogicalhost >& /dev/null if ( $status != 0 ) then echo dbserver DBlogicalhost is not alive. endif |
すべてのノード上で、.sapenv_physicalhost.csh ファイルの名前を .sapenv.csh に変更します。そして、.sapenv.csh ファイルを編集して、すべての物理ホスト名を論理ホスト名に置き換えます。
まず、ファイルの名前を変更します。
$ mv .sapenv_physicalhost.csh .sapenv.csh |
次に、.sapenv.csh ファイルを編集して、別名 startsap と stopsap が中央インスタンスの論理ホストを指すように「set hostname=」フィールドを変更します。
... set hostname='CIlogicalhost' ... |
SAP 構成ファイルを変更します。
アプリケーションサーバーを除くすべてのノード上で、以降の作業を行います。以降の作業を行うには、ユーザー <sapsid>adm としてログインする必要があります。
<sapsid>adm ホームディレクトリ内の、SAP インスタンスの startsap と stopsap シェルスクリプトの名前を変更して、編集します。
SAP の中央インスタンスをインストールするサーバー上の <sapsid>adm ホームディレクトリには、物理ホスト名を含むシェルスクリプトが含まれています。物理ホスト名を論理ホスト名に置き換えることによって、これらのシェルスクリプト名を変更してください。次の例では、CIlogicalhost が中央インスタンスの論理ホスト名です。
$ mv startsap_physicalhost_00 startsap_CIlogicalhost_00 $ mv stopsap_physicalhost_00 stopsap_CIlogicalhost_00 |
startsap_CIlogicalhost_00 と stopsap_CIlogicalhost_00 シェルスクリプトは START_PROFILE パラメータの物理ホスト名を指定します。両方のファイルで、START_PROFILE パラメータの物理ホスト名を中央インスタンス論理ホスト名に置き換えてください。
... START_PROFILE="START_DVEBMGS00_CIlogicalhost" ... |
SAP 中央インスタンスのプロファイルファイルを編集します。
インストール中に作成された 3 つのプロファイルファイルにおいて、すべての物理ホスト名を論理ホスト名に置き換えます。この作業を行うには、ユーザー <sapsid>adm としてログインし、profile ディレクトリに移動する必要があります。
START_DVEBMGS00_physicalhost および <SAPSID>_DVEBMGS00_physicalhost プロファイルファイルの名前を変更します。
$ cd /sapmnt/<SAPSID>/profile $ mv START_DVEBMGS00_physicalhost START_DVEBMGS00_CIlogicalhost $ mv <SAPSID>_DVEBMGS00_physicalhost <SID>_DVEBMGS00_CIlogicalhost |
START_DVEBMGS00_CIloghost プロファイルファイル内のすべての pf= 引数の物理ホスト名を論理ホスト名に置き換えます。
Execute_00 =local $(DIR_EXECUTABLE)/sapmscsa -n ¥ pf=$(DIR_PROFILE)/<SAPSID>_DVEBMGS00_CIlogicalhost Start_Program_01 =local $(_MS) pf=$(DIR_PROFILE)/<SAPSID>_DVEBMGS00_CIlogicalhost Start_Program_02 =local $(_DW) pf=$(DIR_PROFILE)/<SAPSID>_DVEBMGS00_CIlogicalhost Start_Program_03 =local $(_CO) -F pf=$(DIR_PROFILE)/ <SAPSID>_DVEBMGS00_CIlogicalhost Start_Program_04 =local $(_SE) -F pf=$(DIR_PROFILE)/ <SAPSID>_DVEBMGS00_CIlogicalhost ... |
<SAPSID>_DVEBMGS00_CIloghost ファイルをテキストエディタで開いて、SAPLOCALHOST パラメータ用の新しいエントリを追加します。
このエントリは、中央インスタンスのプロファイル用のみ追加してください。SAPLOCALHOST パラメータに中央インスタンスの論理ホスト名を設定します。このパラメータにより、外部アプリケーションサーバーは、論理ホスト名を使用して中央インスタンスを探し出すことができます。
... SAPLOCALHOST =CIlogicalhost ... |
DEFAULT.PFL ファイルをテキストエディタで開いて、物理ホスト名を論理ホスト名に置き換えます。
すべての rdisp/パラメータの物理ホスト名を中央インスタンスの論理ホスト名に置き換えてください。SAPDBHOST パラメータには、データベースの論理ホスト名を入力します。中央インスタンスとデータベースが同じ論理ホスト上に存在する場合は、中央インスタンスの論理ホスト名を入力します。データベースが別の論理ホスト上に存在する場合は、そのデータベースの論理ホスト名を使用します。次の例では、CIlogicalhost が中央インスタンスの論理ホスト名、DBlogicalhost がデータベースの論理ホスト名を表します。HA1 は <SAPSID> です。
$ vi /sapmnt/<SAPSID>/profile/DEFAULT.PFL ... SAPDBHOST =DBlogicalhost rdisp/mshost =CIlogicalhost rdisp/sna_gateway =CIlogicalhost rdisp/vbname =CIlogicalhost_<SAPSID>_00 rdisp/enqname =CIlogicalhost_<SAPSID>_00 rdisp/btcname =CIlogicalhost_<SAPSID>_00 ... |
.dbenv_physicalhost.csh ファイルの名前を .dbenv.csh に変更します。
$ mv .dbenv_physicalhost.csh .dbenv.csh |
.sapenv_physicalhost.csh ファイルの名前を .sapenv.csh に変更します。
$ mv .sapenv_physicalhost.csh .sapenv.csh |
.sapenv.csh ファイルを編集して、別名 startsap と stopsap が中央インスタンスの論理ホストを指すように「set hostname=」フィールドを変更します。
... set hostname='CIlogicalhost' ... |
.dbenv.csh ファイルを編集して、$INFORMIXSERVER 用に TCP を使用することと、ping(1M) でデータベース論理ホストの状態を検査することを指定します。
これは、スイッチオーバーまたはフェイルオーバー時における $INFORMIXSERVER パラメータの動的な再設定を有効にするために必要です。
非対称構成では、TCP の使用とループバックは性能を落とす可能性があります。このような場合、$INFORMIXSERVER が共有メモリーを使用するように設定してもかまいません。
.dbenv.csh ファイルを編集して、$INFORMIXDIR が共有ディスクを指すように、さらに、$INFORMIXSERVER が TCP と ping(1M) を使用するように変更します。結果のファイルは次のようになります。変更されたフィールドはボールド書体で表します。
... setenv INFORMIXDIR /var/opt/informix setenv ONCONFIG onconfig.CIlogicalhost.<sapsid> ... case Sun*: setenv INFORMIXSHMBASE 0x01000000 setenv LC_CTYPE iso_8859_1 setenv INFORMIXSQLHOSTS $INFORMIXDIR/etc/sqlhosts # use TCP for connection prototype always because connection # cannot be reset dynamically between shared memory and TCP in # the Sun Cluster environment. setenv INFORMIXSERVER `grep 'CIlogicalhost<sapsid>.*ontlitcp' $INFORMIXSQLHOSTS | awk '{print $1}'` /usr/sbin/ping DBlogicalhost >& /dev/null if ( $status != 0 ) then echo dbserver DBlogicalhost is not alive. endif |
/export/home/<sapsid>adm/.rhosts ファイルを編集して、ユーザー <sapsid>adm がすべてのノードからデータベースにアクセスできるように変更します。
次のようなエントリを作成します。エントリはクラスタ内にある物理ホストと論理ホストごとに 1 つです。
phys-hahost1 <sapsid>adm phys-hahost2 <sapsid>adm CIlogicalhost <sapsid>adm DBlogicalhost <sapsid>adm |
すべてのノード上で、/usr/sap/tmp ディレクトリを作成します。
このディレクトリは saposcol プログラムが使用します。
SAP と Informix がインストールされているノードから、他のすべてのノード上にある /etc/services ファイルに、SAP 固有な /etc/services エントリをコピーします。
このようなエントリは /etc/services ファイルからコピーします。
sapms<SID> 3601/tcp sapdp00 3200/tcp sapdp00s 4700/tcp sapgw00 3300/tcp sapgw00s 4800/tcp |
インストールした SAP をテストします。
手動で SAP を停止してから、潜在的マスターノード間で手動で論理ホストを切り替え、同じく手動でバックアップノードから SAP を起動することによって、インストールした SAP をテストします。 このテストによって、カーネルパラメータ、サービスポートのエントリ、ファイルシステムとマウントポイント、ユーザーおよびグループアクセス権が、論理ホストのすべての潜在的マスター上で正しく設定されているかどうかを確認します。
ユーザー <sapsid>adm として、中央インスタンスおよびデータベースを起動します。
# startsap |
GUI を実行して、SAP が正しく起動することを確認します。
# su - <sapsid>adm $ setenv DISPLAY workstation:0 $ sapwin phys-hahost1 instancenumber |
SAP がデータベースに接続できることを確認します。
# su - <sapsid>adm $ R3trans -d |
saplicense ユーティリティを実行して、現在のノードの CUSTOMER KEY を取得します。
中央インスタンスの論理ホストのすべての潜在的マスターに対する SAP ライセンスが必要です。
SAP とデータベースを停止します。
# su - <sapsid>adm $ stopsap |
アプリケーションサーバーを除くすべてのノード上で、Informix ライブラリファイルへのリンクを設定します。
次のコマンドを実行するには、root になる必要があります。
# unlink iosm07a.so # unlink ipldd07a.so # unlink ismdd07b.so # ln -s /var/opt/informix/lib/iosm07a.so /usr/lib/iosm07a # ln -s /var/opt/informix/lib/ipldd07a.so /usr/lib/ipldd07a.so # ln -s /var/opt/informix/lib/ismdd07b.so /usr/lib/ismdd07b.so |
中央インスタンスの論理ホストの潜在的マスターである残りの各ノードについて、中央インスタンスの論理ホストをそのノードに切り替え、手順 9 で説明したテストシーケンスを繰り返します。
# scadmin switch clustername phys-hahost2 CIlogicalhost |
次は、「SunCluster HA for Informix を構成するには」に進んでください。
すべてのノード上で、Informix データベースを起動し、動作していることを確認します。
# oninit ... # dbaccess |
1 つのノードから、root として、Sun Cluster HA for Informix を登録します。
# hareg -s -r informix [-h DBlogicalhost] |
1 つのノードから、Sun Cluster HA for Informix を起動します。
# hareg -y informix |
1 つのノードから、Informix を Sun Cluster HA for Informix の制御下に置きます。
詳細は、hainformix(1M) のマニュアルページを参照してください。
# hainformix insert onconfig.CIlogicalhost.<sapsid> DBlogicalhost ¥60 10 120 300 sysmaster CIlogicalhost<sapsid>tcp |
1 つのノードから、Sun Cluster HA for Informix のサービスを開始します。
# hainformix start onconfig.CIlogicalhost.<sapsid> |
データベースが Sun Cluster HA for Informix の制御下で適切に動作していることを確認します。
データベースのスイッチオーバーを実行して、oninit プロセスが古いマスター上で停止し、新しいマスター上で再起動することを確認します。データベースはすべての潜在的マスターからアクセスできる必要があります。
次は、「Sun Cluster HA for SAP の構成 (Informix の SAP)」に進んでください。
hareg(1M) コマンドを実行して、SAP と Informix のデータサービスを登録します。
SAP 中央インスタンスとデータベースインスタンス用に別々の論理ホストを構成する場合、まず、Oracle データサービスの登録を解除し、次に示す順番に従って、データサービスを登録し直す必要があります。データサービスは登録した順番と逆の順番で起動されます。したがって、次の順番でデータサービスを登録すると、クラスタの起動時、各データサービスは正しい順番で起動されます。
# hareg -n informix # hareg -u informix # hareg -s -r sap -h CIlogicalhost # hareg -s -r nfs -h CIlogicalhost # hareg -s -r informix -h DBlogicalhost # hareg -y nfs,informix |
登録の順番はデータサービスや Sun Cluster によって決定されるわけではありません。したがって、後続のクラスタ再構成時に失われます。つまり、データサービスの登録を解除し、登録し直すたびに、順番を決定し直す必要があります。
クラスタ内のすべてのノードが動作していることを確認します。
hadsconfig(1M) コマンドを使用して、新しい Sun Cluster HA for SAP インスタンスを作成します。
Sun Cluster HA for SAP データサービスのインスタンスの作成、編集、削除には、hadsconfig(1M) コマンドを使用します。構成パラメータについては、「Sun Cluster HA for SAP に対する構成パラメータ (Informix の SAP)」を参照してください。
このコマンドは、クラスタ内のすべてのノードが動作しているときに、1 つのノード上でだけ実行してください。
# hadsconfig |
Sun Cluster HA for SAP の制御下にある SAP を起動する前に、中央インスタンスを停止します。
# su - <sapsid>adm $ stopsap r3 |
Sun Cluster HA for SAP を起動する前に SAP の中央インスタンスが停止している必要があります。
Sun Cluster HA for SAP インスタンスを起動します。
# hareg -y sap |
Sun Cluster HA for SAP のスイッチオーバーをテストします。
For example:
# scadmin switch clustername phys-hahost2 CIlogicalhost |
(省略可能) テスト/開発システムにアプリケーションサーバーが存在する場合は、hasap_start_all_instances および hasap_stop_all_instances スクリプトをカスタマイズして、テストします。
詳細は、「Sun Cluster HA for SAP の構成上のガイドライン」を参照してください。Sun Cluster HA for SAP のスイッチオーバーをテストして、アプリケーションサーバーが起動したり、停止したりすることを確認してください。また、中央インスタンスの論理ホストがテスト/開発システムの物理ホストに切り替わると、テスト/開発システムが停止することを確認してください。
# scadmin switch clustername phys-hahost1 CIlogicalhost |
論理ホスト内でデータサービスの起動と停止の順番を指定したい場合、次は、「Oracle の SAP に対するデータサービスの依存関係の設定」を参照してください。Sun Cluster HA for SAP のスイッチオーバーに進んでください。
この節では、Sun Cluster HA for SAP データサービス用の構成ファイルを作成するときに hadsconfig(1M) コマンドに指定する情報について説明します。hadsconfig(1M) コマンドはテンプレートを使用して、構成ファイルを作成します。このテンプレートには、デフォルト値を持つパラメータや値が明示的に指定されたパラメータ、値が指定されていないパラメータが含まれています。 値が指定されていないパラメータに対しては、必ず値を指定する必要があります。
障害検証パラメータは特に、Sun Cluster HA for SAP の性能に影響することがあります。検証間隔値を小さくしすぎると (障害検証の回数の増加により)、システム性能が低下することがあり、その結果として、システムが単に遅くなっただけでも、誤ったテイクオーバーが発生したり、再起動が試みられたりすることがあります。
hadsconfig(1M) コマンドに下の表で説明しているパラメータを指定することによって、Sun Cluster HA for SAP を構成してください。
表 10-15 Sun Cluster HA for SAP に対する構成パラメータ (Informix の SAP)
インスタンス名 |
インスタンスの識別子として内部使用される名前タグ。Sun Cluster が生成するログメッセージでは、この名前タグが参照される。hadsconfig(1M) コマンドは、ここで指定された値の前にパッケージ名を付ける。この名前タグには <SAPSID> を使用できます。たとえば HA1 を指定すると、SUNWscsap_HA1 が生成される。 |
論理ホスト |
Sun Cluster HA for SAP のこのインスタンスにサービスを提供する論理ホスト名。中央インスタンス用の論理ホスト名を指定する。 |
検証間隔 |
障害検証を行う時間間隔 (秒単位)。デフォルトの間隔は 60 秒。 |
SAP ID |
SAP システム名か <SAPSID> |
中央インスタンス ID |
SAP システム番号か中央インスタンス ID。デフォルトは "00." である。 |
SAP 管理ログイン名 |
SAP の中央インスタンス管理アカウントにログインするときに Sun Cluster HA for SAP が使用する名前。この名前はすべての中央インスタンスとアプリケーションサーバーのホスト上に存在する必要がある。これが、<sapsid>adm である (例: "ha1adm.")。 |
データベース管理ログイン名 |
SAP データベースの管理者のアカウント。たとえば、SAP と Informix の組み合わせでは Informix。 |
データベース論理ホスト名 |
SAP が使用するデータベース用の論理ホスト名。構成によっては、中央インスタンス用の論理ホスト名と同じことがある。 |
データベースに関する警告の記録 |
"y" または "n" のいずれかを設定できる。"y" が設定されていて、Sun Cluster HA for SAP 検証機能が、検証サイクル中にデータベースに接続できないことを検出した場合は、データベースを利用できないことを示す警告メッセージが表示される。たとえば、データベースの論理ホストが保守モードになっていたり、データベースがクラスタ内の別のノードに移動されている最中の場合などである。"n" に設定した場合は、データベースが接続できない場合でもメッセージは表示されない。 |
中央インスタンスの起動再試行回数 |
1 以上の整数を指定する。デフォルト値は 10。これは、Sun Cluster HA for SAP が中央インスタンスの再起動を試みる回数である。また、この値は、Sun Cluster HA for SAP の障害モニターが猶予モードで検証を行う回数でもある。この回数を経過すると、障害モニターは通常の検証モードに移る。猶予モードでは、検証機能は、中央インスタンスがまだ動作していないことを検出した場合でも、再起動したり、中央インスタンスのフェイルオーバーを開始したりしない。猶予モードでは、障害モニターがすべての検証操作の状態を報告し、すべての検証操作が成功するか、指定された回数、再試行が行われるまで猶予モードを継続する。 |
中央インスタンスの起動再試行間隔 |
Sun Cluster HA for SAP が中央インスタンスの再起動を試みる時間間隔 (秒単位)。またこの値は、猶予モードのときに、検証が試みられる間、Sun Cluster HA for SAP 障害モニターが休眠する時間の長さ (秒単位) でもある。デフォルト値は 30。 |
中央インスタンス起動前の全インスタンス停止待ち時間 |
0 以上の整数を指定する。デフォルト値は 60。このパラメータは、中央インスタンスを起動する前に hasap_stop_all_instances スクリプトを実行する時間の長さ (秒単位) を示す。0 を設定した場合、hasap_stop_all_instances は、中央インスタンスの起動中にバックグラウンドで実行される。正の整数を設定した場合、hasap_stop_all_instances は、中央インスタンスを起動する前にフォアグラウンドでその長さの時間実行される。 |
フォアグラウンドでの全インスタンスの停止でエラーが返された場合の中央インスタンスの起動許可 Error |
このフラグには、"y" または "n" を設定する。デフォルト値は n。この値は、hasap_stop_all_instances スクリプトによって終了コードとしてゼロ以外が返された場合、あるいは「中央インスタンス起動前の全インスタンス停止待ち時間」パラメータで指定した時間内に hasap_stop_all_instances スクリプトが終了しなかった場合に中央インスタンスを起動するかどうかを決定する。このフラグに "n" を設定していて、「中央インスタンス起動前の全インスタンス停止待ち時間」の値が 0 より大きく、かつ hasap_stop_all_instances スクリプトがその設定時間内に終了しないか、あるいは hasap_stop_all_instances スクリプトによって終了コードとしてゼロ以外が返された場合、中央インスタンスは起動されず、障害モニターは他の構成パラメータに基づいてそのエラーに対処する。このフラグに"y"を設定した場合は、hasap_stop_all_instances によってエラーコードが返されたかどうか、また hasap_stop_all_instances が設定時間内に終了したかどうかに関係なく、中央インスタンスが起動される。 |
ローカルノード上の中央インスタンス再起動回数 |
0 以上の整数を指定する。デフォルト値は 1。この値は、障害検出後にローカルノード上で SAP の中央インスタンスを再起動する回数を示す。この再起動回数に達すると、Sun Cluster HA for SAP はフェイルオーバー要求を発行するか (「中央インスタンスのフェイルオーバーの許可」パラメータで許可されている場合)、障害モニターによって検出された障害に対処しない。 |
再起動回数をリセットするまでの検証成功回数 |
0 以上の整数を指定する。デフォルト値は 60。正の整数を指定した場合、その指定回数連続して検証に成功すると、ローカルノード上のそれまでの再起動回数は 0 にリセットされる。たとえば、「ローカルノード上の中央インスタンス再起動回数」パラメータの値が 1 で、このパラメータの値が 60 の場合は、最初の障害が発生した後、検証機能がローカルノード上の中央インスタンスの再起動を試みる。この再起動が成功すると、60 回連続して検証が成功した後、再起動回数は 0 にリセットされ、別の障害を検出した場合に検証機能が新たに再起動を行えるようにする。このパラメータに 0 を指定した場合、再起動回数がリセットされることはなく、このことは、「ローカルノード上の中央インスタンス再起動回数」パラメータに設定された再起動回数が、フェイルオーバーする前にローカルノード上で行われる絶対再起動回数であることを意味する。 |
中央インスタンスのフェイルオーバーの許可 |
"y" または "n" のいずれかを設定できる。デフォルト値は y。このフラグに "y" が設定されている場合は、「ローカルノード上の中央インスタンス再起動回数」の再起動回数に達した後、Sun Cluster HA for SAP が監視対象の SAP インスタンスでエラーを検出すると、そのインスタンスの論理ホストを別のクラスタノードに移動する要求が発行される。このフラグに "n" を設定した場合は、ローカルの再起動がすべて行われた後、エラーが検出されても、Sun Cluster HA for SAP はこの要求を発行しない。この場合、中央インスタンスは障害状態のままになり、検証機能は終了する。 |
hasap_dbms による依存関係の設定が必要になるのは、同じ論理ホスト内のデータサービスの起動および停止順序を指定する場合だけです。異なる複数の論理ホスト上に構成されたデータサービスの依存関係を設定することはできません。
Sun Cluster HA for SAP と同じ論理ホスト上に Sun Cluster HA for Oracle または Sun Cluster HA for NFS を構成している場合は、そのデータサービスに対する Sun Cluster HA for SAP の依存関係を設定してください。このような依存関係は、hasap_dbms コマンドを使用して設定したり、削除したりすることができます。依存関係は、サービスの起動および停止順序に影響します。Sun Cluster HA for Oracle あるいは Sun Cluster HA for NFS は、常に、Sun Cluster HA for SAP を起動する前に起動します。同様に、Sun Cluster HA for SAP は、他のデータサービスを停止する前に停止します。
Sun Cluster HA for SAP と同じ論理ホスト上に Sun Cluster HA for Informix または Sun Cluster HA for NFS を構成していない場合は、hasap_dbms コマンドを使用しないでください。
データサービスの依存関係を設定するには、後述する hasap_dbms コマンドの 1 つを使用します。
hasap_dbms コマンドは、Sun Cluster HA for SAP が登録されていて、オフ状態のときにだけ使用できます。このコマンドは、1 つのノード (クラスタのメンバーになっているノード) 上でのみ実行してください。詳細は、hasap_dbms(1M) のマニュアルページを参照してください。
CCD に行を追加できない、あるいは CCD を更新できないことを示すことを示すエラーが hasap_dbms(1M) コマンドから返された場合は、その原因として、別のクラスタユーティリティも CCD を更新しようとしていることが考えられます。このエラーが発生した場合は、正しく実行されるまで hasap_dbms(1M) を再実行してください。hasap_dbms(1M) コマンドが正しく実行されたら、hareg -q sap コマンドを実行することによって、更新された CCD に必要な行がすべて含まれていることを確認してください。hareg(1M) コマンドからエラーが返された場合は、まず、hasap_dbms -f コマンドを実行することによって、元のメソッドのタイムアウト値を復元してください。次に、hasap_dbms -r コマンドを実行することによって、デフォルトの依存関係を復元してください。両方のコマンドが正常終了したら、元の hasap_dbms(1M) コマンドを再実行して、新しい依存関係とメソッドのタイムアウト値を設定します。詳細は、hasap_dbms(1M) のマニュアルページを参照してください。
次のコマンドの 1 つを使用して、データサービスの依存関係を設定します。
同じ論理ホスト上で Sun Cluster HA for NFS と Sun Cluster HA for SAP だけを使用している場合は、次のコマンドを使用します。
# /opt/SUNWcluster/ha/sap/hasap_dbms -d nfs |
同じ論理ホスト上で Sun Cluster HA for Informix と Sun Cluster HA for Informix
# /opt/SUNWcluster/ha/sap/hasap_dbms -d informix |
同じ論理ホスト上で Sun Cluster HA for Informix と Sun Cluster HA for NFS、Sun Cluster HA for SAP を使用している場合は、次のコマンドを使用します。
# /opt/SUNWcluster/ha/sap/hasap_dbms -d informix,nfs |
次のコマンドを使用して、Sun Cluster HA for SAP に設定した依存関係を確認します。
# hareg -q sap -D |
Sun Cluster HA for SAP に対して設定した依存関係は、hasap_dbms -r コマンドを使用して削除できます。このコマンドを実行すると、Sun Cluster HA for SAP に対して設定されているすべての依存関係が削除されます。
hasap_dbms コマンドは、Sun Cluster HA for SAP が登録されていて、オフ状態のときにだけ使用できます。このコマンドは、1 つのノード (クラスタのメンバーになっているノード) 上でのみ実行してください。詳細は、hasap_dbms(1M) のマニュアルページを参照してください。
CCD に行を追加できない、あるいは CCD を更新できないことを示すエラーが hasap_dbms(1M) コマンドから戻された場合、別のクラスタユーティリティがすでに CCD を更新しようとしていることが考えられます。このエラーが発生した場合は、正しく動作するまで hasap_dbms(1M) を実行します。hasap_dbms(1M) コマンドが正しく動作したら、hareg -q sap コマンドを実行して、必要なすべての行が結果の CCD に含まれていることを確認します。hareg(1M) コマンドからエラーが戻された場合、まず、hasap_dbms -f コマンドを実行して、元のメソッドのタイムアウト値を復元します。次に、hasap_dbms -r コマンドを実行して、デフォルトの依存関係を復元します。2 つのコマンドが両方とも正常に終了したら、オリジナルの hasap_dbms(1M) コマンドをもう一度実行して、新しい依存関係とメソッドのタイムアウト値を構成します。詳細は、hasap_dbms(1M) のマニュアルページを参照してください。