Oracle Tuxedo アプリケーション実行時の管理

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

アプリケーションの移行

ここでは、以下の内容について説明します。

 


アプリケーションの移行について

通常、管理者は、設定済みの MASTER マシンで日常的な管理タスクを行います。MASTER マシン上の DBBL は、コンフィグレーション内のほかのマシンをモニタし、コンフィグレーションを更新し、TMIB への動的な変更をブロードキャストします。マシンのクラッシュ、データベースの破壊、Oracle Tuxedo システムの問題、ネットワークの分断、アプリケーションの障害などが原因で MASTER マシンに障害が発生しても、アプリケーションは停止しません。クライアントのアプリケーションへの参加、サーバからのサービス要求の発行、およびローカル マシンでの名前指定は引き続き可能です。ただし、MASTER マシンが復元されない限り、サーバをアクティブまたは非アクティブにしたり、管理者側でシステムを動的に再コンフィグレーションすることはできません。

同様のことがアプリケーション サーバにも当てはまります。アプリケーション サーバは、特定のマシン上でクライアントのリクエストを処理するようにコンフィグレーションされていますが、マシンに障害が発生したり、停止する必要が生じると、そのマシン上のサーバは使用できなくなります。このような場合は、設定済みの BACKUP マシンまたは代替マシンにサーバを移行することができます。

停止の準備 (サービスまたはアップグレードのため) として移行を行う場合、マシン障害に固有の問題は管理者に通知されません。したがって、この場合の管理者は、高レベルの権限で移行作業を管理できます。

Master マシンの移行

Master マシンの移行とは、設定済みの MASTER マシンから設定済みの BACKUP マシンに DBBL を移動するプロセスのことです。このプロセスにより、設定済みの MASTER マシンがダウンしていても、サーバは引き続きサービスを提供することができます。移行を行うには、まず、設定済みの BACKUP マシンを代理の MASTER マシンとし、設定済みの MASTER マシンを代理の BACKUP マシンとするよう、管理者側から要求します。これで、すべての管理機能は、代理の MASTER マシンで行われます。つまり、コンフィグレーション内のほかのマシンをモニタし、コンフィグレーションの動的な変更を受け付けます。

次の図では、マシン 2 (設定済みの BACKUP マシン) が代理の MASTER マシンになり、マシン 1 (設定済みの MASTER マシン) が代理の BACKUP マシンになっています。設定済みの MASTER マシンが利用できるようになると、代理の MASTER マシン (設定済みの BACKUP マシン) から再びアクティブにされます。設定済みの MASTER マシンには、代理の MASTER マシンを制御する権限が再び与えられます。

サーバ グループの移行

管理者は、各サーバ グループに対してプライマリ マシンと代替マシンを指定します。サーバ グループの移行プロセスでは、代替マシン上のサーバ グループをアクティブにします。

次の図では、グループ A がマシン 1 (プライマリ マシン) に割り当てられ、マシン 2 がグループ A の代替マシンとして割り当てられています。移行後、グループ A はマシン 2 でアクティブ化されます。つまり、このグループ内のすべてのサーバおよび関連するサービスは、マシン 2 (代理のプライマリ マシン) で提供されます。

マシンの移行

単に 1 つのサーバ グループを移行することも便利ですが、実際には、マシン全体の移行の方が必要です。たとえば、コンピュータに障害が発生した場合にこのタイプの移行が必要になります。マシンの移行には、そのマシン上で稼動する各サーバ グループを移行することも含まれます。各サーバ グループには、代替マシンを設定する必要があります。

スケジュール設定された移行の実行

制御された状況 (コンピュータをオフラインにしたり、アップグレードする必要がある場合など) では、管理者は、サーバやサービスの現在のコンフィグレーション情報を保存し、これらの情報を、代替マシンでサーバをアクティブにするときに使用できます。コンフィグレーション情報をこのように使用できるのは、サーバが非アクティブになり、移行の要求に応答できなくなっても、サーバ エントリがプライマリ マシンに保持されるためです。

移行処理では、サーバ グループ全体を移行することも、マシン全体を移行することもできます。マシン全体の移行は、プライマリ マシン上のすべてのサーバ グループに対して同じマシンが代替マシンとして設定されている場合に可能です。これ以外の場合 (プライマリ マシン上の異なるサーバ グループに対して別々の代替マシンが設定されている)、サーバはマシン単位ではなく、グループ単位で移行しなければなりません。

次の図では、マシン 1 が設定済みの MASTER マシンおよびグループ B のプライマリ マシンであり、マシン 2 が設定済みの BACKUP です。サーバ グループ B には、プライマリ マシンとしてマシン 1 が設定されており、代替マシンとしてマシン 3 が設定されています。マシン 1 がダウンすると、マシン 2 が代理の MASTER マシンとなります。サーバ グループ B は非アクティブになり、代替マシンであるマシン 3 に移行され、再びアクティブになります。

グループ内のすべてのサーバを非アクティブにしたら、代理のプライマリ マシンから代理の代替マシンにグループを移行できます。実行中のサーバ、現在宣言されているサービス、および動的に変更されたコンフィグレーション内容を指定する必要はありません。設定済みの代替マシンは、設定済みのプライマリ マシン上で利用可能なサーバ (非アクティブの場合) のコンフィグレーション情報から、これらの情報を取得します。使用されているデータ依存型ルーティングが代替マシンでも適用される場合、サービスは、ルーティング先のグループ名 (マシン名ではない) に基づいてルーティングされます。

移行の対象がアプリケーションの一部であっても、全体であっても、サービスの中断を最小限に抑えるように変更処理を行ってください。アプリケーションのマシン、ネットワーク、データベース、およびその他のコンポーネントの整合性は、そのままにしておく必要があります。Oracle Tuxedo システムにはアプリケーションの移行時に、すべてのコンポーネントの整合性を保持するための方法が用意されています。

 


移行の種類

Oracle Tuxedo システムでの移行作業には、次の種類があります。

移行をキャンセルすることもできます。

上記のアプリケーション コンポーネントの組み合わせに従って移行を行い、分断されたネットワークを回復するためのユーティリティを使用すると、マシン全体を移行できます。

 


Master マシンと Backup マシンの切り替え

MASTER マシンを保守のために停止する場合、または予想外の問題が原因でアクセスできなくなった場合 (ネットワークの分断など) は、MASTER マシンでの作業を設定済みの BACKUP マシンに移行する必要があります。

注意 : MASTER マシンと BACKUP マシンで同じリリースの Oracle Tuxedo ソフトウェアを実行していることを確認してから MASTER マシンを移行してください。

この種の移行は、DBBL を MASTER マシンから BACKUP マシンへ移行することによって実現できます。DBBL を移行するには、次のコマンドを入力します。

tmadmin master

ほとんどの場合、アプリケーション サーバを代替サイトに移行するか、または MASTER マシンを復元する必要があります。tmadmin コマンドの詳細については、『Tuxedo コマンド リファレンス』の「tmadmin(1)」リファレンス ページを参照してください。

MASTER マシンと BACKUP マシンの切り替え例

次の 2 つの tmadmin セッションの例では、MASTER マシンと BACKUP マシンの切り替え方法を示しています。ここでは、BACKUP マシンから MASTER にアクセスできるかどうかは無関係です。最初の例では、BACKUP マシンから MASTER にアクセスできるため、DBBL プロセスは MASTER マシンから BACKUP マシンへ移行されます。

コード リスト 7-1 MASTER マシンと BACKUP マシンの切り替え (BACKUP マシンから MASTER マシンにアクセスできる場合)
$ tmadmin
tmadmin - Copyright © 1987-1990 AT&T; 1991-1993 USL. All rights reserved.
> master
よろしいですか? [y,n] y
SITE1 から SITE2 にアクティブな DBBL を移行しています。お待ちください。
DBBL は SITE1 から SITE2 に移行しました。
> q

2 番目の例では、BACKUP マシンから MASTER マシンにアクセスできないため、DBBL プロセスは BACKUP マシン上に作成されます。

コード リスト 7-2 MASTER マシンと BACKUP マシンの切り替え (BACKUP マシンから MASTER マシンにアクセスできない場合)
$ tmadmin
tmadmin - Copyright © 1987-1990 AT&T; 1991-1993 USL. All rights reserved.
TMADMIN_CATT:199: 管理者になることができません。一部のコマンドが利用できます。
> master
よろしいですか? [y,n] y
SITE2 上に新しい DBBL を作成しています。お待ちください。新しい DBBL を SITE2 に作成しました。
> q

 


サーバ グループの移行

  1. UBBCONFIG ファイルの GROUPS セクションで、移行されるサーバ グループの LMID パラメータに代替ロケーションを指定します。そのグループ内のサーバには RESTART=Y を指定し、UBBCONFIG ファイルの RESOURCES セクションで MIGRATE オプションを指定する必要があります。
  2. サーバ グループを移行する場合は、次のコマンドを実行して、グループ内のサーバを停止します。
  3. tmshutdown -R -g groupname
  4. 次のコマンドを入力して tmadmin セッションを開始します。
  5. tmadmin
  6. tmadmin のプロンプトで、次のどちらかのコマンドを入力します。
    • 1 つのグループ内のすべてのサーバを移行するには、次のコマンドを入力します。
    • migrategroup(migg)

      このコマンドには、1 つのサーバ グループの名前を引数として指定します。

    • マシン上のすべてのサーバ グループ (LMID で指定) を移行するには、次のコマンドを入力します。
    • migratemach(migm)
  7. 移行するサーバ グループに含まれるサーバに対してトランザクションが記録されている場合は、TLOGBACKUP マシンに移動し、それをロードしてウォームスタートを行います。

サーバ グループの移行 (プライマリ マシンから代替マシンにアクセスできる場合)

プライマリ マシンから代替マシンにアクセスできる場合は、次の手順でサーバ グループを移行します。

  1. 次のコマンドを入力して、MASTER マシンを停止します。
  2. tmshutdown -R -g groupname
  3. 次のコマンドを入力して、プライマリ マシンで tmadmin セッションを開始します。
  4. tmadmin
  5. 次のコマンドを入力して、適切なグループを移行します。
  6. migrategroup groupname
  7. 必要に応じてトランザクション ログを移行します。
  8. 必要に応じてアプリケーション データを移行します。

サーバ グループの移行 (プライマリ マシンから代替マシンにアクセスできない場合)

プライマリ マシンから代替マシンにアクセスできない場合は、必要に応じて次の手順で MASTER マシンと BACKUP マシンを切り替えます。

  1. 代替マシンで次のコマンドを入力して tmadmin セッションを開始します。
  2. tmadmin
  3. 次のコマンドを入力して、クリーンアップと再起動が必要なプライマリ マシン上のサーバを指定し、処理を実行します。
  4. pclean primary_machine
  5. 次のコマンドを入力して、適切なサーバ グループを設定済みの代替マシンに転送します。
  6. migrate groupname
  7. 次のコマンドを入力して、移行後のサーバ グループを起動します。
  8. boot -g groupname

サーバ グループの移行例

次の 2 つのセッション例では、サーバ グループの移行方法を示しています。ここでは、プライマリ マシンから代替マシンにアクセスできるかどうかは無関係です。最初の例では、プライマリ マシンから代替マシンにアクセスできます。

コード リスト 7-3 サーバ グループの移行 (プライマリ マシンから代替マシンにアクセスできる場合)
$ tmshutdown -R -g GROUP1
アプリケーションのサーバ プロセスを停止します。
サーバ ID = 1 グループ ID = GROUP1 マシン = SITE1: 停止しました。
1 個のプロセスが終了しました。
$ tmadmin
tmadmin - Copyright © 1987-1990 AT&T; 1991-1993 USL.
> migg GROUP1
移行が正常終了しました。
> q

2 番目の例では、プライマリ マシンから代替マシンにアクセスできません。

コード リスト 7-4 サーバ グループの移行 (プライマリ マシンから代替マシンにアクセスできない場合)
$ tmadmin
tmadmin - Copyright © 1987-1990 AT&T; 1991-1993 USL.
> pclean SITE1
DBBL のクリーニングをしています。
システムが安定するまで 10 秒間お待ちください。
掲示板から 3 個の SITE1 サーバを削除しました。
> migg GROUP1
移行が正常終了しました。
> boot -g GROUP2
アプリケーションのサーバ プロセスを起動します。
exec simpserv -A :
on SITE2 -> プロセス ID=22699 を起動しました。
1 個のプロセスを起動しました。
> q

 


1 つのマシンから別のマシンへのサーバ グループの移行

  1. LMID を使用して、サーバ グループが稼働するプロセッサを指定します。LMID のすべてのサーバ グループに対して同じ代替ロケーションを指定します。
  2. UBBCONFIG ファイルの RESOURCES セクションで、次のようにパラメータを設定します。
    • LMID で指定したマシン上の各サーバに対して、RESTART=Y を設定します。
    • MIGRATE オプションを指定します。
  3. 次のコマンドを入力して、すべてのサーバ グループを停止し、グループ内のサーバが再起動可能になるように設定します。
  4. tmshutdown -R
  5. プライマリ マシンを保守のために停止する場合、またはプライマリ マシンにアクセスできなくなった場合は、tmadmin(1) migratemach (migm) コマンドを使用してすべてのサーバ グループを 1 つのマシンから別のマシンに移行します。このコマンドでは、引数として 1 つの論理マシン識別子を指定します。

マシンの移行 (プライマリ マシンから代替マシンにアクセスできる場合)

プライマリ マシンから代替マシンにアクセスできる場合は、次の手順でマシンを移行します。

  1. マシン上で次のコマンドを入力して、MASTER マシンを停止します。
  2. tmshutdown -R -1 primary_machine
  3. 次のコマンドを入力して、MASTER マシンで tmadmin セッションを開始します。
  4. tmadmin
  5. tmadmin のプロンプトで、次のコマンドを入力して適切なマシンを移行します。
  6. migratemach primary_machine
  7. 必要に応じてトランザクション ログを移行します。
  8. 必要に応じてアプリケーション データを移行します。

マシンの移行 (プライマリ マシンから代替マシンにアクセスできない場合)

プライマリ マシンから代替マシンにアクセスできない場合は、必要に応じて次の手順で MASTER マシンと BACKUP マシンを切り替えます。

  1. 代替マシンで次のコマンドを入力して tmadmin セッションを開始します。
  2. tmadmin
  3. 次のコマンドを入力して、クリーンアップと再起動が必要なプライマリ マシンを指定し、処理を実行します。
  4. pclean primary_machine
  5. 次のコマンドを入力して、適切なサーバ グループを設定済みの代替マシンに転送します。
  6. migratemach primary_machine
  7. 次のコマンドを入力して、移行後のサーバ グループを起動します。
  8. boot -l alternate_machine

マシンの移行例

次のセッションの例は、マシンの移行方法を示しています。最初の例では、プライマリ マシンから代替マシンにアクセスできます。

コード リスト 7-5 マシンの移行 (プライマリ マシンから代替マシンにアクセスできる場合)
$ tmshutdown -R -l SITE1
アプリケーションのサーバ プロセスを停止します。
サーバ ID = 1 グループ ID = GROUP1 マシン = SITE1: 停止しました。
1 個のプロセスが終了しました。
$ tmadmin
tmadmin - Copyright © 1987-1990 AT&T; 1991-1993 USL.
> migm SITE1
移行が正常終了しました。
> q

2 番目の例では、プライマリ マシンから代替マシンにアクセスできません。

コード リスト 7-6 マシンの移行 (プライマリ マシンから代替マシンにアクセスできない場合)
$ tmadmin
tmadmin - Copyright © 1987-1990 AT&T; 1991-1993 USL.
>pclean SITE1
DBBL のクリーニングをしています。
システムが安定するまで 10 秒間お待ちください。
掲示板から 3 個の SITE1 サーバを削除しました。
> migm SITE1
移行が正常終了しました。
> boot -l SITE2
アプリケーションのサーバ プロセスを起動します。
exec simpserv -A :
on SITE2 -- プロセス ID=22782 を起動しました。
1 個のプロセスを起動しました。
>q

 


移行の取り消し

サーバ グループまたはマシンを非アクティブにした後で移行作業を中止したい場合は、再びサーバ グループまたはマシンをアクティブにする前に移行を取り消すことができます。ネーム サーバ内にある、非アクティブにされたサーバとサービスの情報はすべて削除されます。

停止を実行しても、migrate コマンドを実行する前であれば、次のコマンドを使用して移行を取り消すことができます。

取り消しの対象
コマンド
結果
サーバの移行
tmadmin migrategroup -cancel
または
tmadmin migg -cancel
掲示板からサーバ エントリが削除されます。移行が取り消された場合は、サーバを再起動する必要があります。
マシンの移行
tmadmin migratemach -cancel
または
tmadmin migm -cancel
移行は中止されます。

移行の取り消し例

次の tmadmin セッションの例は、サーバ グループとマシンが、対応するプライマリ マシンと代替マシン間で移行される手順を示しています。

コード リスト 7-7 サーバ グループ GROUP1 の移行の取り消し
$tmadmin  
tmadmin - Copyright © 1987-1990 AT&T; 1991-1993 USL.
> psr -g GROUP1
a.out 名      キュー名        グループ名   ID 要求終了 ロード終了 現サービス
---------- ---------- -------- -- ------ ------- ---------------
simpserv 00001.00001 GROUP1 1 - - (DEAD MIGRATING)
> psr -g GROUP1
TMADMIN_CAT:121: そのようなサーバはありません。
migg -cancel GROUP1
>boot -g GROUP1
アプリケーションのサーバ プロセスを起動します。
exec simpserv -A:
on SITE1 ->プロセス ID_27636 を起動しました。1 個のプロセスを起動しました。
> psr -g GROUP1
a.out 名      キュー名        グループ名   ID 要求終了 ロード終了 現サービス
---------- ---------- -------- -- ------ ------- ---------------
simpserv 00001.00001 GROUP1 1 - - ( - )
> q

 


Backup マシンへのトランザクション ログの移行

トランザクション ログを BACKUP マシンに移行するには、次の手順に従います。

  1. 次のコマンドを入力して tmadmin セッションを開始します。
  2. tmadmin
  3. すべてのグループ内のサーバを停止し、ログへの書き込みを中止します。
  4. 次のコマンドを実行して、テキスト ファイルに TLOG をダンプします。
  5. dumptlog [-z config] [-o offset] [-n filename] [-g groupname]
    注意 : TLOG は、引数 config および offset を使用して指定します。offset はデフォルトで 0 に設定されます。name はデフォルトで TLOG に設定されます。-g オプションを選択すると、TMS によって調整された、groupname のレコードだけがダンプされます。
  6. filenameBACKUP マシンにコピーします。
  7. 次のコマンドを入力して、指定したマシンの既存の TLOG にファイルを読み込みます。
  8. loadtlog -m machine filename
  9. 次のコマンドを入力して、TLOG を強制的にウォームスタートさせます。
  10. logstart machine

    TLOG の情報が読み込まれ、この情報を使用して共有メモリ内のトランザクション テーブルにエントリが作成されます。

  11. サーバを BACKUP マシンに移行します。

  ページの先頭       前  次