Using the efm utility
=====================



Failover Managerは、クラスター管理を支援する\ ``efm``
ユーティリティを提供します。 RPMインストーラーは、Failover
Managerのインストール時に、ユーティリティを\ ``/usr/edb/efm-4.<x>/bin``
ディレクトリに追加します。

efm allow-node
--------------



``efm allow-node <cluster_name> <address>``

``efm allow-node``
コマンドを呼び出して、指定されたノードをクラスターに参加させます。コマンドを呼び出すときに、クラスターの名前と参加ノードのIPアドレスを指定します。

このコマンドは、efm、efmグループのメンバー、またはrootによって呼び出される必要があります。

efm disallow-node
-----------------



``efm disallow-node <cluster_name> <address>``

``efm disallow-node``
コマンドを呼び出して、指定されたノードを許可ホストリストから削除し、ノードがクラスターに参加しないようにします。
``efm disallow-node``
コマンドを呼び出すときに、クラスターの名前とノードのアドレスを指定します。このコマンドは、efm、efmグループのメンバー、またはrootによって呼び出される必要があります。

..  Note::
   クラスターからノードを削除し、再度追加する予定がない場合、代わりに :ref:`efm remote-members <efm remote-members>` コマンドを使用できます。

efm cluster-status
------------------



``efm cluster-status <cluster_name>``

``efm cluster-status``
コマンドを呼び出して、フェールオーバーマネージャークラスターの状態を表示します。ステータスレポートの詳細については、 :ref:`Monitoring a Failover Manager cluster <Monitoring a Failover Manager cluster>` を参照してください。

efm cluster-status-json
-----------------------



``efm cluster-status-json <cluster_name>``

``efm cluster-status-json``
コマンドを呼び出して、フェールオーバーマネージャークラスターの状態をJSON形式で表示します表示される情報の形式は\ ``efm cluster-status``
コマンドで生成された表示とは異なりますが、情報ソースは同じです。

次の例は、3つのノードを持つ正常なクラスターのステータスを照会することにより生成されます。

.. code:: text

   {
       "nodes": {
           "172.16.144.176": {
               "type": "Witness",
               "db": "N\/A",
               "vip": "",
               "vip_active": false
           },
           "172.16.144.177": {
               "type": "Primary",
               "db": "UP",
               "vip": "",
               "vip_active  :   false"
               "xlogReceive :   0/14001478"
               "xlog    :   0/14001478"
               "xloginfo    :"
           },
           "172.16.144.180": {
               "type": "Standby",
               "db": "UP",
               "vip": "",
               "vip_active  :   false"
               "xlogReceive :   0/14001478"
               "xlog    :   0/14001478"
               "xloginfo    :"
           }
       },
       "allowednodes": [
           "172.16.144.177",
           "172.16.144.160",
           "172.16.144.180",
           "172.16.144.176"
       ],
       "membershipcoordinator": "172.16.144.177",
       "failoverpriority": [
           "172.16.144.180"
       ],
       "minimumstandbys": 0,
       "missingnodes": [],
       "messages": []
   }

efm encrypt
-----------



``efm encrypt <cluster_name> [--from-env]``

クラスタプロパティファイルにパスワードを含める前に、 ``efm encrypt``
コマンドを呼び出してデータベースパスワードを暗号化します\ ``--from-env``
オプションを含めて、\ ``EFMPASS``
環境変数で指定された値を使用し、ユーザー入力なしで実行するようにフェールオーバーマネージャーに指示します。詳細については、 :ref:`Encrypting your database password <Encrypting your database password>` を参照してください。

efm promote
-----------



``efm promote cluster_name [-switchover [-sourcenode <address>][-quiet][-noscripts]``

``efm promote``
コマンドは、スタンバイからプライマリへの手動フェールオーバーを実行するようにフェールオーバーマネージャーに指示します。

データベースクラスターのメンテナンス時間帯に、クラスター内のすべてのスタンバイがプライマリと最新の状態であることがstatusコマンドで報告された場合にのみ、手動プロモーションを試行します。

``–switchover``
句を含めてスタンバイノードを昇格させ、プライマリノードをスタンバイノードとして再構成します。
``-sourcenode``
キーワードを含め、ノードアドレスを指定して、スタンバイにする古いプライマリノードにリカバリ設定をコピーするノードを指定します。スイッチオーバープロセス中の通知を抑制するには、
``-quiet`` キーワードを含めます。 ``-noscripts``
キーワードを含めて、フェンシングまたはポストプロモーションスクリプトを呼び出さないようにフェールオーバーマネージャーに指示します。

このコマンドは、efm、efmグループのメンバー、またはrootによって呼び出される必要があります。

..  Note::
   このコマンドは、クラスタープロパティファイルの`auto.failover` パラメーターで指定された値を無視するようにサービスに指示します。

efm remote-members
------------------



``efm reset-members <cluster_name>``

``efm reset-members``
コマンドを呼び出して、キャッシュされたノードアドレスをフェールオーバーマネージャークラスターから削除します。ノードがクラスターから完全に削除された後にこのコマンドを実行して、クラスターが削除されたノードのアドレスに接続しようとしないようにします。このコマンドを実行すると、クラスター内の各ノードで次のことが行われます。

1. ``.nodes``
   ファイルのアドレスを現在のクラスターメンバーにリセットします。これは、
   ``stable.nodes.file`` プロパティが\ ``true``
   に設定されている場合でも発生します。

2. 許可ノードホストリストを更新して、現在のメンバーのみを含めます。

3. すべてのエージェントを互いに一時的に切断し、再接続します。

実行中のデータベースは、この操作の影響を受けません。操作が完了したら、スタンバイ優先度リストの更新が必要になる場合があります。詳細については、
 :ref:`efm set-priority <efm set-priority>` コマンドを参照してください。

efm resume
----------



``efm resume <cluster_name>``

``efm resume``
コマンドを呼び出して、以前に停止したデータベースの監視を再開します。このコマンドは、efm、efmグループのメンバー、またはrootによって呼び出される必要があります。

efm set-priority
----------------



``efm set-priority <cluster_name> <address> <priority>``

``efm set-priority``
コマンドを呼び出して、フェールオーバー優先度をスタンバイノードに割り当てます。値は、フェールオーバーが発生した場合にノードを使用する順序を指定します。このコマンドは、efm、efmグループのメンバー、またはrootによって呼び出される必要があります。

priorityオプションを使用して、優先度リスト内のノードの場所を指定します。たとえば、\ ``1``
の値を指定して、ノードがプライマリスタンバイであり、フェールオーバーが発生した場合に昇格する最初のノードになることを示します。
``0``
の優先度値は、スタンバイをプロモートしないようにフェールオーバーマネージャーに指示します。

efm stop-cluster
----------------



``efm stop-cluster <cluster_name>``

``efm stop-cluster``
コマンドを呼び出して、すべてのノードでフェールオーバーマネージャーを停止します。このコマンドは、フェールオーバーマネージャーに、クラスター内の各ノードに接続し、既存のメンバーにシャットダウンするように指示します。このコマンドは実行中のデータベースには影響しませんが、コマンドが完了すると、フェールオーバー保護は実施されません。

..  Note::
   `efm stop-cluster` コマンドを呼び出すと、許可されたノード情報がすべて許可ノードホストリストから削除されます。

このコマンドは、efm、efmグループのメンバー、またはrootによって呼び出される必要があります。

efm upgrade-conf
----------------



``efm upgrade-conf <cluster_name> [-source <directory>]``

``efm upgrade-conf`` コマンドを呼び出して、既存のFailover
Managerインストールから構成ファイルをコピーし、Failover
Managerインストールに必要なパラメーターを追加します。ユーティリティを呼び出すときに、以前のクラスターの名前を指定します。デフォルトモードでフェールオーバーマネージャーを実行している場合、このコマンドはスーパーユーザー特権で呼び出す必要があります。

オプションの\ ``-source``
フラグの詳細について、またはsudoを使用しないフェールオーバーマネージャー構成からアップグレードする場合、
 :ref:`Eager FailoverモードでのFailover Managerのアップグレード <Eager FailoverモードでのFailover Managerのアップグレード>` を参照してください。

efm node-status-json
--------------------



``efm node-status-json <cluster_name>``

``efm node-status-json``
コマンドを呼び出して、ローカルノードの状態をJSON形式で表示しますこのコマンドの実行が成功すると、終了コードとして\ ``0``
が返されます。データベースに障害が発生するか、エージェントのステータスがIDLEになった場合、コマンドは終了コードとして\ ``1``
を返します。

次に、 ``efm node-status-json`` コマンドの出力例を示します。

.. code:: text

   {
     "type":"Standby",
     "address":"172.16.144.130",
     "db":"UP",
     "vip":"",
     "vip_active":"false"
    }

efm –help
---------



``efm --help``

``efm --help``
コマンドを呼び出して、フェールオーバーマネージャーユーティリティコマンドのオンラインヘルプを表示します。
