Hitachi

JP1 Version 12 JP1/Network Node Manager i セットアップガイド


付録G.9 nnmcluster

NNMiクラスタサービスを開始します。

SYNOPSIS

nnmcluster [-disable|-enable] [-display] [-interfaces] [-startnnm|-stopnnm] [-acquire|-relinquish] [-shutdown] [-dbsync] [-halt] [-node nodename] [-daemon]

DESCRIPTION

nnmclusterは,NNMiクラスタプロセスを開始します。NNMiクラスタは,二つのシステムを使用することによって,一方のシステムに障害が発生した場合のNNMiサービスの運用を保証します。両方のノードでnnmclusterコマンドを実行すると,両ノードが互いに相手を検出し,クラスタを形成します。先にクラスタに参加したノードは"アクティブ"状態となり,(ovstartコマンドにより)NNMiサービスを開始します。後でクラスタに参加したノードは,既にアクティブなノードが存在していることを検出し,"スタンバイ"状態となります。システムのシャットダウンや障害などで,スタンバイノードとアクティブノードとの接続が切断されると,スタンバイノードはアクティブ状態となり,NNMiサービスを開始します。

nnmclusterをコマンドラインパラメータなしで呼び出すと,クラスタは対話モードで起動します。対話モードでは,クラスタの設定を対話式の操作で表示したり変更したりできます。対話モードで表示したり変更したりできる設定には,自動フェイルオーバーの有効化/無効化の切り替え,クラスタ内ノードのシャットダウン,NNMiサービスのアクティブノードからスタンバイノードへの移行などがあります。

nnmcluster-daemonパラメータを付けて呼び出された場合,NNMiクラスタはバックグラウンドデーモンプロセス,または,Windowsサービスとして起動します。

ほかのパラメータを指定してnnmclusterコマンドを呼び出した場合,コマンドラインに指定されたアクションが開始されます。これらのアクションは通常,ローカルノードのNNMiクラスタデーモンプロセスを対象としますが,-node nodenameオプションを使用すると,指定したノードのNNMiクラスタデーモンプロセスが対象となります。

コマンドラインに指定できるオプションのほとんどは対話モードでも使用できます。例えば,コマンドラインでの"-shutdown"オプションの指定は,対話モードでの"shutdown"コマンドに対応します。対話モードだけで使用できるコマンドもいくつかあります。例えば,使用できるコマンドを一覧表示する"help"コマンドや,対話モードを終了する"quit"コマンドがその一例です。"-node nodename"コマンドも対話モードに用意されています。

なお,NNMiサービスを開始できるのは,NNMiクラスタデーモンプロセスだけです。対話モードおよびコマンドラインのアクション指定は,クラスタ内ノードの一方のデーモンプロセスの動作を実行するための方法です。例えば,"-acquire"を指定した場合は,ローカルノード(-nodeオプションでノードを指定した場合は指定されたノード)上のデーモンプロセスが,アクティブな状態を取得し,NNMiサービスを開始します。いったん開始されたNNMiクラスタデーモンプロセスとのやりとりは,コマンドラインまたは対話モード設定を通じて行います。例えば,開始されたNNMiクラスタデーモンプロセスを終了したい場合は,nnmcluster -shutdownコマンドを使用します。

NNMiクラスタアプリケーションは,アクティブノードとスタンバイノードとの間で組み込みデータベースを同期します。この動作は,データベースの完全なバックアップをスタンバイノードに送信した後,定期的に増分データベーストランザクションログを送信することで実現されます。完全バックアップとトランザクションログを送信する頻度(間隔)は,ほかのクラスタパラメータと一緒にnms-cluster.propertiesファイルに定義します。

NNMiクラスタアプリケーションにはスタートアップ期間があり,この期間を経てからデータベースをアクティブノードからスタンバイノードへ送信できるようになります。 このスタートアップ期間の間は,アクティブな状態をスタンバイノードへ移動させるコマンドオプションが無効になります。このようなオプションとしては,shutdownacquirerelinquish,その他の使用可能オプションがあります。これらのオプションにより,スタンバイノードのデータベースが不完全な状態となり,NNMiを実行できない状態になるため,これらは無効にされます。しかしながら,スタンバイノードがデータベース全体を受信すると,その時点以降に問題となる期間はなく,両方のシステムが動作を継続します(再起動を行うと,スタンバイノードがアクティブノードと同期状態であるかどうかを検証し直します)。

Parameters

nnmclusterコマンドは,次のオプションをサポートします。サポートされないオプションを指定した場合,使用方法のメッセージが表示されます。オプションは,常に指定した順序で処理されます。例えば,"-display -disable"と指定する場合と,"-disable -display"と指定する場合は,結果が異なります。

-node nodename

オプションを指定時以外は,すべてのパラメータがローカルノード上のNNMi クラスタデーモンプロセスを参照します。

-disable
自動フェイルオーバー機能を無効にします(自動フェイルオーバー機能はデフォルトでは有効となります)。システム管理者は,管理作業を行うため短時間,アクティブノードをシャットダウンする場合があります。-disableパラメータを指定すると,スタンバイノードをアクティブにしてNNMiサービスを起動することなく,アクティブノードをシャットダウンできます。-acquireオプションに続けて-enableオプションを指定すると,同じノードをアクティブ状態のまま再起動できます。
-enable
上述の方法で無効化された自動フェイルオーバー機能を再び有効化します。
-interfaces
システムに搭載されているネットワークインタフェース(NIC)の一覧を作成し,システムの命名規則とJavaの命名規則を表示します。Linuxプラットフォームでは,"eth0","lan1","bge3"など,両者は同じ値になります。Windowsでは,"Network Interface 1"が"eth3"にマッピングされるなど,名称が異なります。 このオプションの目的は,データNICの代わりに管理NICを選択するなど,NNMiクラスタの通信で使用するNICを制御することです。上記のWindowsの例では,NNMiクラスタは"eth3"などのJava名を知っている必要があります。
-display
クラスタに接続し,現在のクラスタ状態を問い合わせ,状態を管理者に対して表示します。
-startnnm
-stopnnmオプションでNNMiサービスを停止した場合など,NNMiサービスがアクティブノードで稼働しているとは限りません。-startnnmオプションはこれらのNNMiサービスをアクティブノードで起動します。
-stopnnm

アクティブノードのNNMiサービスをシャットダウンしますが,"アクティブ"状態は解除されません。このオプションを指定した場合,フェイルオーバーイベントは発生しません。つまり,スタンバイノードにアクティブ状態が移行するわけではありません。

-acquire
システム管理者は,現在"アクティブ"状態のノードから"スタンバイ"状態のほかのノードにNNMiサービスを移行する場合があります。-nodeオプションでノードを指定しない場合は,ローカルシステムが新しいアクティブなノードとなります。-node nodenameオプションでノードを指定した場合は,指定したノードが新しいアクティブなノードとなります。
-relinquish
ローカル(アクティブ)ノードのアクティブ状態を放棄し,NNMiサービスをスタンバイノードに移行するためのオプションです。アクティブ状態を放棄するノードはNNMiサービスを停止し,スタンバイ状態となります。
-dbsync
アクティブなノード上でデータベースをバックアップして,スタンバイなノードのデータベースへ同期させます。
-shutdown
ローカルノード上のNNMiクラスタデーモンプロセスをシャットダウンします。-nodeオプションでノードを指定した場合は,指定したノード上の NNMiクラスタデーモンプロセスをシャットダウンします。NNMiクラスタプログラムは,クラスタのシャットダウンによってスタンバイノードのデータ完全性が損なわれる可能性がある場合は,クラスタのシャットダウンを禁止します。例えば,スタンバイノードがアクティブノードからデータベースの完全なバックアップを受信しているときに,フェイルオーバーイベントが生じるのは好ましくありません。シャットダウンを行ったときに,クラスタが移行状態にあることを通知するメッセージを受信することがあります。つまり,スタンバイノードが重要なデータを受信しているため,それが完了してからシャットダウンを行う必要があるということです。また,アクティブノードが存在しない状態でスタンバイノードをシャットダウンすることはできませんので注意してください。アクティブノードとスタンバイノードの両方を停止させる場合は,-haltオプションの使用を推奨します。このオプションでは,スタンバイノードが停止してからアクティブノードが停止します。
-halt
クラスタ内のすべてのノードのNNMiクラスタデーモンプロセスをシャットダウンします。このオプションを指定した場合,フェイルオーバーを無効にしてからすべてのスタンバイノードをシャットダウンし,最後にアクティブノードをシャットダウンします。
-node nodename
コマンドラインで指定された一つまたは複数のアクションが,指定したノード上のNNMiクラスタデーモンプロセスに実行されます。このオプションを指定しない場合,コマンドラインで指定されたアクションは,ローカルノード上のNNMiクラスタデーモンに適用されます。
-daemon
NNMiクラスタをデーモンとして起動します。コマンドはバックグラウンドで即時実行されます。デーモンモードでは,コマンドラインにほかのパラメータを指定できません。

RETURN VALUE

コマンドラインオプションを指定したnnmclusterコマンドが成功した場合,コマンドはステータス0(ゼロ)で終了します(エラーなし)。一方,コマンドラインオプションを指定したnnmclusterコマンドが失敗した場合,コマンドはステータス1で終了します(エラー発生)。対話モードでは,終了ステータスは常に0となります。

デーモンモードでは,nnmclusterコマンドはバックグラウンドプロセスとして動作し,シェルプロンプトが即座に返されます。デーモンプロセスを開始した場合,クラスタの状態はnnmcluster -displayコマンドまたはovstatusコマンドで確認できます。つまり,(クラスタ内のほかのノードとの兼ね合いで,ノードのアクティブ/スタンバイ状態により)NNMiクラスタはNNMiサービスを開始するタイミングを判定します。ovstatusコマンドは,スタンバイノードの"稼働していない"状態を通知しますが,nnmcluster -displayコマンドはノードがスタンバイ状態にあることを通知します。

DIAGNOSTICS

nnmcluster は,NNMiログディレクトリ(Windowsの場合は%NNM_DATA%\log\nnm,Linuxの場合は$NNM_DATA/log/nnm)にログを出力します。デーモンの動作モードが対話モードであってもコマンドラインであっても,動作中のnnmclusterプロセスのアクティブなインスタンスごとに個別のログファイルが生成されます。最新の実行スレッドは常に"nnmcluster.0.*.log"となります。NNMiクラスタは内部的に"JGroups"と呼ばれるオープンソースの技術を使用します。JGroupsのログファイルは,"jgroups.log"という名前で上記のディレクトリに保存されます。

EXAMPLES

nnmcluster -daemon

nnmcluster -display

最初のコマンドを実行すると,NNMiクラスタがデーモンプロセスとして起動し,シェルプロンプトが即座に返されます。デーモンプロセスはバックグラウンドで実行されます。対話モードまたはコマンドラインモードを使用すると,このデーモンプロセスに対して照会,シャットダウン,またはその他のアクションの適用を行うことができます。2番目は繰り返して使用するコマンドで,クラスタ(特にローカルデーモンプロセス)の状態を監視し,起動状態がアクティブかスタンバイかを確認できます。

nnmcluster -shutdown -node xyz.mycompany.com

指定したノード上のNNMiクラスタデーモンプロセスをシャットダウンします。 指定したノードがアクティブノードの場合,自動フェイルオーバーが有効のときは,NNMiサービスはスタンバイノードに移行します。

nnmcluster

NNMiクラスタコマンドの対話モードを開始し,クラスタパラメータを表示または変更します。このプログラムを終了するには,"exit"コマンドまたは"quit"コマンドを使用します。

nnmcluster -acquire

デーモンモードで動作している,ローカルシステムのNNMiクラスタプロセスをアクティブノードに切り替えます。現在アクティブなノードがスタンバイモードに設定され,NNMiサービスがローカルノードで開始されます。

一般的なシステム管理手順を次に示します。管理者は,アクティブノードのNNMiクラスタを一時的にシャットダウンし,スタンバイノードへのフェイルオーバーイベントを発生させずに,アクティブノードをアクティブノードのまま後で再起動します。

手順1:nnmcluster -disable -shutdown コマンドを実行します。

手順2:必要なシステム管理タスクを実行します。

手順3:nnmcluster -daemon コマンドを実行します。

手順4:nnmcluster -display コマンドを実行します。このコマンドを使用して,デーモンがいつ起動するかを確認します。

手順5:nnmcluster -enable コマンドを実行します。

手順1に示すコマンドを実行すると,まずフェイルオーバーが無効になり,ローカルデーモンプロセスがシャットダウンされます。手順2では,フェイルオーバーをトリガーするおそれがない状態で,システム管理者が管理タスクを実行します。手順3に示すコマンドにより,デーモンモードのNNMiクラスタプロセスが再起動します。手順4に示すコマンドを繰り返し使用すると,ローカルデーモンプロセスが起動して NNMiが実行されるタイミングを確認できます。手順5に示すコマンドで,アクティブノードのNNMiが起動した後に自動フェイルオーバーを再度有効にします。

AUTHOR

nnmcluster was developed by Micro Focus.

FILES

このファイルはクラスタパラメータを定義します。具体的には,クラスタに一意な名前を付け,同じネットワークに存在するほかのNNMiクラスタと区別する必要があります。オプションで,タイムアウトなどのほかのパラメータを設定できます。

SEE ALSO

ovstart, ovstop.