ヘッダーをスキップ
Oracle Fusion Middleware Oracle WebLogic Server クラスタの使い方
11
g
リリース 1 (10.3.1)
B55518-01
次へ
目次
タイトルおよび著作権情報
はじめに
ドキュメントのアクセシビリティについて
表記規則
サポートおよびサービス
1
概要とロードマップ
ドキュメントの内容と対象読者
このドキュメントの手引き
関連ドキュメント
このリリースでのクラスタ化の新機能と変更点
2
WebLogic Server のクラスタ化について
WebLogic Server クラスタとは
クラスタとドメインの関係
クラスタ化の利点
クラスタの重要な機能
クラスタ化可能なオブジェクトの種類
サーブレットと JSP
EJB と RMI オブジェクト
JDBC 接続
クラスタ化された JDBC との接続を取得する
JDBC 接続のフェイルオーバとロード バランシング
JMS とクラスタ化
クラスタ化できないオブジェクトの種類
3
クラスタでの通信
クラスタでの WebLogic Server の通信
下位互換性の維持を目的とした IP マルチキャストの使用
マルチキャストとクラスタのコンフィグレーション
ユニキャストを使用した 1 対多通信
ユニキャストのコンフィグレーション
ユニキャストを使用する場合の考慮事項
IP ソケットを使用したピア ツー ピア通信
pure-Java とネイティブ ソケット リーダーの実装の比較
Java ソケット実装用にリーダー スレッドをコンフィグレーションする
ソケット経由のクライアント通信
クラスタワイドの JNDI ネーミング サービス
WebLogic Server によるクラスタワイドの JNDI ツリー作成の仕組み
JNDI 名の衝突が発生する仕組み
均一なデプロイメントによってクラスタレベルの JNDI の衝突を回避する
WebLogic Server による JNDI ツリー更新の仕組み
クライアントとクラスタワイドの JNDI ツリーとの対話
4
クラスタのコンフィグレーションについて
クラスタのコンフィグレーションと config.xml
管理サーバの役割
管理サーバに障害が発生した場合
動的コンフィグレーションの仕組み
クラスタ化されたコンフィグレーションでのアプリケーションのデプロイメント
デプロイメント方法
2 フェーズ デプロイメントの概要
デプロイメントの第 1 フェーズ
デプロイメントの第 2 フェーズ
クラスタへのデプロイメントのガイドライン
WebLogic Server がサポートする「緩和されたデプロイメント」ルール
部分的なクラスタへのデプロイメントの許可
WebLogic Server の完全なクラスタへのデプロイメント
固定サービスを複数の管理対象サーバにデプロイ可能
クラスタをコンフィグレーションする方法
5
クラスタでのロード バランシング
サーブレットと JSP のロード バランシング
プロキシ プラグインによるロード バランシング
プロキシ プラグインによるセッションの接続とフェイルオーバの仕組み
外部ロード バランサによる HTTP セッションのロード バランシング
ロード バランサのコンフィグレーション要件
ロード バランサと WebLogic セッション クッキー
関連するプログラミングの考慮事項
ロード バランサでのセッション接続およびフェイルオーバの仕組み
EJB と RMI オブジェクトのロード バランシング
ラウンドロビンのロード バランシング
重みベースのロード バランシング
ランダム ロード バランシング
サーバ アフィニティ ロード バランシング アルゴリズム
サーバ アフィニティと初期コンテキスト
サーバ アフィニティと CSIv2 を使用した IIOP クライアント認証
ラウンドロビン アフィニティ、重みベース アフィニティ、およびランダム アフィニティ
サーバ アフィニティの例
クラスタ化されたオブジェクトのパラメータベースのルーティング
連結されたオブジェクトの最適化
トランザクションの連結
JMS のロード バランシング
分散 JMS 送り先のサーバ アフィニティ
クライアント接続の初期コンテキスト アフィニティとサーバ アフィニティ
JDBC 接続のロード バランシング
6
クラスタのフェイルオーバとレプリケーション
WebLogic Server で障害を検出する仕組み
IP ソケットを使用した障害検出
WebLogic Server の「ハートビート」
サーブレットと JSP のレプリケーションとフェイルオーバ
HTTP セッション ステートのレプリケーション
HTTP セッション ステートのレプリケーションに関する必要条件
サポート対象のサーバ ソフトウェアとプロキシ ソフトウェア
ロード バランサの必要条件
クラスタ化されるサーブレットおよび JSP のプログラミング上の考慮事項
レプリケーション グループの使用
クラスタ化されたサーブレットと JSP へのプロキシ経由のアクセス
プロキシ接続の手順
URL 書き換えを利用したセッション レプリカの追跡
プロキシ フェイルオーバのプロセス
クラスタ化されたサーブレットと JSP へのロード バランシング ハードウェアを利用したアクセス
ロード バランシング ハードウェアを利用した接続
ロード バランシング ハードウェアを利用したフェイルオーバ
MAN/WAN 内のクラスタ間でのセッション ステート レプリケーション
クラスタ間レプリケーションのネットワーク要件
グローバル ロード バランサ
ローカル ロード バランサ
レプリケーション
フェイルオーバ
クラスタ間レプリケーションのコンフィグレーション要件
クラスタ間でのセッション ステート レプリケーションのコンフィグレーション
レプリケーション チャネルのコンフィグレーション
MAN での HTTP セッション ステートのレプリケーション
MAN 内でのレプリケーション
MAN におけるフェイルオーバのシナリオ
MAN でのレプリケーション、ロード バランサ、セッションの固定
WAN での HTTP セッション ステートのレプリケーション
WAN 内でのレプリケーション
WAN におけるフェイルオーバのシナリオ
WAN でのセッション ステート レプリケーション用のデータベースのコンフィグレーション
EJB と RMI のレプリケーションとフェイルオーバ
レプリカ対応スタブによるオブジェクトのクラスタ化
各種の EJB でのクラスタ化サポート
クラスタ化された EJBHome
クラスタ化された EJBObject
ステートレス セッション Bean
ステートフル セッション Bean
ステートフル セッション EJB のフェイルオーバ
エンティティ EJB
エンティティ Bean と EJB ハンドルのフェイルオーバ
RMI オブジェクトのクラスタ化のサポート
オブジェクト デプロイメントの必要条件
他のフェイルオーバの例外
フェイルオーバと JDBC 接続
7
サーバ全体の移行
サーバおよびサービスの移行について
移行関連の用語
リース
リースを使用する機能
リースの種類
使用するリースの種類の決定
高可用性データベース リース
コンセンサス (非データベース) リース
サーバ全体の自動移行
サーバ全体の自動移行の準備
サーバ全体の自動移行のコンフィグレーション
ステート データ用高可用性ストレージの使用
サーバの移行プロセスと通信
移行可能なサーバのあるクラスタの起動プロセス
サーバ全体の自動移行のプロセス
サーバ全体の手動移行のプロセス
サーバ全体の移行における管理サーバの役割
クラスタでの移行可能なサーバの動作
サーバ全体の移行におけるノード マネージャの役割
サーバ全体の移行におけるクラスタ マスターの役割
8
サービスの移行
サービスの移行フレームワークについて
移行可能サービス
JMS 関連サービス
JTA トランザクション回復サービス
ユーザ定義のシングルトン サービス
クラスタ内の移行可能対象について
手動および自動のサービス移行ポリシー
手動移行
exactly-once (必ず 1 回)
failure-recovery (障害回復)
障害が発生したサービスを移行前に再起動するオプション
優先サーバと候補サーバ
クラスタ内の移行可能対象の例
JMS サーバの対象指定ルール
SAF エージェントの対象指定ルール
SAF エージェントの移行可能対象の対象指定の変更
メッセージ スループットを向上させるための移行可能 SAF エージェントの対象指定方法
サービス品質 (QoS) を安定させるための SAF エージェントの対象指定方法
パス サービスの対象指定ルール
パス サービスを対象指定する場合の特別な考慮事項
カスタム ストアの対象指定ルール
JTA トランザクション回復サービス用の移行可能対象
移行処理ツール
Administration Console
WebLogic Scripting Tool
サービスの自動移行インフラストラクチャ
移行可能サービスのリース
データベース リース
コンセンサス リース
ノード マネージャ
サービスの移行時に管理サーバは不要
サービスのヘルス モニタ
JTA トランザクション回復サービスのヘルス モニタが自動移行をトリガする仕組み
JMS 関連サービスのヘルス モニタが自動移行をトリガする仕組み
障害が発生した移行可能サービスのインプレースでの再起動
使用不能サーバからのサービスの移行
JMS と JTA のサービスの自動移行の相互作用
移行前の要件
JMS サービスで使用できるカスタム ストア
JTA で使用できるデフォルト ファイル ストア
サーバの状態とサービスの手動移行
JMS 関連サービスの自動移行をコンフィグレーションする手順
手順 1 : 管理対象サーバとノード マネージャをコンフィグレーションする
手順 2 : 移行リース基盤をコンフィグレーションする
手順 3 : 移行可能対象をコンフィグレーションする
移行可能サーバを自動的な移行可能対象としてコンフィグレーションする
新しい移行可能対象を作成する
ユーザ優先サーバを選択する
サービス移行ポリシーを選択する
控えの候補サーバを選択する (省略可能)
移行前/移行後スクリプトを指定する (省略可能)
インプレースでの再起動オプションを指定する (省略可能)
手順 4 : カスタム ストアをコンフィグレーションおよび対象指定する
手順 5 : JMS サービスを対象指定する
SAF エージェントまたはパス サービスを対象指定する場合の特別な考慮事項
手順 6 : 変更した移行ポリシーで管理サーバと管理対象サーバを再起動する
手順 7 : JMS サービスを元のサーバに手動で戻す
サービスの自動移行のコンフィグレーションで JMS を対象指定する際のベスト プラクティス
JMS 関連サービスの手動移行をコンフィグレーションする手順
手順 1 : 管理対象サーバをコンフィグレーションする
手順 2 : 移行可能対象をコンフィグレーションする
移行可能サーバを移行可能対象としてコンフィグレーションする
新しい移行可能対象を作成する
優先サーバを選択する
デフォルトのサービスの手動移行ポリシーを受け入れる
控えの候補サーバを選択する (省略可能)
移行前/移行後スクリプトを指定する (省略可能)
インプレースでの再起動オプションを指定する (省略可能)
手順 3 : カスタム ストアをコンフィグレーションおよび対象指定する
手順 4 : JMS サービスを対象指定する
SAF エージェントまたはパス サービスを対象指定する場合の特別な考慮事項
手順 5 : 変更した移行ポリシーで管理サーバと管理対象サーバを再起動する
手順 6 : JMS サービスを手動で移行する
JTA トランザクション回復サービスの自動移行をコンフィグレーションする手順
手順 1 : 管理対象サーバとノード マネージャをコンフィグレーションする
手順 2 : 移行基盤をコンフィグレーションする
手順 3 : JTA の自動移行を有効にする
[JTA の自動移行を有効化] チェック ボックスをチェックする
候補サーバを選択する (省略可能)
移行前/移行後スクリプトを指定する (省略可能)
手順 4 : トランザクション回復サービスの移行用にデフォルト永続ストアをコンフィグレーションする
手順 5 : 変更した移行ポリシーで管理サーバと管理対象サーバを再起動する
手順 6 : トランザクション回復サービスを自動フェイルバックによって元のサーバに戻す
JTA トランザクション回復サービスの手動移行
ユーザ定義のシングルトン サービスの自動移行
シングルトン サービスの移行の概要
シングルトン マスター
移行の失敗
シングルトン サービス インタフェースの実装
シングルトン サービスのデプロイと移行動作のコンフィグレーション
アプリケーション内にシングルトン サービスをパッケージ化してデプロイする
シングルトン サービスを WebLogic Server にスタンドアロン サービスとしてデプロイする
シングルトン サービスの移行をコンフィグレーションする
9
クラスタ アーキテクチャ
アーキテクチャとクラスタ関連の用語
アーキテクチャ
Web アプリケーションの層
組み合わせ層アーキテクチャ
非武装地帯 (DMZ)
ロード バランサ
プロキシ プラグイン
推奨基本アーキテクチャ
組み合わせ層アーキテクチャを使用しない状況
推奨多層アーキテクチャ
ハードウェアとソフトウェアの物理レイヤ
Web/プレゼンテーション レイヤ
オブジェクト レイヤ
多層アーキテクチャの利点
多層アーキテクチャでのクラスタ化オブジェクトのロード バランシング
多層アーキテクチャのコンフィグレーションに関する考慮事項
IP ソケットの使用数
ハードウェア ロード バランサ
多層アーキテクチャに関する制限
連結の最適化が行われない
ファイアウォールに関する制限
推奨プロキシ アーキテクチャ
2 層プロキシ アーキテクチャ
ハードウェアとソフトウェアの物理レイヤ
Web レイヤ
サーブレット/オブジェクト レイヤ
多層プロキシ アーキテクチャ
プロキシ アーキテクチャの利点
プロキシ アーキテクチャの制限
プロキシ プラグインとロード バランサ
クラスタ アーキテクチャのセキュリティ オプション
プロキシ アーキテクチャの基本ファイアウォール
プロキシ レイヤとクラスタの間のファイアウォール
基本ファイアウォール コンフィグレーションの DMZ
ファイアウォールとロード バランサの組み合わせ
内部クライアントに対するファイアウォールの拡張
共有データベースに対するセキュリティの追加
ファイアウォールが 2 つあるコンフィグレーションの DMZ
10
WebLogic クラスタの設定
始める前に
コンフィグレーション プロセスについて
クラスタ アーキテクチャを決定する
ネットワーク トポロジとセキュリティ トポロジを考慮する
クラスタをインストールするマシンを選択する
マルチ CPU マシン上の WebLogic Server インスタンス
ホスト マシンのソケット リーダー実装をチェックする
切断された Windows マシン上のクラスタの設定
名前とアドレスを識別する
リスン アドレスの問題を回避する
DNS 名と IP アドレス
内部 DNS 名と外部 DNS 名が異なる場合
localhost の考慮事項
WebLogic Server リソースへの名前割り当て
管理サーバのアドレスとポート
管理対象サーバのアドレスとリスン ポート
クラスタのマルチキャスト アドレスとマルチキャスト ポート
マルチキャストと複数のクラスタ
マルチキャストと多層クラスタ
クラスタ アドレス
動的なクラスタ アドレス
プロダクション環境でクラスタ アドレスを明示的に定義する
開発およびテスト環境でクラスタ アドレスを明示的に定義する
単一のマルチホーム マシンでクラスタ アドレスを明示的に定義する
クラスタ実装の手順
コンフィグレーションのロードマップ
WebLogic Server をインストールする
クラスタ化されたドメインを作成する
WebLogic Server クラスタを起動する
ノード マネージャをコンフィグレーションする
EJB と RMI のロード バランシング方式をコンフィグレーションする
RMI のタイムアウト値を指定する
分散 JMS 送り先のサーバ アフィニティをコンフィグレーションする
パッシブなクッキーの永続性をサポートするロード バランサをコンフィグレーションする
プロキシ プラグインをコンフィグレーションする
HttpClusterServlet を設定する
サンプルの web.xml
サンプルの weblogic.xml
プロキシ サーブレットのデプロイメント パラメータ
プロキシ サーバ経由のアプリケーションへのアクセス
レプリケーション グループをコンフィグレーションする
固定サービスの移行可能対象をコンフィグレーションする
クラスタ化された JDBC をコンフィグレーションする
データ ソースをクラスタ化する
マルチ データ ソースをクラスタ化する
デプロイメント用にアプリケーションをパッケージ化する
アプリケーションをデプロイする
1 つのサーバ インスタンスにデプロイする (固定デプロイメント)
コマンドラインからの固定デプロイメント
クラスタのデプロイメントをキャンセルする
コマンドラインからデプロイメントをキャンセルする
Administration Console を使用してデプロイメントをキャンセルする
デプロイ済みアプリケーションを表示する
デプロイ済みアプリケーションをアンデプロイする
移行可能サービスをデプロイ、アクティブ化、および移行する
移行可能対象のサーバ インスタンスに JMS をデプロイする
移行可能サービスとして JTA をアクティブ化する
対象サーバ インスタンスに固定サービスを移行する
現在アクティブなホストがない場合の移行
インメモリ HTTP レプリケーションをコンフィグレーションする
コンフィグレーションに関するその他のトピック
IP ソケットをコンフィグレーションする
サーバ インスタンスのホスト マシン上でネイティブの IP ソケット リーダーをコンフィグレーションする
サーバ インスタンスのホスト マシン上のリーダー スレッドの数を設定する
クライアント マシン上のリーダー スレッド数を設定する
マルチキャスト存続時間 (TTL) をコンフィグレーションする
マルチキャスト バッファのサイズをコンフィグレーションする
マルチキャスト データの暗号化をコンフィグレーションする
マシン名をコンフィグレーションする
多層アーキテクチャのコンフィグレーションに関する注意
URL 書き換えを有効にする
11
クラスタ化のベスト プラクティス
一般的な設計上の考慮事項
シンプルにする
リモート呼び出しを最小限にする
セッション Facade でリモート呼び出しが削減される
転送オブジェクトでリモート呼び出しが削減される
分散トランザクションでリモート呼び出しが増加する
Web アプリケーション設計の考慮事項
インメモリ レプリケーションをコンフィグレーションする
多重呼び出し不変性に留意して設計する
プログラミングの考慮事項
EJB 設計の考慮事項
多重呼び出し不変のメソッドを設計する
使い方およびコンフィグレーションのガイドラインに従う
クラスタ関連のコンフィグレーション オプション
クラスタでのステート管理
アプリケーション デプロイメントの考慮事項
アーキテクチャに関する考慮事項
問題の回避
命名の考慮事項
管理サーバについての考慮事項
ファイアウォールについての考慮事項
プロダクション環境で使用する前にクラスタのキャパシティを評価する
12
一般的な問題のトラブルシューティング
クラスタを起動する前に
サーバのバージョン番号のチェック
マルチキャスト アドレスのチェック
CLASSPATH の値のチェック
スレッド カウントのチェック
クラスタ起動後の作業
コマンドのチェック
ログ ファイルの生成
Linux 上で JRockit スレッド ダンプを取得する
ガベージ コレクションのチェック
utils.MulticastTest の実行
13
マルチキャスト コンフィグレーションのトラブルシューティング
マルチキャスト アドレスおよびポートのコンフィグレーションの検証
発生する問題
マルチキャスト アドレスおよびポートの確認
ネットワーク コンフィグレーションの問題の特定
物理的な接続
アドレスの衝突
UNIX システムの nsswitch.conf の設定
MulticastTest ユーティリティの使用
マルチキャスト機能のチューニング
マルチキャスト タイムアウト
クラスタ ハートビート
マルチキャスト送信遅延
オペレーティング システム パラメータ
マルチキャスト ストーム
マルチキャストとマルチホーム マシン
別々のサブネットでのマルチキャスト
マルチキャストのデバッグ
デバッグ ユーティリティ
MulticastMonitor
MulticastTest
デバッグ フラグ
コマンドラインでデバッグ フラグを設定する
weblogic.Admin を使用してデバッグ フラグを設定する
その他の問題
AIX でのマルチキャスト
ファイル記述子の問題
マルチキャスト コンフィグレーションのトラブルシューティングに関するその他のリソース
A
WebLogic クラスタの API
API の使い方
カスタム呼び出しルーティングと連結の最適化
B
クラスタに関する BIG-IP ハードウェアのコンフィグレーション
セッションの永続性のコンフィグレーション
URL 書き換えのコンフィグレーション
WebLogic Server で URL 書き換えをコンフィグレーションする
BIG-IP で URL 書き換えをコンフィグレーションする
C
MAN/WAN フェイルオーバに関する F5 ロード バランサのコンフィグレーション
要件
ローカル ロード バランサのコンフィグレーション
仮想サーバの IP およびプール
フェイルオーバ トリガの仮想サーバおよびプールの作成
マルチレイヤの仮想サーバおよび IP プールの作成
3-DNS グローバル ハードウェア ロード バランサのコンフィグレーション
DNS ゾーンのコンフィグレーション
3-DNS によって管理される BIG-IP アドレスのコンフィグレーション
データ センタのコンフィグレーション
ワイド IP のコンフィグレーション
WebLogic Server コンポーネントのコンフィグレーション
D
MAN/WAN フェイルオーバに関する Radware ロード バランサのコンフィグレーション
要件
手順 1 : 信頼できる委任ゾーンのコンフィグレーション
手順 2 : ファームの仮想 IP およびサーバのコンフィグレーション
ファーム IP の作成
サーバ ファームのディスパッチ メソッドのコンフィグレーション
ファーム サーバの作成
手順 3 : ポートの多重化のコンフィグレーション
手順 4 : HTTP リダイレクトのコンフィグレーション
手順 5 : セッション ID の永続性のコンフィグレーション
手順 6 : LRP のコンフィグレーション
手順 7 : WebLogic Server コンポーネントのコンフィグレーション