Sun Java System Application Server Enterprise Edition 8.1 2005Q2 高可用性 (HA) 管理ガイド

- Previous: HADB の設定の準備
- Next: 高可用性の設定

# インストール

一般に、HADB は、Application Server と同じシステム (共存トポロジ)、または別のホスト (分離層トポロジ) のどちらにもインストールできます。これらの 2 つのオプションの詳細については、『Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Deployment Planning Guide』の第 3 章「Selecting a Topology」を参照してください。ただし、`asadmin configure-ha-cluster` コマンドを使用して高可用性を設定できるようにするには、HADB 管理クライアントをインストールする必要があります。Java Enterprise System インストーラを使用している場合は、ノードが別の層にインストールされている場合でも、管理クライアントをインストールするために HADB インスタンス全体をインストールする必要があります。

## HADB のインストール

シングルまたはデュアル CPU システムでは、システムに少なくとも 2G バイトのメモリーがあれば、HADB と Application Server の両方をインストールできます。メモリーが不足している場合は、HADB を別のシステムにインストールするか、または追加のハードウェアを使用します。`asadmin ha-configure-cluster` コマンドを使用するには、HADB と Application Server の両方をインストールする必要があります。

各 HADB ノードには 512M バイトのメモリーが必要なため、2 つの HADB ノードを実行するにはマシンに 1G バイトのメモリーが必要です。マシンのメモリーが不足している場合は、各ノードを別のマシンに設定します。たとえば、次のシステムに 2 つのノードをインストールすることができます。

- メモリーがそれぞれ 512M バイト〜 1G バイトの、2 つのシングル CPU システム

- メモリーが 1G 〜 2G バイトの、シングルまたはデュアル CPU システム

  HADB は、Java Enterprise System インストーラまたは Application Server のスタンドアロンインストーラのどちらでもインストールできます。どちらのインストーラでも、「コンポーネントの選択」ページで HADB (Java ES では High Availability Session Store と呼ばれる) をインストールするオプションを選択します。ホストでのインストールを完了します。Application Server のスタンドアロンインストーラを使用していて、2 つの別々のマシンで HADB を実行すること選択した場合は、両方のマシンで同じインストールディレクトリを選択する必要があります。

### デフォルトのインストールディレクトリ

このマニュアルの全体にわたって、HADB_install_dir は、HADB をインストールするディレクトリを表します。デフォルトのインストールディレクトリは、HADB を Java Enterprise System の一部としてインストールするかどうかによって異なります。Java Enterprise System の場合、デフォルトのインストールディレクトリは `/opt/SUNWhadb/4` です。スタンドアロンの Application Server インストーラの場合は、`/opt/SUNWappserver/hadb/4` になります。

## ノードスーパーバイザープロセスの権限

ノードスーパーバイザープロセス (NSUP) は、「I’m alive」メッセージを互いに交換することにより、HADB の可用性を保証します。NSUP 実行可能ファイルは、できるだけ迅速に応答できるように、root 権限を持っている必要があります。`clu_nsup_srv` プロセスは CPU リソースを大量に消費せず、フットプリントも小さいため、リアルタイムプライオリティーで実行してもパフォーマンスには影響しません。

注 –

Java Enterprise System インストーラを使用した場合は、NSUP の権限が自動的に正しく設定されるため、それ以上の操作は必要ありません。ただし、スタンドアロン Application Server の (ルートでない) インストーラを使用する場合は、データベースを作成する前に、この権限を手動で設定する必要があります。

### 権限が不足している場合の症状

NSUP 実行可能ファイルの権限が正しく設定されていない場合は、次のようなリソース枯渇の症状がみられることもあります。

- パフォーマンスの問題や、HADB 履歴ログ内の `HIGH LOAD` メッセージ。

- 誤ったネットワークパーティションや、ノードの再起動。その前に、HADB 履歴ファイルに「Process blocked for x seconds」という警告が記録されます。

- トランザクションの中止や、その他の例外。

### 制限事項

NSUP がリアルタイムプライオリティーを設定できない場合、Solaris および Linux では EPERM に `errno` が設定されます。Windows の場合は、「Could not set realtime priority」という警告が発行されます。`ma.log` ファイルにエラーが書き込まれ、プロセスはリアルタイムプライオリティーがない状態で継続されます。

次の場合は、リアルタイムプライオリティーを設定できません。

- HADB が Solaris 10 の非大域ゾーンにインストールされている場合

- Solaris 10 で、`PRIV_PROC_LOCK_MEMORY` (プロセスが物理メモリー内のページをロックできる) 特権または `PRIV_PROC_PRIOCNTL` 特権、あるいはその両方が無効になっている場合

- ユーザーが setuid アクセス権を無効にした場合

- ユーザーがソフトウェアを tar ファイルとしてインストールした場合 (Application Server での、ルートでないインストールオプション)

### ノードスーパーバイザープロセスに root 権限を許可するには

1. ルートとしてログインします。

2. 作業用ディレクトリを HADB_install_dir`/lib/server` に変更します。

   NSUP 実行可能ファイルは `clu_nsup_srv` です。

3. 次のコマンドを使用して、ファイルの `suid` ビットを設定します。

   `chown root clu_nsup_srv`

4. 次のコマンドを使用して、ファイルの所有者をルートに設定します。

   `chmod u+s clu_nsup_srv`

   これにより、`clu_nsup_srv` プロセスがルートとして起動され、プロセス自身にリアルタイムプライオリティーを許可できるようになります。

   セキュリティーへの影響を回避するために、リアルタイムプライオリティーはプロセスが起動されるとすぐに設定され、優先順位が変更されたらプロセスは実効 UID に戻ります。ほかの HADB プロセスは、標準の優先順位で実行されます。

- Previous: HADB の設定の準備
- Next: 高可用性の設定

- © 2010, Oracle Corporation and/or its affiliates