Oracle® Fusion Middleware Oracle WebCenter Contentエンタープライズ・デプロイメント・ガイド リリース12.2.1.1 E77232-01 |
|
![]() 前 |
![]() 次 |
Oracle WebLogic Serverは、可用性の高い環境にとって不可欠な要素である移行フレームワークを備えています。次の項では、エンタープライズ・デプロイメントでこのフレームワークを効果的に使用する方法を詳しく説明します。
Oracle WebLogic Serverの移行フレームワークでは、次の2つの種類の自動移行をサポートしています。
サーバー全体の移行。障害発生時に、管理対象サーバー・インスタンスが別の物理システムに移行されます。
サーバー全体の移行では、別の物理マシン上で、サーバー・インスタンスとそのすべてのサービスが自動的に再起動されます。サーバー移行が構成されているクラスタに属するサーバーで問題が発生すると、そのサーバーは、クラスタのメンバーをホストする他のマシンで再起動されます。
このためには、サーバーはリスニング・アドレスとして浮動IPを使用する必要があり、必要なリソース(トランザクション・ログとJMS永続ストア)が候補マシンで利用できなければなりません。
詳細は、『Oracle WebLogic Serverクラスタの管理』のサーバー全体の移行に関する項を参照してください。
サービスの移行。特定のサービスが、クラスタ内の別の管理対象サーバーに移行されます。
サービスの移行を理解するには、固定サービスを理解することが重要です。
WebLogic Serverクラスタでは、ほとんどのサブシステム・サービスがクラスタ内のすべてのサーバー・インスタンスで均一にホストされます。これにより、サーバー間の透過的なフェイルオーバーが可能になります。対照的に、JMS関連サービスやJTAトランザクション・リカバリ・サービス、ユーザー定義のシングルトン・サービスなどの固定サービスは、クラスタ内の個々のサーバー・インスタンスにホストされます。WebLogic Serverの移行フレームワークは、これらのサービスに対して、フェイルオーバーではなく、サービスの移行による障害回復をサポートしています。
詳細は、『Oracle WebLogic Serverクラスタの管理』の「サービスの移行フレームワークの理解」を参照してください。
サーバーまたはサービスが別のシステムで再起動されるときは、必要なリソース(サービス・データ、ログなど)が元のシステムとフェイルオーバー・システムの両方で利用できなければなりません。利用できなければ、サービスは、同じ操作をフェイルオーバー・システムで正常に再開できません。
このような理由から、サーバー全体の移行とサービスの移行の両方で、クラスタのすべてのメンバーが、同一のトランザクションとJMS永続ストア(ファイルベースかデータベースベースかを問わない)にアクセスできる必要があります。
これが、エンタープライズ・デプロイメントで共有記憶域が重要となる、もう1つの理由です。共有記憶域を適切に構成すると、手動フェイルオーバー(管理サーバーのフェイルオーバー)または自動フェイルオーバー(サーバー全体の移行またはサービスの移行)が発生したときに、元のマシンとフェイルオーバー・マシンの両方が、サービスを変更しなくても、確実に同一のファイル・ストアにアクセスできるようになります。
自動サービス移行の場合、固定サービスの再開が必要になったときは、フェイルオーバー前に固定サービスによって使用されていたJMSとJTAのログにアクセスできる必要があります。
サーバー全体の移行の場合、共有記憶域のほかに、仮想IPアドレス(VIP)の入手と割当ても必要になります。管理対象サーバーが別のマシンにフェイルオーバーされると、VIPは新しいマシンに自動的に再割り当てされます。
サービスの移行には、VIPは必要ありません。
サーバー全体の移行と自動サービス移行では両方とも、リース表のデータ・ソースが必要です。これは、リポジトリ作成ユーティリティ(RCU)によってOracle WebLogic Serverスキーマの一部として自動的に作成される表領域です。
エンタープライズ・デプロイメントでは、GridLinkのデータ・ソースを使用して作成する必要があります。
ドメインでサーバー全体の移行または自動サービス移行の準備を行ったら、クラスタ内の特定の管理対象サーバーで、サーバー全体の移行を構成できます。詳細は、次の各項を参照してください。
この項では、wlsifconfig.sh
スクリプトの環境とスーパーユーザー権限を設定します。このスクリプトは、移行中に、IPアドレスをマシンからマシンに転送するために使用します。通常スーパーユーザーのみが利用可能なifconfig
の実行が可能でなければなりません。
wlsifconfig.sh
スクリプトの詳細は、『Oracle WebLogic Serverクラスタの管理』のサーバー全体の自動移行の構成に関する項を参照してください。
wlsifconfig.sh
スクリプトを実行するためにシステムを準備する手順は、次の項を参照してください。
次の表に記載されているコマンドは、各ホスト・コンピュータのPATH環境変数に必ず含めてください。
ファイル | ディレクトリの場所 |
---|---|
|
MSERVER_HOME/bin/server_migration
|
|
WL_HOME/common/bin
|
|
MSERVER_HOME/nodemanager
|
オペレーティング・システム・ユーザー(oracle
)にパスワード制限のないsudo権限を付与し、さらに/sbin/ifconfig
と/sbin/arping
バイナリの実行権限を付与します。
注意:
セキュリティ上の理由から、sudo
を、wlsifconfig.sh
スクリプトの実行に必要なコマンドのサブセットに限定する必要があります。
この必須の構成タスクを実行するためのsudo権限とsystem権限については、必要に応じてシステム管理者に問い合せてください。
/etc/sudoers内の次のエントリ例では、ifconfig
とarping
を実行するために、oracle
に対してsudo実行権限を付与しています。
Defaults:oracle !requiretty oracle ALL=NOPASSWD: /sbin/ifconfig,/sbin/arping
クラスタ内の移行を構成する手順は次のとおりです。
Oracle WebLogic Server管理コンソールにログインします。
「ドメイン構造」ウィンドウで、「環境」を開き、「クラスタ」を選択します。「クラスタのサマリー」ページが表示されます。
移行を構成するクラスタを、表の「名前」列でクリックします。
「移行」タブをクリックします。
「ロックして編集」をクリックします。
「移行基盤」として「データベース」を選択します。ドロップダウン・リストで、「自動移行に使用するデータ・ソース」として「リース」を選択します。
「移行可能サーバーの候補マシン」の「使用可能」フィールドでクラスタ内の管理対象サーバーを選択し、右矢印をクリックしてそれらを「選択済み」に移動します。
「リース用のGridLinkデータ・ソースの作成」で作成したリース・データ・ソースを選択します。
「保存」をクリックします。
サーバー移行の候補となるマシンを設定します。管理対象サーバーすべてについてこのタスクを次のように実行する必要があります。
Oracle WebLogic Server管理コンソールの「ドメイン構造」ウィンドウで、「環境」を開き、「サーバー」を選択します。
移行を構成するサーバーを選択します。
「移行」タブをクリックします。
「サーバーの自動移行を有効化」を選択し、「保存」をクリックします。
これにより、ノード・マネージャはターゲット・ノード上の障害発生サーバーを自動的に起動できます。
アプリケーションとリソースのターゲット設定の詳細は、「Oracle RACでのマルチ・データ・ソースの使用」を参照してください。
「移行の構成」セクションにある「使用可能」フィールドで、移行先のマシンを選択し、右向き矢印をクリックします。
この手順では、現在のホストが使用不可能になった場合に、管理対象サーバーをフェイルオーバーするホストを指定します。たとえば、HOST1上の管理対象サーバーではHOST2を選択し、HOST2上の管理対象サーバーではHOST1を選択します。
ヒント:
「サーバーの概要」ページの「この表のカスタマイズ」をクリックし、「現在のマシン」を「使用可能」ウィンドウから「選択済み」ウィンドウへ移動すると、サーバーを実行しているマシンを確認できます。このサーバーが自動的に移行すると、構成と異なる内容になります。
「変更のアクティブ化」をクリックします。
管理サーバーと、サーバー移行が構成されたサーバーを再起動します。
この項の手順を実行して、サーバー全体の自動移行が適切に機能していることを確認します。
ノード1からテストする手順は次のとおりです。
管理対象サーバーのプロセスを停止します。
kill -9 pid
pidには、管理対象サーバーのプロセスIDを指定します。次のコマンドを実行すると、ノード内のpidを確認できます。
ps -ef | grep WLS_WCC1
ノード・マネージャのコンソール(killコマンドを実行したターミナル・ウィンドウ)を確認します。管理対象サーバーの浮動IPが無効になっていることを示すメッセージが表示されているはずです。
ノード・マネージャが管理対象サーバーの2回目の再起動を試行するのを待ちます。ノード・マネージャは30秒間待機してからこの再起動を試行します。
ノード・マネージャがサーバーを再起動し、サーバーが「実行中」状態になる前に、関連するプロセスを再度強制終了します。
サーバーが再びローカルで再起動されないことを示すメッセージがノード・マネージャによってログに記録されるようになります。
注意:
必要な再起動回数は、次の構成ファイルのRestartMax
パラメータで設定されます。
MSERVER_HOME/servers/WLS_WCC1/data/nodemanager/startup.properties
デフォルト値はRestartMax=2
です。
ノード2からテストする手順は次のとおりです。
ローカルのノード・マネージャのコンソールを確認します。ノード1で最後に管理対象サーバーの再起動が試行されてから30秒経過した後、ノード2のノード・マネージャによって、管理対象サーバーの浮動IPが有効になっていること、またこのノードでサーバーが再起動されていることが表示されます。
同じIPアドレスを使用して本番URLにアクセスします。このURLに正常にアクセスできると、移行は成功しています。
管理コンソールからの検証
Oracle WebLogic Server管理コンソールを使用して、移行を検証することもできます。
注意:
サーバーの移行後、そのサーバーを元のマシンにフェイルバックするには、Oracle WebLogic管理コンソールから管理対象サーバーを停止し、再起動します。適切なノード・マネージャが、もともと割り当てられていたマシン上の管理対象サーバーを起動します。
エンタープライズ・デプロイメントで特定のサービスについて自動サービス移行を構成するには、この項の次のトピックを参照してください。
注意:
次の手順は、「リース用のGridLinkデータ・ソースの作成」の説明に従ってリース・データ・ソースをすでに作成していることが前提です。
クラスタのリース・メカニズムとデータ・ソースを設定したら、サービス移行を構成する管理対象サーバーについて自動JTA移行を有効化できます。このトピックが適用されるのは、JTAサービスをエンタープライズ・デプロイメントの一部としてデプロイしている場合のみです。
自動サービス移行を構成するとき、クラスタごとにサービス移行ポリシーを選択します。ここでは、サービス移行ポリシーを選択する際のガイドラインと考慮事項を説明します。
たとえば、シングルトンを実行したりパス・サービスを使用したりする製品またはコンポーネントは、「必ず1回のサービスを自動移行」ポリシーのメリットがあります。このポリシーでは、候補サーバーのリストにある管理ターゲット・サーバーが1つ以上動作しているとき、この移行可能ターゲットでホストされるサービスは、サーバーが失敗するか管理者によって(正常または強制的に)シャットダウンされた場合に、クラスタ内のいずれかの場所でアクティブ化されます。このために、起動時に1つのサーバーで複数の同じサービスが起動してしまうことがあります。
このポリシーを使用するときは、クラスタの起動を監視して、各サーバーでどのサーバーが実行しているかを識別する必要があります。その後、必要に応じて手動フェイルバックを実行して、システムの構成のバランスを調整できます。
他のFusion Middlewareコンポーネントの方が「障害回復サービスの自動移行」ポリシーに適しています。このポリシーでは、移行可能ターゲットのユーザー優先サーバー(UPS)が起動している場合にのみ、移行可能ターゲットでホストされているサービスが起動します。
これらのガイドラインに基づいて、Oracle WebCenter Contentエンタープライズ・デプロイメントでクラスタに対して「障害回復サービスの自動移行」を使用する必要があります。
詳細は、『Oracle WebLogic Serverクラスタの管理』の手動および自動サービス移行のポリシーに関する項を参照してください。
自動サービス移行が発生した場合、Oracle WebLogic Serverでは、サーバーがオンラインに戻りクラスタに再度参加するときに、サービスが元のサーバーにフェイルバックすることはサポートされません。
そのため、フェイルオーバー中に、自動サービス移行によって特定のJMSサービスがバックアップ・サーバーに移行されたあとは、元のサーバーがオンラインに戻っても、サービスが元のサーバーに移行されることはありません。かわりに、サービスを元のサーバーに手動で移行する必要があります。
サービスを元のサーバーにフェイルバックするには、次の手順を実行します。
まだ行っていない場合は、管理コンソールの「チェンジ・センター」で、「ロックして編集」をクリックします。
「ドメイン構造」ツリーで、「環境」、「クラスタ」の順に開き、「移行可能なターゲット」を選択します。
1つ以上の移行可能なターゲットを一度に移行するには、「移行可能なターゲットのサマリー」ページで次を実行します。
「制御」タブをクリックします。
チェック・ボックスを使用して、移行する1つまたは複数の移行可能なターゲットを選択します。
「移行」をクリックします。
「新しいホスト・サーバー」ドロップダウンを使用して、元の管理対象サーバーを選択します。
「OK」をクリックします。
JMS関連サービスを移行するためのリクエストが発行され、構成編集ロックが解除されます。「移行可能なターゲット」表の「最後の移行のステータス」列に、リクエストされた移行が成功したのか、失敗したのかが示されます。
特定の移行可能なターゲットを移行するには、「移行可能なターゲットの概要」ページで、次の手順を実行します。
移行する移行可能なターゲットを選択します。
「制御」タブをクリックします。
再度、移行する移行可能なターゲットを選択します。
「移行」をクリックします。
「新しいホスト・サーバー」ドロップダウンを使用して、移行可能なターゲットのための新しいサーバーを選択します。
「OK」をクリックします。