通常、管理者は、設定済MASTER
マシンで日常的な管理タスクを行います。MASTER
マシン上のDBBLは、構成内のほかのマシンをモニターし、構成を更新し、TMIB
への動的な変更をブロードキャストします。マシンのクラッシュ、データベースの破壊、Oracle Tuxedoシステムの問題、ネットワークの分断、アプリケーション・フォルトなどが原因でMASTER
マシンに障害が発生しても、アプリケーションは停止しません。クライアントのアプリケーションへの参加、サーバーからのサービス・リクエストの発行、およびローカル・マシンでの名前指定は引き続き可能です。ただし、MASTER
マシンが復元されないかぎり、サーバーをアクティブまたは非アクティブにしたり、管理者側でシステムを動的に再構成することはできません。
同様のことがアプリケーション・サーバーにも当てはまります。アプリケーション・サーバーは、特定のマシン上でクライアントのリクエストを処理するように構成されていますが、 マシンに障害が発生したり、停止する必要が生じると、そのマシン上のサーバーは使用できなくなります。このような場合は、設定済BACKUP
マシンまたは代替マシンにサーバーを移行することができます。
停止の準備(サービスまたはアップグレードのため)として移行を行う場合、マシン障害に固有の問題は管理者に通知されません。したがって、この場合の管理者は、高レベルの権限で移行作業を管理できます。
Masterマシンの移行とは、設定済MASTER
マシンから設定済BACKUP
マシンにDBBLを移動するプロセスのことです。このプロセスにより、設定済MASTER
マシンがダウンしていても、サーバーは引き続きサービスを提供することができます。移行を行うには、まず、設定済BACKUP
マシンを代理のMASTER
マシンとし、設定済MASTER
マシンを代理のBACKUP
マシンとするよう、管理者側から要求します。これで、すべての管理機能は、代理のMASTER
マシンで行われます。つまり、構成内のほかのマシンをモニタリングし、構成の動的な変更を受け付けます。
図7-1では、マシン2(構成済のBACKUP
マシン)が代理のMASTER
マシンになり、マシン1(構成済のMASTER
マシン)が代理のBACKUP
マシンになっています。構成済のMASTER
マシンが利用できるようになると、代理のMASTER
マシン(構成済のBACKUP
マシン)から再びアクティブにされます。構成済のMASTER
マシンには、代理のMASTER
マシンを制御する権限が再び与えられます。
管理者は、各サーバー・グループに対してプライマリ・マシンと代替マシンを指定します。サーバー・グループの移行プロセスでは、代替マシン上のサーバー・グループをアクティブにします。
図 7-2では、グループAがマシン1(プライマリ・マシン)に割り当てられ、マシン2がグループAの代替マシンとして割り当てられています。移行後、グループAはマシン2でアクティブ化されます。つまり、このグループ内のすべてのサーバーおよび関連するサービスは、マシン2(代理のプライマリ・マシン)で提供されます。
単に1つのサーバー・グループを移行することも便利ですが、実際には、マシン全体の移行の方が必要です。たとえば、コンピュータに障害が発生した場合にこのタイプの移行が必要になります。マシンの移行には、そのマシン上で稼働する各サーバー・グループを移行することも含まれます。各サーバー・グループには、代替マシンを設定する必要があります。
制御された状況(コンピュータをオフラインにしたり、アップグレードする必要がある場合など)では、管理者は、サーバーやサービスの現在の構成情報を保存し、これらの情報を、代替マシンでサーバーをアクティブにするときに使用できます。構成情報をこのように使用できるのは、サーバーが非アクティブになり、移行のリクエストに応答できなくなっても、サーバー・エントリがプライマリ・マシンに保持されるためです。
移行処理では、サーバー・グループ全体を移行することも、マシン全体を移行することもできます。マシン全体の移行は、プライマリ・マシン上のすべてのサーバー・グループに対して同じマシンが代替マシンとして設定されている場合に可能です。これ以外の場合(プライマリ・マシン上の異なるサーバー・グループに対して別々の代替マシンが設定されている)、サーバーはマシン単位ではなく、グループ単位で移行しなければなりません。
図 7-3では、マシン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を移行するには、次のコマンドを入力します。
ほとんどの場合、アプリケーション・サーバーを代替サイトに移行するか、またはMASTER
マシンを復元する必要があります。tmadmin
コマンドの詳細は、『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』のtmadmin(1)のリファレンス・ページを参照してください<Default ?Font>。
次の2つのtmadmin
セッションの例では、MASTER
マシンとBACKUP
マシンの切替え方法を示しています(ここでは、BACKUP
マシンからMASTER
マシンにアクセスできるかどうかは無関係です)。リスト7-1では、BACKUPマシンからMASTER
にアクセスできるため、DBBL
プロセスはMASTER
マシンからBACKUP
マシンへ移行されます。
$ tmadmin
tmadmin - Copyright © 1987-1990 AT&T; 1991-1993 USL. All rights reserved.
> master
are you sure? [y,n] y
Migrating active DBBL from SITE1 to SITE2, please wait...
DBBL has been migrated from SITE1 to SITE2
> q
リスト7-2では、BACKUP
マシンからMASTER
マシンにアクセスできないため、DBBL
プロセスはバックアップ・ノード(SITE2)のBACKUP
マシン上に作成されます。
$ tmadmin
...
TMADMIN_CAT:199: WARN: Cannot become administrator.Limited set of commands available.
> master
Are you sure? [y, n] y
Creating new DBBL on SITE2, please wait ...
New DBBL created on SITE2
> q
$ tmadmin
...
> pcl SITE1
Cleaning the DBBL.
Pausing 10 seconds waiting for system to stabilize.
3 SITE1 servers removed from bulletin board
> q
リスト7-3およびリスト7-4では、古いマスター(SITE1)が再度アクセスできるようになったら、次のコマンドを実行して新しいMPモードが正常に動作するようにします。両ノードのtlistenが起動していることを確認します。
$ tmadmin
...
> pcl SITE2
Cleaning the DBBL.
Pausing 10 seconds waiting for system to stabilize.
3 SITE2 servers removed from bulletin board
> q
$tmshutdown -y
$ tmadmin
...
> boot -B SITE1 -l SITE1
INFO: Oracle Tuxedo, Version 12.1.1.0, 64-bit, Patch Level (none)
Booting admin processes ...
exec BBL -A :
on SITE1 -> process id=15044 ... Started.
Booting server processes ...
exec serverping -A :
on SITE1 -> process id=15053 ... Started.
2 processes started.
> q
UBBCONFIG
ファイルのGROUPS
セクションで、移行されるサーバー・グループのLMID
パラメータに代替ロケーションを指定します。そのグループ内のサーバーにはRESTART=Y
を指定し、UBBCONFIG
ファイルのRESOURCES
セクションでMIGRATE
オプションを指定する必要があります。tmshutdown -R -g
groupname
tmadmin
セッションを開始します。tmadmin
tmadmin
のプロンプトで、次のどちらかのコマンドを入力します。TLOG
をBACKUP
マシンに移動し、それをロードしてウォームスタートを行います。 プライマリ・マシンから代替マシンにアクセスできる場合は、次の手順でサーバー・グループを移行します。
プライマリ・マシンから代替マシンにアクセスできない場合は、必要に応じて次の手順でMASTER
マシンとBACKUP
マシンを切り替えます。
次の2つのセッション例では、サーバー・グループの移行方法を示しています(ここでは、プライマリ・マシンから代替マシンにアクセスできるかどうかは無関係です)。リスト7-5では、プライマリ・マシンから代替マシンにアクセスできます。
$ tmshutdown -R -g GROUP1
Shutting down server processes...
Server ID = 1 Group ID = GROUP1 machine = SITE1: shutdown succeeded
1 process stopped.
$ tmadmin
tmadmin - Copyright © 1987-1990 AT&T; 1991-1993 USL.
> migg GROUP1
migg successfully completed
> q
リスト7-6では、プライマリ・マシンから代替マシンにアクセスできません。
$ tmadmin
tmadmin - Copyright © 1987-1990 AT&T; 1991-1993 USL.
> pclean SITE1
Cleaning the DBBL.
Pausing 10 seconds waiting for system to stabilize.
3 SITE1 servers removed from bulletin board
> migg GROUP1
migg successfully completed.
> boot -g GROUP2
Booting server processes ...
exec simpserv -A :
on SITE2 -> process id=22699 ... Started.
1 process started.
> q
LMID
を使用して、サーバー・グループが稼働するプロセッサを指定します。LMID
のすべてのサーバー・グループに対して同じ代替ロケーションを指定します。 UBBCONFIG
ファイルのRESOURCES
セクションで、次のようにパラメータを設定します。tmshutdown
-R
migratemach
(migm
)コマンドを使用してすべてのサーバー・グループを1つのマシンから別のマシンに移行します。(このコマンドでは、引数として1つの論理マシン識別子を指定します。)プライマリ・マシンから代替マシンにアクセスできる場合は、次の手順でマシンを移行します。
プライマリ・マシンから代替マシンにアクセスできない場合は、必要に応じて次の手順でMASTER
マシンとBACKUP
マシンを切り替えます。
リスト7-7は、マシンの移行方法を示しています。最初の例では、プライマリ・マシンから代替マシンにアクセスできます。
$ tmshutdown -R -l SITE1
Shutting down server processes...
Server ID = 1 Group ID = GROUP1 machine = SITE1: shutdown
succeeded 1 process stopped.
$ tmadmin
tmadmin - Copyright © 1987-1990 AT&T; 1991-1993 USL.
> migm SITE1
migm successfully completed
> q
リスト7-8では、プライマリ・マシンから代替マシンにアクセスできません。
$ tmadmin
tmadmin - Copyright © 1987-1990 AT&T; 1991-1993 USL.
>pclean SITE1
Cleaning the DBBL.
Pausing 10 seconds waiting for system to stabilize.
3 SITE1 servers removed from bulletin board
> migm SITE1
migm successfully completed.
> boot -l SITE2
Booting server processes ...
exec simpserv -A :
on SITE2 -- process id=22782 ... Started.
1 process started.
>q
1台の論理マシンのみでエラーが発生する(接続不可状態になる)と、自動移行機能が有効にされており、かつUBBで定義されたバックアップ・マシンがエンティティに含まれる場合、マシンのエンティティ(DBBLおよびサーバー・グループ)は自動移行機能によって移行されます。ネットワークの問題のみを原因としてマシンが接続不能状態になり、自動移行機能が起動される場合、ネットワークの問題が解決され、「デッド」状態のマシンが復旧すると、重複エンティティの1つは削除されます。
自動移行機能を有効化するには、2つのしきい値オプションをUBBCONFIG
の*RESOURCES
セクションで構成する必要があります。
SGRPFAILOVER
はデフォルトで0に設定されます。サーバー・グループの自動移行が有効になるのは、SGRPFAILOVER
が0を超える場合のみです。
それ以外にも、2つの関連属性TA_DBBLFAILOVER
およびTA_SGRPFAILOVER
がMIB
操作用のT_DOMAIN
クラスで定義されます。
詳細は、「UBBCONFIG(5)」または「TM_MIB(5)」のリファレンスを参照してください。
サーバー・グループまたはマシンを非アクティブにした後で移行作業を中止したい場合は、再びサーバー・グループまたはマシンをアクティブにする前に移行を取り消すことができます。ネーム・サーバー内にある、非アクティブにされたサーバーとサービスの情報はすべて削除されます。
停止を実行しても、migrate
コマンドを実行する前であれば、表7-1に示すコマンドの1つを使用して移行を取り消すことができます。
リスト7-9のtmadmin
セッションの例は、サーバー・グループとマシンが、対応するプライマリ・マシンと代替マシン間で移行される手順を示しています。
$tmadmin
tmadmin - Copyright © 1987-1990 AT&T; 1991-1993 USL.
> psr -g GROUP1
a.out Name Queue Name Grp Name ID RqDone Ld Done Current Service
---------- ---------- -------- -- ------ ------- ---------------
simpserv 00001.00001 GROUP1 1 - - (DEAD MIGRATING)
> psr -g GROUP1
TMADMIN_CAT:121: No such server
migg -cancel GROUP1
>boot -g GROUP1
Booting server processes...
exec simpserv -A:
on SITE1 ->process id_27636 ... Started. 1 process started.
> psr -g GROUP1
a.out Name Queue Name Grp Name ID RqDone Ld Done Current Service
---------- ---------- -------- -- ------ ------- ---------------
simpserv 00001.00001 GROUP1 1 - - ( - )
> q
トランザクション・ログをBACKUP
マシンに移行するには、次の手順に従います。
tmadmin
セッションを開始します。tmadmin
TLOG
をダンプします。dumptlog [-z
config
] [-o
offset
] [-n
filename
] [-g
groupname
]
注: | TLOG は、引数config およびoffset を使用して指定します。offset はデフォルトで0 に設定されます。name はデフォルトでTLOG に設定されます。-g オプションを選択すると、TMS によって調整された、groupname のレコードだけがダンプされます。 |
filename
をBACKUP
マシンにコピーします。TLOG
にファイルを読み込みます。loadtlog -m
machine filename
TLOG
を強制的にウォームスタートさせます。logstart
machine
TLOG
の情報が読み込まれ、この情報を使用して共有メモリー内のトランザクション表にエントリが作成されます。
BACKUP
マシンに移行します。