ページの先頭行へ戻る
Enterprise Postgres 14 SP1 リファレンス
FUJITSU Software

4.2 mc_ctl

名前

Linuxmc_ctl - Mirroring Controllerの起動、停止、サーバの状態表示、切り替え、切り離し、およびScale out Controller構成での中央管理ノードのサーバの再起動

Windowsmc_ctl - Mirroring Controllerの起動、停止、サーバの状態表示、切り替え、切り離し、Windowsサービスへの登録および登録解除

概要

mc_ctl start [-M mcdir] [-w | -W] [-f | -F] [--mc-only] [--async-connect-arbiter] [--local-server server_id]
mc_ctl stop [-M mcdir] [[-a] [--mc-only] | [-e]] [--local-server server_id]
mc_ctl status [-M mcdir] [--arbiter] [--local-server server_id]
mc_ctl switch [-M mcdir] [--force [--no-fencing ]] [--local-server server_id]
mc_ctl detach [-M mcdir] [--no-fencing] [--local-server server_id]
mc_ctl enable-failover [-M mcdir] [--local-server server_id]
mc_ctl disable-failover [-M mcdir] [--local-server server_id]
Linuxmc_ctl restart [-M mcdir] [-w | -W] [-f | -F] [--async-connect-arbiter] [--local-server server_id]
Windowsmc_ctl register [-M mcdir] [-w | -W] [-f | -F] [--mc-only] -P password 
                [-S a[uto] | d[emand]] [--async-connect-arbiter] [--local-server server_id]
mc_ctl unregister [-M mcdir] [--local-server server_id]

説明

Linuxmc_ctlはMirroring Controllerの起動、停止、サーバの状態表示、切り替え、および切り離しを行うコマンドです。Scale out Controller構成では中央管理ノードのサーバの再起動も行います。

Windowsmc_ctlはMirroring Controllerの起動、停止、サーバの状態表示、切り替え、切り離し、Windowsサービスへの登録および登録解除を行うコマンドです。

災害対策運用において、待機センタでmc_ctlコマンドを使用する場合、以降の説明のプライマリサーバをプライマリ候補サーバに読み替えて参照してください。

startモードは、新たにMirroring Controllerを起動します。--mc-onlyオプションを指定しない場合はデータベースのインスタンスを起動します。

stopモードは、Mirroring Controllerを停止します。--mc-onlyオプションを指定しない場合はデータベースのインスタンスを停止します。スタンバイサーバ上で--mc-onlyオプションを指定せずに実行した場合、プライマリサーバからスタンバイサーバを切り離します。

statusモードは、Mirroring Controllerが監視するサーバ、データベースのインスタンスのプロセスおよびディスクの状態を表示します。また、--arbiterオプションを指定している場合には、Mirroring Controller裁定プロセスとの接続状態を表示します。

switchモードは、プライマリサーバの切り替えを行います。切り替えを行うと、プライマリサーバのデータベースのインスタンスが停止し、スタンバイサーバのデータベースのインスタンスがプライマリサーバに昇格して縮退運転になります。また、災害対策運用で本モードを待機センタで実行する場合、待機センタのスタンバイサーバの接続先を運用センタのプライマリサーバに変更し、待機センタのスタンバイサーバがプライマリ候補サーバに切り替わります。本モードは、Mirroring Controllerプロセスが相手サーバのMirroring Controllerプロセスと通信ができる環境において、プライマリサーバ、スタンバイサーバで実行可能です。

detachモードは、スタンバイサーバの強制切り離しを行います。本モードは、スタンバイサーバへのログインが必要なstopモードによるMirroring Controllerの停止が実行できない場合に、相手サーバを強制的に切り離す場合に使用します。プライマリサーバでのみ実行可能です。災害対策運用において、待機センタでは本モードは使用できません。

enable-failoverモードは、自動切り替え/切り離しの有効化を行います。

disable-failoverモードは、自動切り替え/切り離しの無効化を行います。

Linuxrestartモードは、Mirroring Controllerを再起動します。Scale out Controller構成で運用する場合に中央管理ノードで実行可能です。データノードを追加または削除する場合に実行してください。

Windowsregisterモードは、WindowsサービスへMirroring Controllerを登録します。-wオプション、-Wオプション、-fオプション、-Fオプション、--mc-onlyオプション、--async-connect-arbiterオプション、および--local-serverオプションは、Mirroring Controllerの起動/停止をWindowsサービスから実行した場合のオプションであり、mc_ctlコマンドで実行した場合にはコマンドに指定したオプションが有効になります。

unregisterモードは、WindowsサービスからMirroring Controllerを登録解除します。

Linuxコマンドを実行するサーバでMirroring Controllerが起動していない場合、startモード、およびstatusモード以外のコマンドはエラーで終了します。

このコマンドは、インスタンス管理者ユーザーで実行してください。

Windowsコマンドを実行するサーバでMirroring Controllerが起動していない場合、startモード、statusモード、registerモードおよびunregisterモード以外のコマンドはエラーで終了します。

このコマンドは、“Administrator”権限のあるユーザー(Administratorsグループに属するOSのユーザーID)で実行してください。

プライマリサーバのMirroring Controllerを起動後、スタンバイサーバのMirroring Controllerが起動されるまでの間、プライマリサーバのみでも運用を開始できますが、スタンバイサーバのMirroring Controllerを起動するとスタンバイサーバが組み込まれ、多重化構成での運用が行えるようになります。

オプション

-a

全サーバのMirroring Controllerを停止する場合に指定します。

-e

実行しているサーバ上のMirroring Controllerを強制停止する場合に指定します。

-f

Mirroring Controller起動直後に自動切り替え/切り離しの有効化を行う場合に指定します。

Linux本オプションはstartモードのデフォルトです。

Windows本オプションはstartモードとregisterモードのデフォルトです。

-F

Mirroring Controller起動直後に自動切り替え/切り離しの有効化を行わない場合に指定します。

--async-connect-arbiter

Mirroring Controllerの起動処理とは非同期でMirroring Controller裁定プロセスに接続する場合に指定します。Mirroring Controller裁定プロセスが起動していない場合に、Mirroring Controllerを強制的に起動したいときに指定してください。

このオプションはMirroring Controllerの裁定サーバを利用する場合に指定します。

--arbiter

Mirroring Controller裁定プロセスとの接続状態を表示する場合に指定します。statusモードの場合に指定可能です。

このオプションはMirroring Controllerの裁定サーバを利用する場合に指定します。

--local-server server_id

システムテストなどの目的のため、プライマリサーバとスタンバイサーバを擬似的に単一のサーバ内に構築した場合に、操作対象のサーバを特定するために指定します。

server_idには、network.confファイルに指定したサーバ識別子を指定します。半角空白以外のASCII文字が指定可能です。指定したサーバ識別子のサーバに対してログインして操作をしているものと見なして動作します。

--mc-only

Mirroring Controllerのプロセスのみを起動、停止する場合に指定します。startモードでは、データベースのインスタンスが起動中の場合にのみ指定可能です。本オプションを省略した場合、データベースのインスタンスも同時に起動、停止します。

-M mcdir

Mirroring Controller管理ディレクトリを指定します。

ディレクトリパスにはASCII文字が指定可能です。

これが省略された場合、MCCONTROLDIR環境変数が使われます。

--force

本オプションを指定した切り替えは、スタンバイサーバでのみ指定可能です。データベースサーバ間のネットワーク異常やサーバの無応答などが原因で、相手サーバのMirroring Controllerプロセスとの通信ができず、通常の切り替えができない場合に、プライマリサーバをフェンシングしてから強制的に切り替えを行います。ただし、--no-fencingオプションを指定した場合、プライマリサーバをフェンシングしません。

--no-fencing

--forceオプションを指定した切り替え、または切り離しの実行時に、縮退させるサーバのフェンシングを迂回します。そのため、縮退させるサーバを利用者が事前にクラスタシステムから隔離しておく必要があります。

Windows-P password

registerモードの場合、コマンドを実行したユーザーのパスワードを指定します。

Windows-S a[uto] | d[emand]

登録するWindowsサービスの起動種類です。起動種類はauto、demand、またはこれら2単語の先頭の文字のいずれかです。デフォルトはautoです。

-w

操作の完了を待ち合わせします。

Linux本オプションはstartモードのデフォルトです。

Windows本オプションはstartモードとregisterモードのデフォルトです。

-W

操作の完了を待ち合わせません。

環境

MCCONTROLDIR

Mirroring Controller管理ディレクトリを指定します。

ディレクトリパスにはASCII文字が指定可能です。

-Mオプションを指定して上書きすることができます。

診断

0: 正常終了

0以外: 異常終了

注釈

このコマンドの実行、自動切り替え、および自動切り離しの処理中にサーバがダウンした場合や、プライマリサーバとスタンバイサーバの間の通信が途絶した場合に、他にmc_ctlコマンドを実行中でないにもかかわらず、実行中のメッセージを出力して異常終了する場合があります。この問題を解決するには、他にmc_ctlコマンドが実行されていないことを確認したあと、Mirroring Controllerを再起動してください。その後、必要な操作を実施してください。

このコマンドの実行中に通信のタイムアウトエラーが発生し、メッセージの表示内容とMirroring Controllerのプロセスまたはインスタンスのプロセスの状態が異なる場合があります。必要に応じてメッセージに記載されている“利用者の処置”にしたがって対処を実施してください。

enable-failoverモード、disable-failoverモード、および、startモードによる自動切り替え/切り離しの有効化/無効化は、Mirroring Controller起動中にのみ有効となります。このため、起動時点で自動切り替え/切り離しを有効化/無効化する場合は、Mirroring Controllerを起動する度に、-fオプション、または、-Fオプションを指定してください。

Windowsstartモードおよびstopモードによる起動/停止では、Windowsサービスを起動/停止します。このため、事前にregisterモードによりMirroring ControllerをWindowsサービスに登録してください。

このコマンドを実行した時点で、postgresql.confファイルに記述誤りがある場合、コマンドが異常終了する場合があります。その場合には、postgresql.confファイルを修正してから、コマンドを再実行してください。

Mirroring Controllerの裁定サーバを利用する場合には、startモードによる起動を-Fオプションを指定して実行、または--local-serverを指定して実行しても、起動時には裁定サーバとの接続を行います。

Windowsmc_ctlコマンドは、“管理者: コマンドプロンプト”から実行する必要があります。[コマンドプロンプト]を右クリックして表示されるメニューから[管理者として実行]を選択し、“管理者: コマンドプロンプト”を起動してください。

裁定サーバを利用する運用の場合、裁定サーバとの接続を試行する時間が加算されるため、Mirroring Controllerの起動時間が長くかかる場合があります。

LinuxMirroring Controllerを起動します。

$ mc_ctl start -M /mcdir/inst1

WindowsMirroring Controllerを起動します。

> mc_ctl start -M D:\mcdir\inst1
mc_ctl statusの表示内容
mirroring status
----------------
(1)

server_id   host_role          host            host_status  db_proc_status         disk_status
(2)         (3)                (4)             (5)          (6)                    (7)
(1) 多重化状態
    switchable        : 切替可能
    switching         : 切替途中
    switched          : 切替済(切り替えが終わって縮退運用の状態になった場合に表示されます)
    not-switchable    : 切替不可(切り離しが行われて切り替えができない場合に表示されます)
    unknown           : 不明(注1)
    failover-disabled : フェイルオーバが無効化されている状態
(2) サーバ識別子
(3) サーバの役割
    primary : プライマリ
    standby : スタンバイ
    standbycenter_primary : 待機センタのプライマリ候補(注2)
    standbycenter_standby : 待機センタのスタンバイ(注2)
    none(inactivated primary): 役割なし
                               (停止中のプライマリ、またはプライマリとして定義中)
    none(inactivated standby): 役割なし
                               (停止中のスタンバイ、またはプライマリとして定義中)
    none(inactivated standbycenter_primary): 役割なし(注2)
                               (停止中の待機センタのプライマリ候補として定義中)
    none(inactivated standbycenter_standby): 役割なし(注2)
                               (停止中の待機センタのスタンバイとして定義中)
    unknown : 不明(注1)
(4) ホスト名またはIPアドレス
(5) サーバの生死状態
    normal   : 正常稼動
    abnormal : 異常
    unknown  : 不明(注1)
(6) DBMSプロセスの状態
    normal                        : 正常
    abnormal(異常プロセス名(注3)) : 異常
    unknown                       : 不明(注1)
(7) ディスクの状態
    normal                            : 正常
    abnormal(異常ディスクの種類(注4)) : 異常
    unknown                           : 不明(注1)
注1) Mirroring Controllerが停止状態, 管理用ネットワーク異常, Mirroring Controllerのダウン/無応答が発生している場合に表示されます。
注2) 災害対策運用において、待機センタでstatusモードを実行した場合に表示されます。
注3) 異常を検知したDBMSプロセスが出力されます。意味は以下のとおりです。ただし、複数のDBMSプロセスの異常を検知した場合は、最初に異常を検出したDBMSプロセスのみを表示します。
     ・postmaster
       アプリケーション接続を受け付けるプロセス(postmaster)の異常を検知したことを意味します。
     ・wal_senderまたはwal_receiver
       トランザクションログを送受信するプロセス(wal sender、またはwal receiver)の異常を検知したことを
       意味します。
注4) 異常を検知したディスクの種類がコンマ区切りで出力されます。意味は以下のとおりです。
     ・data
       データ格納ディスクの異常を検知したことを意味します。
     ・tran_log
       トランザクションログ格納ディスクの異常を検知したことを意味します。
     ・tablespace
       テーブル空間格納ディスクの異常を検知したことを意味します。

mc_ctl status(--arbiterオプション指定時)の表示内容
arbiter_id   host            status 
(1)         (2)               (3)
(1) 裁定サーバ識別子
(2) ホスト名またはIPアドレス
(3) Mirroring Controller裁定プロセスとの接続状態
    online  : 接続状態
    offline : 切断状態(注)
注) Mirroring Controller停止時は、Mirroring Controller裁定プロセスとの接続が行われていないため、offlineが表示されます。