Sun Cluster Geographic Edition のシステム管理

第 12 章 ハートビートの管理

Sun Cluster Geographic Edition ソフトウェアでは、パートナーシップに参加している個々のクラスタがパートナーサイトにおけるクラスタ障害を検出する手段として、公開ネットワーク上でハートビートを使用します。ハートビートモニターは、プラグインモジュールを使用して、パートナーのハートビート状態を問い合わせます。

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

ハートビートの概要

Sun Cluster Geographic Edition のハートビートは、複数のハートビートプラグインのコンテナになっています。ハートビートには、名前と、調整可能なプロパティー Query_interval が 1 つあります。Query_interval プロパティーは、ハートビート状態要求間の遅延を指定します。

ハートビートプラグインにより、実際の物理的な監視アクティビティーが簡易化されます。プラグインは、必須の照会コマンドまたは照会ライブラリ、オプションの要求エージェントおよび応答エージェント、タイプ、および Plugin_properties 文字列によって定義されます。

Sun Cluster Geographic Edition 製品には、次のデフォルトプラグインが用意されています。

カスタムハートビートを指定せずに geops create または geops join コマンドを実行すると、そのたびに、デフォルトのハートビートプラグインを使用するデフォルトのハートビートが作成されます。デフォルトのハートビートの名前は、hb_local-cluster-name~remote-cluster-name という形式になります。geops コマンドについては、geops(1M) のマニュアルページを参照してください。

カスタムハートビートプラグインを作成し、このプラグインに、デフォルトのハートビートや新しいカスタムハートビートを関連付けることができます。


注 –

カスタムハートビートは特殊な用途向けであり、構成時には注意が必要です。使用中のシステムでカスタムハートビートを使用する必要がある場合は、Sun の技術担当者に問い合わせてください。


ハートビートの作成

この節では、ハートビートの作成手順について説明します。

Procedureハートビートを作成する

新しいハートビートを作成するには、次の手順に従います。ハートビートをパートナーシップと併用する予定がある場合は、パートナーシップを作成する前にハートビートを作成する必要があります。カスタムハートビートを作成する前にパートナーシップを作成すると、パートナーシップが使用するデフォルトのハートビートによってカスタムハートビートの作成が阻止されます。

カスタムハートビートが存在すると、パートナーシップを作成している間、デフォルトのハートビートは使用されません。パートナーシップでデフォルトのハートビートを使用するには、geops create コマンドの実行前にカスタムハートビートを削除する必要があります。

手順
  1. クラスタノードの 1 つにログインします。

    この手順を行うには、Geo Management RBAC 権利プロファイルがユーザーに割り当てられている必要があります。RBAC の詳細は、「Sun Cluster Geographic Edition ソフトウェアと RBAC」を参照してください。

  2. ハートビートを作成します。


    # geohb create -r remote-clustername \
    [-p property-setting [-p...]] heartbeat-name
    
    -r remote-clustername

    リモートパートナーである二次クラスタの名前を指定します

    -p property-setting

    name=statement ペアによって値が割り当てられるハートビートプロパティーを指定します。複数の文を使用することで、複数のプロパティーを一度に設定できます。

    設定できるプロパティーについての詳細は、付録 A 「Sun Cluster Geographic Edition の標準プロパティー」を参照してください。

    heartbeat-name

    ハートビートの識別子を指定します。


    注意 – 注意 –

    同一のパートナーシップに参加している各クラス タ上のカスタムハートビート名には、異なる名前を付ける必要があります。この名前は、ハートビートを一意に識別するものを選択してください。たとえば、クラスタ cluster-paris では paris-to-newyork、クラスタ cluster-newyork では newyork-to-paris のような名前を指定できます。


    geohb コマンドについては、geohb(1M) のマニュアルページを参照してください。


例 12–1 ハートビートの作成

この例では、paris-to-newyork というハートビートを作成する方法を示します。


# geohb create -r cluster-newyork paris-to-newyork

ハートビートプラグインの作成

この節では、ハートビートプラグインの作成手順について説明します。

Procedureハートビートプラグインを作成する

手順
  1. クラスタノードの 1 つにログインします。

    この手順を行うには、Geo Management RBAC 権利プロファイルがユーザーに割り当てられている必要があります。RBAC の詳細は、「Sun Cluster Geographic Edition ソフトウェアと RBAC」を参照してください。

  2. 既存のハートビートにハートビートプラグインを追加します。


    # geohb add-plugin heartbeat-name plug-in-name \
    [-p property-setting [-p...]] 
    heartbeat-name

    ローカルクラスタ上のハートビートに識別子を指定します。

    plugin-name

    ハートビートプラグインの名前を指定します。

    -pproperty-setting

    name=statement ペアによって値が割り当てられるハートビートプラグインプロパティーを指定します。複数の文を使用することで、複数のプロパティーを一度に設定できます。

    設定できるプロパティーについての詳細は、付録 A 「Sun Cluster Geographic Edition の標準プロパティー」を参照してください。

    geohb コマンドについては、geohb(1M) のマニュアルページを参照してください。


例 12–2 ハートビートプラグインの作成

この例では、command1 というハートビートプラグインを作成する方法を示します。


# geohb add-plugin paris-to-newyork command1 -p Query_cmd=/usr/bin/hb/

ハートビートプラグインプロパティーの変更

この節では、ハートビートプラグインプロパティーを変更する手順について説明します。プラグインプロパティーを変更すると、その変更はただちに反映されます。

Procedureハートビートプラグインのプロパティーを変更する方法

手順
  1. クラスタノードの 1 つにログインします。

    この手順を行うには、Geo Management RBAC 権利プロファイルがユーザーに割り当てられている必要があります。RBAC の詳細は、「Sun Cluster Geographic Edition ソフトウェアと RBAC」を参照してください。

  2. ハートビートプラグインのプロパティーを変更します。


    # geohb modify-plugin -p property-setting \
    [-p...] plugin-name heartbeat-name
    
    heartbeat-name

    ハートビートの識別子を指定します。

    plugin-name

    ハートビートプラグインの名前を指定します。

    -p property-setting

    name=statement ペアによって値が割り当てられるハートビートプラグインプロパティーを指定します。複数の文を使用することで、複数のプロパティーを一度に設定できます。

    設定できるプロパティーについての詳細は、付録 A 「Sun Cluster Geographic Edition の標準プロパティー」を参照してください。


    注 –

    デフォルトプラグインのプロパティーの中には編集できないものがあります。


    Sun Cluster Geographic Edition ソフトウェアでサポートされる名前と値については、付録 B 「Sun Cluster Geographic Edition エンティティーに使用できる名前と値」を参照してください。

    geohb コマンドについては、geohb(1M) のマニュアルページを参照してください。


例 12–3 ハートビートプラグインのプロパティーの変更

この例では、TCP だけを使用するようにデフォルトの TCP/UDP プラグイン tcp_udp_plugin の設定を変更する方法を示します。


# geohb modify-plugin -p Plugin_properties=paris-cluster/TCP/2084 \
tcp_udp_plugin hb_cluster-paris~cluster-newyork

ハートビートとハートビートプラグインの削除

この節では、ハートビートとハートビートプラグインの削除手順について説明します。

Procedureハートビートを削除する方法

手順
  1. クラスタノードの 1 つにログインします。

    この手順を行うには、Geo Management RBAC 権利プロファイルがユーザーに割り当てられている必要があります。RBAC の詳細は、「Sun Cluster Geographic Edition ソフトウェアと RBAC」を参照してください。

  2. ハートビートを削除します。


    # geohb delete heartbeat-name
    
    heartbeat-name

    ハートビート設定の識別子を指定します

    geohb コマンドについては、geohb(1M) のマニュアルページを参照してください。


    注意 – 注意 –

    デフォルトハートビート tcp_upd_plugin icrm_pluginping_plugin は削除しないでください。



例 12–4 ハートビートの削除

この例では、paris-to-newyork というハートビートを削除する方法を示します。


# geohb delete paris-to-newyork

Procedureハートビートからプラグインを削除する方法

手順
  1. クラスタノードの 1 つにログインします。

    この手順を行うには、Geo Management RBAC 権利プロファイルがユーザーに割り当てられている必要があります。RBAC の詳細は、「Sun Cluster Geographic Edition ソフトウェアと RBAC」を参照してください。

  2. ハートビートからプラグインを除去します。


    # geohb remove-plugin plugin-name heartbeat-name
    
    plugin-name

    カスタムハートビートプラグインの名前を指定します。

    heartbeat-name

    このプラグインが含まれるハートビートの識別子を指定します。


    注 –

    デフォルトのプラグイン icrm_plugin を削除することはできません。


    Sun Cluster Geographic Edition ソフトウェアでサポートされる名前と値については、付録 B 「Sun Cluster Geographic Edition エンティティーに使用できる名前と値」を参照してください。

    geohb コマンドについては、geohb(1M) のマニュアルページを参照してください。


例 12–5 ハートビートからのプラグインの削除

この例では、ハートビート paris-to-newyork からプラグイン command1 を除去する方法を示します。


# geohb remove-plugin command1 paris-to-newyork 

ハートビート構成情報の出力

この節では、ハートビート構成情報を出力する方法について説明します。

Procedureハートビート構成情報を出力する方法

手順
  1. クラスタノードの 1 つにログインします。

    この手順を行うには、Geo Management RBAC 権利プロファイルがユーザーに割り当てられている必要があります。RBAC の詳細は、「Sun Cluster Geographic Edition ソフトウェアと RBAC」を参照してください。

  2. 特定のハートビートまたはハートビートサブシステム全体の現在の構成情報を表示します。


    # geohb list [heartbeat-name-list]
    heartbeat-name-list

    ローカルクラスタ上の特定のハートビートの名前を指定して、その構成情報を出力します

    ハートビート名のリストを指定しないでこのコマンドを実行すると、構成されているすべてのハートビートの情報が表示されます。

    geohb コマンドについては、geohb(1M) のマニュアルページを参照してください。


例 12–6 ハートビート構成情報の表示

この例では、paris-to-newyork ハートビートについての情報を表示する方法を示します。


# geohb list paris-to-newyork

ハートビートのプロパティーの調整

デフォルトのハートビートは、パートナーシップの作成時に作成されます。カスタムハートビートを使用する場合は、パートナーシップを作成する前にカスタムハートビートを作成するべきです。geohb set-prop コマンドを使用すると、デフォルトのハートビートまたはカスタムハートビートのプロパティーを変更できます。このコマンドについては、geohb(1M) のマニュアルページを参照してください。


注 –

カスタムハートビートは特殊な用途向けであり、構成時には注意が必要です。使用中のシステムでカスタムハートビートを使用する必要がある場合は、Sun の技術担当者に問い合わせてください。


Query_interval プロパティーのデフォルト値を変更する場合、照会間隔が十分な長さになるようにしてください。間隔が短すぎると、論理ホスト名リソースが利用できる状態になる前にタイムアウトとハートビート喪失イベントが発生します。このようなフェイルオーバーは、ハートビート要求に対して応答がない状態が 2 回を超えない結果となるはずです。query_interval のデフォルト値を 120 秒、heartbeat.retries パラメタのデフォルトを 3 に設定すると、ピアクラスタは障害の誤報告を表示することなく 6 分間 (120 * 3 ) 応答しなくなります。

heartbeat.retries パラメタは、com.sun.cluster.agent.geocontol.xml ファイルで指定されます。

Query_interval プロパティーの遅延設定を調整する場合は、次の条件を満たすように調整するべきです。


Query_interval > worst-case logical-host failover time / 2

該当のクラスタの論理ホストフェイルオーバー時間は、経験から判断する必要があります。

障害の誤報告を防ぐには、次の条件を満たす必要があります。


Query_interval > worst-case logical-host failover time / 3

通常、heartbeat.retries 値を変更する必要はありません。heartbeat.retries プロパティーのデフォルト値を変更する場合は、ご購入先に問い合わせてください。

Procedureハートビートのプロパティーを変更する方法

手順
  1. クラスタノードの 1 つにログインします。

    この手順を行うには、Geo Management RBAC 権利プロファイルがユーザーに割り当てられている必要があります。RBAC の詳細は、「Sun Cluster Geographic Edition ソフトウェアと RBAC」を参照してください。

  2. ハートビートのプロパティーを変更します。


    # geohb set-prop -p property-setting \
    [-p...] heartbeat-name
    
    -p property-setting

    ハートビートのデフォルトのプロパティーを設定します

    ハートビートプロパティーに値を割り当てるには、name=statement のペアを使用します。複数の文を使用することで、複数のプロパティーを一度に設定できます。

    設定できるプロパティーについての詳細は、付録 A 「Sun Cluster Geographic Edition の標準プロパティー」を参照してください。

    heartbeat-name

    ハートビート設定の識別子を指定します

    Sun Cluster Geographic Edition ソフトウェアでサポートされる名前と値については、付録 B 「Sun Cluster Geographic Edition エンティティーに使用できる名前と値」を参照してください。

    geohb コマンドについては、geohb(1M) のマニュアルページを参照してください。


例 12–7 ハートビートのデフォルトのプロパティーの変更

次に、cluster-pariscluster-newyork 間のデフォルトのハートビートの設定を変更する例を示します。


# geohb set-prop -p Query_interval=60 hb_cluster-paris~cluster-newyork 

カスタムハートビートプラグインを使用するハートビートの作成

カスタムハートビートプラグインを作成し、このプラグインを使用するように既存のデフォルトのハートビートや新しいカスタムハートビートを構成することができます。

カスタムハートビートは特殊な用途向けであり、構成時には注意が必要です。使用中のシステムでカスタムハートビートを使用する必要がある場合は、Sun の技術担当者に問い合わせてください。


注 –

カスタムハートビートを構成するときは、そのカスタムハートビートの名前がパートナークラスタ上のカスタムハートビートの名前と重複しないようにしてください。



注意 – 注意 –

カスタムハートビートが存在する場合、パートナーシップを作成している間、デフォルトのハートビートは使用されません。パートナーシップでデフォルトのハートビートを使用するには、geops create コマンドの実行前にカスタムハートビートを削除する必要があります。


カスタムハートビートプラグインの作成

ハートビートを作成すると、Sun Cluster Geographic Edition ソフトウェアにより、カスタムハートビートプラグインに次の引数が渡されます。

query-interval

Query-interval プロパティーの値。ハートビート状態要求に失敗したことが宣言されるまでの時間を秒数で指定します

mode

プラグイン起動時のモード。Normal または Emergency のいずれかです。

plugin-property-values

ハートビートプラグインに設定されている Plugin-properties プロパティーの値

設定できるプロパティーについての詳細は、付録 A 「Sun Cluster Geographic Edition の標準プロパティー」を参照してください。

カスタムハートビートプラグインは、二次クラスタ上でハートビートを検査し、次に示す終了値のいずれかを返します。

Procedure既存のデフォルトハートビートにカスタムハートビートプラグインを追加する方法

手順
  1. 主クラスタ内のノードの 1 つにログインします。

    この手順を行うには、Geo Management RBAC 権利プロファイルがユーザーに割り当てられている必要があります。RBAC の詳細は、「Sun Cluster Geographic Edition ソフトウェアと RBAC」を参照してください。

  2. デフォルトのハートビートにカスタムハートビートプラグインを追加します。


    # geohb add-plugin -p property-setting [-p...] \
    plugin-name hb_local-cluster-name-remote-cluster-name
    
    -p property-setting

    name=statement のペアを使用してハートビートプラグインのプロパティーを設定します

    Query_cmd プロパティーを使用して、カスタムハートビートプラグインのパスを指定します。

    設定できるプロパティーについての詳細は、付録 A 「Sun Cluster Geographic Edition の標準プロパティー」を参照してください。

    plugin-name

    カスタムハートビートプラグインの名前を指定します

    hb_local-cluster-name- remote-cluster-name

    カスタムハートビートプラグインを追加するデフォルトのハートビートの名前を指定します

  3. 変更が正しく行われたことを確認します。


    # geoadm status
  4. 二次クラスタの任意のノード上で、これまでの手順を繰り返します。


例 12–8 デフォルトのハートビートにカスタムハートビートプラグインを追加

次に、カスタムハートビートプラグイン command1 をデフォルトのハートビート hb_cluster-paris~cluster-newyork に追加する例を示します。


# geohb add-plugin -p query_cmd=/usr/bin/hb command1 \
hb_cluster-paris~cluster-newyork
# geoadm status

Procedureカスタムハートビートプラグインを作成してカスタムハートビートに追加する方法

手順
  1. クラスタノードの 1 つにログインします。

    この手順を行うには、Geo Management RBAC 権利プロファイルがユーザーに割り当てられている必要があります。RBAC の詳細は、「Sun Cluster Geographic Edition ソフトウェアと RBAC」を参照してください。

  2. 新しいカスタムハートビートを作成します。


    # geohb create -r remote-clustername \
    [-p property-setting [-p...]] heartbeat-name
    
    -r remote-clustername

    リモートパートナーである二次クラスタの名前を指定します

    -p property-setting

    ハートビートのデフォルトのプロパティーを設定します

    ハートビートプロパティーに値を割り当てるには、name=statement のペアを使用します。

    設定できるプロパティーについての詳細は、付録 A 「Sun Cluster Geographic Edition の標準プロパティー」を参照してください。

    heartbeat-name

    ハートビート設定の識別子を指定します


    注意 – 注意 –

    同一のパートナーシップに参加している各クラス タ上のカスタムハートビート名には、異なる名前を付ける必要があります。この名前は、ハートビートを一意に識別するものを選択してください。たとえば、クラスタ cluster-paris では paris-to-newyork、クラスタ cluster-newyork では newyork-to-paris のような名前を指定できます。


    geohb コマンドについては、geohb(1M) のマニュアルページを参照してください。

  3. ハートビートにカスタムハートビートプラグインを追加します。


    # geohb add-plugin -p property-setting [-p...] \
    plugin-name heartbeat-name
    
    -p property-setting

    name=statement のペアを使用してハートビートプラグインのプロパティーを設定します

    Query_cmd プロパティーを使用して、カスタムハートビートプラグインのパスを指定します。

    設定できるプロパティーについての詳細は、付録 A 「Sun Cluster Geographic Edition の標準プロパティー」を参照してください。

    plugin-name

    カスタムハートビートプラグインの名前を指定します

    heartbeat-name

    ハートビート設定の識別子を指定します

  4. 前の手順で作成したハートビートを使用するパートナーシップを作成します。


    # geops create -c remote-cluster-name -h heartbeat-name \
    [-p property-setting [-p...]] partnership-name
    
    -c remote-cluster-name

    パートナーシップに参加するリモートクラスタの名前を指定します

    この名前は、リモートクラスタ上の Sun Cluster Geographic Edition インフラストラクチャーで使用されている論理ホスト名と一致します。

    -h heartbeat-name

    パートナークラスタが使用できる状態か監視するためにパートナーシップ内で使用されるカスタムハートビートを指定します

    -p property-setting

    文字列 name=value のように対をなす文で、パートナーシップのプロパティー値を設定します

    設定できるプロパティーについての詳細は、付録 A 「Sun Cluster Geographic Edition の標準プロパティー」を参照してください。

    partnership-name

    パートナーシップの名前を指定します


    注 –

    パートナーシップにカスタムハートビートを追加すると、icrm_plugin という名前のデフォルトプラグインが作成されます。


    geops create コマンドを使用してパートナーシップを作成する方法については、「パートナーシップを作成する方法」を参照してください。

  5. 変更が正しく行われたことを確認します。


    # geoadm status

例 12–9 新しいカスタムハートビートにカスタムハートビートプラグインを追加する

この例では、ハートビート paris-to-newyork を作成する方法を示します。このハートビートは、カスタムハートビートプラグインを使用し、このハートビートを新しいパートナーシップに関連付けます。


# geohb create -r cluster-newyork paris-to-newyork 
# geohb add-plugin -p query_cmd=/usr/bin/hb/ command1 paris-to-newyork
# geops create -c cluster-newyork -h paris-to-newyork paris-newyork-ps
# geoadm status

ハートビート喪失通知の構成

ハートビートが失われたとき、電子メール通知を送信するか、あるいはアクションスクリプトを実行するように、Sun Cluster Geographic Edition ソフトウェアを構成できます。ハートビート喪失通知は、オプションの Notification_emailaddrs プロパティーと Notification_actioncmd プロパティーを使用して構成します。

ハートビート喪失通知は、ハートビートの Query_interval プロパティーで設定した時間が経過してもハートビート異常が継続する場合に送信されます。ハートビートモニターは、Query_interval に設定された時間間隔で、論理ホスト上の応答側にハートビート要求を送信します。Query_interval に設定された時間内に応答がなかった場合、内部カウントの値が増加します。この値が heartbeat.retries プロパティーに設定された数に達すると、ハートビートが異常な状態になったと見なされます。

たとえば、Query_intervalheartbeat.retries の両方にデフォルト値を設定することができます (120 秒と 3)。この場合、パートナークラスタから最後にハートビート応答があってから 10 分以内にハートビート喪失イベントが送信されます。


120sec (delay since last query) + 3*120sec (wait for normal response) 
+ 120 sec (wait for retry response)

ハートビート喪失システムイベントが発生してからハートビート喪失通知がトリガーされるまでの間に、遅延がさらに発生する可能性があります。電子メール通知を設定している場合は、さらに電子メールの配信遅延が発生することもあります。


注 –

ハートビート喪失イベントが発生しても、必ずしもリモートクラスタがクラッシュしたとは限りません。


これ以降の節では、ハートビート喪失通知プロパティーの設定方法と、ハートビート喪失イベントの発生時に Sun Cluster Geographic Edition ソフトウェアが実行するカスタムアクションスクリプトの作成方法について説明します。

ハートビート喪失通知のプロパティーの設定

ハートビート喪失通知の設定には、2 つのパートナーシッププロパティー、Notification_emailaddrsNotification_actioncmd を使用します。これらのプロパティーの設定には、geops コマンドを使用します。

これらのプロパティーは、パートナーシップの作成時にデフォルトのハートビートに対して設定できます。詳細は、「パートナーシップを作成する方法」を参照してください。「ハートビートのプロパティーを変更する方法」に記載されている方法でも、これらのプロパティーを変更できます。

電子メールでハートビート喪失通知を受けるには、Notification_emailaddrs プロパティーを設定します。コンマで区切り、複数の電子メールアドレスを指定できます。電子メール通知を使用する場合は、クラスタノードが電子メールクライアントとして構成されていなければいけません。メールサービスの設定方法については、『Solaris のシステム管理 (ネットワークサービス)』を参照してください。

ハートビート喪失時にコマンドを実行するには、Notification_actioncmd プロパティーを設定します。


例 12–10 既存のパートナーシップのためにハートビート喪失通知を設定

既存のパートナーシップ paris-newyork-ps に通知先の電子メールアドレスとカスタム通知スクリプトを指定するには、次のようにします。


phys-paris-1# geops set-prop \
-p Notification_emailaddrs=ops@paris.com,ops@newyork.com \
-p Notification_actioncmd=/opt/hb_action.sh paris-newyork-ps 

ハートビート喪失時に実行するアクションシェルスクリプトの作成

ローカルのクラスタがパートナークラスタ側のハートビート喪失を検出したときに実行される、アクションシェルスクリプトを作成できます。このスクリプトはルートアクセス権を使用して実行されるため、ファイルには、ルートユーザーの所有権と実行権を指定する必要があります。

Notification_actioncmd プロパティーを設定している場合は、イベントに関する情報を提供する引数を次のようにコマンド行に指定してアクションコマンドを実行します。


# custom-action-command-path -c local-cluster-name -r remote-cluster-name -e 1 \
-n node-name -t time
custom-action-command-path

作成したアクションコマンドのパスを指定します

-c local-cluster-name

ローカルクラスタの名前を指定します

-p remote-cluster-name

リモートパートナークラスタの名前を指定します

-e1

ハートビート喪失イベントが発生したことを示す HBLOST=1 を指定します

-nnode-name

ハートビート喪失イベント通知を送信するクラスタノードの名前を指定します

-t timestamp

ハートビート喪失イベントの発生時刻を、1970 年 1 月 1 日 00:00:00 (グリニッジ平均時) からの経過時間 (ミリ秒単位) で指定します


注意 – 注意 –

このスクリプトを使用して、二次クラスタへのテイクオーバーを自動化することができます。しかし、このような自動処理には危険もあります。主クラスタと二次クラスタの両方で、すべてのハートビート接続が完全に失われた結果としてハートビート喪失通知が送信された場合、二次クラスタへのテイクオーバーが自動的に行われるように設定していると、主クラスタが 2 つ存在するという状況が発生する可能性があります。



例 12–11 Sun Cluster Geographic Edition ソフトウェアで提供されたコマンド行情報を通知アクションスクリプトによって解析する

この例は、コマンド行に入力されたイベント情報が通知アクションシェルスクリプトで解析される状況を示しています。


#!/bin/sh

set -- `getopt abo: $*`
if [ $? != 0]
then
      echo $USAGE
      exit 2

fi
for i in $*
do

      case $i in
      -p)      PARTNER_CLUSTER=$1; shift;;
      -e)      HB_EVENT=$2; shift;;
      -c)      LOCAL_CLUSTER=$3; shift;;
      -n)      EVENT_NODE=$4; shift;;
      esac
done