ページの先頭行へ戻る
Enterprise Postgres 15 クラスタ運用ガイド(データベース多重化編)

3.9.3 データベース多重化運用から単体のサーバでの運用への変更

データベース多重化運用をやめて、単体のサーバで行う運用に変更する場合の手順を示します。

運用の変更は、データベースサーバでの操作と裁定サーバでの操作が必要です。

裁定サーバでの操作は、裁定サーバを利用して自動縮退を行う運用を行っている場合にのみ、実施してください。

データベースサーバでの操作

  1. インスタンスを停止するサーバの決定と切り替え

    データベース多重化運用の対象から外して、インスタンスを停止するサーバを決定します。

    インスタンスを停止するサーバがプライマリサーバである場合は、mc_ctlコマンドをswitchモードで実行してスタンバイサーバをプライマリサーバに切り替えてください。

    切り替えが完了したあとのスタンバイサーバが、インスタンスを停止するサーバとなります。

    インスタンスを停止するサーバがスタンバイサーバである場合は、切り替え操作は必要ありません。

    例)
    $ mc_ctl switch -M /mcdir/inst1
  2. Mirroring Controllerおよびインスタンスの停止とファイル資源の削除

    手順1で決定したサーバにおいて、mc_ctlコマンドをstopモードで実行して、Mirroring Controllerとインスタンスを停止します。

    systemdを使用してMirroring Controllerの自動起動・停止の設定を実施している場合は、mc_ctlコマンドではなく、systemctlコマンドを使用してください。詳細は、“2.12 多重化したインスタンスとMirroring Controllerの自動起動・停止の設定”を参照してください。

    例)
    $ mc_ctl stop -M /mcdir/inst1

    そのあと、以下のファイル資源を削除してください。

    • データ格納先ディレクトリ

    • Mirroring Controller管理ディレクトリ

    例)
    $ rm -rf /database/inst1
    $ rm -rf /mcdir/inst1

    参照

    データを安全に削除するには、“運用ガイド”の“セキュリティに関する注意事項”を参照してください。

  3. アプリケーション業務の停止

    プライマリサーバに接続するアプリケーション業務を停止します。

  4. プライマリサーバのMirroring Controllerおよびインスタンスの停止

    プライマリサーバでmc_ctlコマンドをstopモードで実行します。

    systemdを使用してMirroring Controllerの自動起動・停止の設定を実施している場合は、mc_ctlコマンドではなく、systemctlコマンドを使用してください。詳細は、“2.12 多重化したインスタンスとMirroring Controllerの自動起動・停止の設定”を参照してください。

    例)
    $ mc_ctl stop -M /mcdir/inst1
  5. プライマリサーバのインスタンスに対して設定されているデータベース多重化運用の設定を削除します。

    postgresql.confファイルのパラメータをデータベース多重化運用として設定する前の値に戻してください。

    Mirroring Controller管理ディレクトリのファイル資源は削除してください。

    バックアップ運用を行っている場合は、以下の資源を削除してください。

    • データベース多重化運用中に取得したMirroring Controller管理ディレクトリのバックアップデータ

    • データベース多重化運用中に取得したインスタンスのバックアップデータ

    また、postgresql.auto.confファイルにprimary_conninfoパラメータが設定されている場合は、ALTER SYSTEM RESET文を実行して、設定を削除してください。

    例)
    psqlコマンドを使用した場合の実行例を以下に示します。
    postgres=# ALTER SYSTEM RESET primary_conninfo;

    これらの対処を行ったあと、単体運用を開始するときには、バックアップデータを採取するようにしてください。

    参照

    • データを安全に削除するには、“運用ガイド”の“セキュリティに関する注意事項”を参照してください。

    • バックアップ運用の詳細は、“2.14 バックアップ運用”を参照してください。

    • postgresql.confファイルのパラメータの詳細は、“付録A パラメータ”を参照してください。

    ポイント

    上記の手順において、単体のサーバとなるプライマリサーバのpostgresql.confファイルの変更手順が、設定ファイルの再読み込みで可能な場合には、アプリケーション業務を停止することなく運用を変更することができます。

    その場合、プライマリサーバの停止は、mc_ctlコマンドのstopモードに--mc-onlyオプションを指定して、Mirroring Controllerのみを停止してください。

裁定サーバでの操作

Linuxの場合
  1. mc_arbコマンドをstopモードで実行して、Mirroring Controller裁定プロセスを停止します。

    例)
    $ mc_arb stop -M /mcarb_dir/arbiter1
  2. Mirroring Controller裁定プロセスの管理ディレクトリを削除します。

    例)
    $ rm -rf /mcarb_dir/arbiter1
Windowsの場合
  1. mc_arbコマンドをstopモードで実行して、Mirroring Controller裁定プロセスを停止します。

    例)
    > mc_arb stop -M D:\mcarb_dir\arbiter1
  2. WindowsサービスからMirroring Controller裁定プロセスの登録解除

    mc_arbコマンドをunregisterモードで実行して、WindowsサービスからMirroring Controller裁定プロセスの登録解除を行います。

    例)
    > mc_arb unregister -M D:\mcarb_dir\arbiter1
  3. イベントログに関する登録の削除

    2.2.2.1 イベントログにエラーログを出力する場合の準備(Windowsの場合)”でイベントログへの出力を行っている場合には、インスタンスごとに登録したイベントソース名を削除します。

    例)
    > regsvr32 /u /i:"Mirroring Controller arbtier1" "c:\Program Files\Fujitsu\fsepv<x>assistant64\lib\mcarbevent.dll"
    “<x>”は製品のバージョンを示します。
  4. Mirroring Controller裁定プロセスの管理ディレクトリを削除します。

    例)
    > rmdir /S /Q D:\mcarb_dir\arbiter1