プライマリサーバのデータベース多重化運用のセットアップについて、説明します。
データベース多重化機能では、動作に必要なファイルをMirroring Controller管理ディレクトリで管理します。
インスタンス1つに対して1つのMirroring Controller管理ディレクトリが対応します。
注意
Mirroring Controller管理ディレクトリは、Symfoware Serverが管理するディレクトリとともに誤って削除されたり、Symfoware Serverのリカバリとともに古いファイルに戻されたりすることがないようにSymfoware Serverが管理するディレクトリ配下に配置しないでください。
Mirroring Controllerは、プライマリサーバから先に起動してください。スタンバイサーバから起動すると切り替えが発生します。
参照
Symfoware Serverが管理するディレクトリの詳細は、“導入ガイド(サーバ編)”の“セットアップ”の“資源配置用のディレクトリの準備”を参照してください。
mc_ctlコマンドの詳細は、“リファレンス”を参照してください。
セットアップで編集する各パラメータの詳細については、“付録A パラメータ”を参照してください。
以下の手順で行います。
プライマリサーバにログインします。
データベース多重化機能で必要なファイルを格納するMirroring Controller管理ディレクトリを作成します。
Mirroring Controller管理ディレクトリは、ASCII文字で指定してください。
また、インスタンス管理者ユーザーに対する書き込み権限を付与してください。
Mirroring Controllerのプロセス間で連携するネットワークの構成をnetwork.confファイルに定義します。
サンプルファイルをもとにして、Mirroring Controller管理ディレクトリにnetwork.confファイルを作成します。
サンプルファイルのパス
インストールディレクトリ\share\mc_network.conf.sample
network.confファイルには、プライマリサーバとスタンバイサーバのホスト名(またはIPアドレス)、およびポート番号を指定して、Mirroring Controllerのプロセス同士が連携するためのネットワークの構成を定義します。
詳細は、“A.3 ネットワーク定義ファイル”を参照ください。
以下に定義例を示します。
例) サーバ識別子に“server1”および“server2”、ポート番号に“26540”を指定している場合の例を以下に示します。
server1 192.0.2.100 26540 server2 192.0.2.110 26540
ポート番号は、プライマリサーバ、スタンバイサーバのどちらにおいても、他のソフトウェアと重ならないように設定してください。
WebAdminのようにサービスファイルを用いて空きポート番号を検索して使用するプログラムが存在するため、プライマリサーバ側のポート番号をサービスファイルに登録しておいてください。
なお、サービス名は、任意の名前で登録してください。
network.confファイルのアクセス権限を変更します。
network.confファイルには、インスタンス管理者ユーザーにのみ読み込み権限を設定してください。
インスタンス管理者ユーザー以外にアクセス権限が与えられていた場合には、mc_ctlコマンドは動作しません。これにより、インスタンス管理者ユーザー以外がMirroring Controllerを操作することを防止します。
例) インスタンス管理者ユーザーのOSのユーザー名が“symfo”の場合に、インスタンス管理者ユーザーを所有者にしてフルアクセス権を付与する場合の実行例を示します。Windowsサーバに“symfo”でログインしている場合の操作手順です。
> takeown /f network.conf > icacls network.conf /inheritance:r > icacls network.conf /grant symfo:F
Mirroring Controllerの監視および制御に関する情報をサーバ識別子.confファイルに定義します。
サンプルファイルをもとにして、Mirroring Controller管理ディレクトリにサーバ識別子.confファイルを作成します。
サーバ識別子.confファイルのファイル名には、手順3でnetwork.confファイルに指定したサーバ識別子名を使用してください。
サンプルファイルのパス
インストールディレクトリ\share\mc_server.conf.sample
サーバ識別子.confファイルには、以下のパラメータを設定します。
パラメータ | 指定内容 | 備考 |
---|---|---|
db_instance | 'データ格納先ディレクトリ' | ASCII文字で、パスの区切り文字には\\を指定してください。 |
db_instance_service_name | 'Symfoware Serverのインスタンスの登録サービス名' | Symfoware ServerインスタンスのWindowsサービスへの登録サービス名を指定します。 ASCII文字で指定してください。 |
db_instance_password | 'インスタンス管理者ユーザーのユーザー名に対応するパスワード' | Mirroring Controllerからデータベースのインスタンスへの接続設定において、パスワード認証を行う場合に指定してください。 ASCII文字で指定してください。 |
mc_service_name | 'Mirroring Controllerの登録サービス名’ | Mirroring ControllerのWindowsサービスへの登録サービス名を指定します。スラッシュ(/)および円記号(\)以外のASCII文字で指定してください。 サービス名の最大長は124バイトです。 |
event_source | 'イベントソース名' | イベントログ内のMirroring Controllerメッセージを特定するために使用するイベントソース名を指定してください。ASCII文字で指定してください。 イベントソース名の最大長は255バイトです。 postgresql.confファイルのパラメータと似たイベントソース名にすることで、Mirroring Controllerの出力内容を透過的に参照できるため、ログの参照が容易になります。 |
heartbeat_interval | 800(ミリ秒数) | 応答がない状態を検知してからプライマリサーバを切り替えるなどの操作を行うまでの時間は、以下の式で計算します。 (heartbeat_interval(ミリ秒数)+heartbeat_timeout(秒数))× heartbeat_retry(回数)=(0.8+1)×2=3.6(秒) この設定では、800ミリ秒間隔で異常を監視して、1秒間の応答がない状態が2回続いた場合にはプライマリサーバを切り替えるか、またはスタンバイサーバをプライマリサーバから切り離すかの操作を行います。 本パラメータの設定には、異常監視による縮退を最適化するために考慮することがあります。詳細は、“8.9.4 最適な異常監視による縮退運転を行うためのチューニング”を参照してください。 |
heartbeat_timeout | 1(秒数) | |
heartbeat_retry | 2(回数) |
サーバ識別子.confファイルのアクセス権限を変更します。
サーバ識別子.confファイルには、インスタンス管理者ユーザーにのみ読み込み権限を設定してください。インスタンス管理者ユーザー以外にアクセス権限が与えられていた場合には、mc_ctlコマンドは動作しません。
例) インスタンス管理者ユーザーのOSのユーザー名が“symfo”の場合に、インスタンス管理者ユーザーを所有者にしてフルアクセス権を付与する場合の実行例を示します。Windowsサーバに“symfo”でログインしている場合の操作手順です。
> takeown /f サーバ識別子.conf > icacls サーバ識別子.conf /inheritance:r > icacls サーバ識別子.conf /grant symfo:F
Windowsファイアウォールを設定します。
Windowsファイアウォール機能を有効にする場合、手順3でネットワーク定義ファイルに指定したMirroring Controllerのポート番号を有効にしてください。詳細は、“C.2 Windowsファイアウォールの設定”を参照してください。
WindowsサービスへMirroring Controllerを登録します。
mc_ctlコマンドをregisterモードで実行します。
mc_ctlコマンドの-Pオプションには、コマンドを実行したOSユーザーのパスワードを指定してください。
例)
> mc_ctl register -M D:\mcdir\inst1 -w -f -P ********
注意
mc_ctlコマンドの-Pオプションにパスワードを指定するときには、セキュリティ上の観点から他のユーザーに参照されないように注意してください。
参考
mc_ctlコマンドの-SオプションでMirroring Controllerの自動起動・停止の設定を行うことができます。詳細は、“8.10 多重化したインスタンスとMirroring Controllerの自動起動・停止の設定”を参照してください。
手順5でサーバ定義ファイルのmc_service_nameパラメータに指定したサービス名で、Windowsサービスに以下のようにMirroring Controllerが登録されます。
sc qcコマンドを実行して、登録状態を確認することもできます。