技術を知る:データベース多重化環境における自動起動運用の手法

データベースの冗長化は、システムの可用性を向上させるために欠かせない要素です。Fujitsu Enterprise Postgres(以降、Enterprise Postgres)は、エンタープライズ環境での利用を想定し、データベース多重化機能を搭載しています。
冗長化されたデータベースをLinux上で自動的に起動・停止させたいというニーズは多く、そのためにプログラムをサービスとして制御する「systemd」を利用することが一般的です。

本記事では、データベース多重化機能を利用した冗長化構成、「systemd」の基本的な仕組み、そしてデータベース多重化環境における自動起動運用の方法について詳しく解説します。

データベース多重化機能を利用した構成

データベース多重化機能は、冗長化されたデータベースの監視と制御を行い、障害を検知すると縮退を実行する機能を備えています。この機能を利用した構成を図1に示します。

データベース多重化機能を利用した構成図
図1:データベース多重化機能を利用した構成図

図1は、データベース多重化機能による自動縮退を実現するための監視構成を示しており、裁定サーバー上にMirroring Controller裁定プロセス、データベースサーバー上にMirroring Controllerプロセス(以降、MC)が配置されます。
データベースサーバー上のMCは、自身のデータベースインスタンスや相手側のデータベースサーバーなどを監視します。自身のデータベースインスタンスや相手のデータベースサーバーなどで異常が発生した場合、MCによって縮退が行われます。両方のデータベースサーバーがプライマリとして動作するスプリットブレインを防ぐために、裁定サーバーが配置されています。裁定サーバーは第三者としてデータベースサーバーを監視し、データベースサーバー同士の状態を正確に判断できない場合にデータベースサーバーの状態を確認し、必要に応じて異常なデータベースサーバーを隔離します。

「systemd」の仕組み

「systemd」は、多くのLinuxシステムで標準採用されている、サービスの自動起動・停止を管理するコンポーネントです。複数のサービスの起動順序や依存関係を管理することで、システム全体の安定性を向上させたり、ジャーナル機能でログを管理したりすることが可能です。ここで言うサービスとは、Webサイトを表示するプログラムや、メールを送受信するプログラムなど、Linux上で動作する様々なプログラムを指します。
サービスの登録は、ユニットファイルと呼ばれるテキスト形式の設定ファイルで行います。このファイルには様々なオプションが記述でき、例えば、サービスをどのような順番で起動するかを設定する「After」オプションや、他のサービスとの関係性(依存関係)を設定する「Requires」オプションなどがあります。

「systemd」における簡単な概要図は、以下の図2のようになります。

「systemd」概要図
図2:「systemd」概要図

これらのサービスを制御するためのコマンドラインユーティリティが「systemctl」です。このコマンドを使用することで、サービスの起動、停止、再起動、状態確認、自動起動設定などの操作を実行できます。なお、「systemd」に登録したサービスの起動・停止は、必ず「systemctl」で操作する必要があります。なぜなら、「systemd」が起動したサービスを他のコマンドで停止させると、「systemd」がサービスを正しく制御できなくなるためです。

自動起動運用における2つの運用方法

データベース多重化環境における自動起動運用には2つの方法があります。1つはMCとデータベースインスタンスをまとめて制御する運用方法、もう1つはMCとデータベースインスタンスを別々のサービスとして作成する運用方法です。まとめて制御する場合は、マニュアル「クラスタ運用ガイド(データベース多重化編)」を参照してください。以下では、MCとデータベースインスタンスを別々のサービスとして作成する運用方法について、ユニットファイルの例を用いて解説します。

Loading component...

Loading component...

注:<インスタンス名>、<インストールディレクトリ>、<データ格納先ディレクトリ>、<ユーザー名>、<グループ名>などは、環境に合わせて変更してください。

Loading component...

以下に、MCを「systemd」にサービス登録する際のユニットファイルの例を示します(上記内容を反映した部分を赤文字にしています)。

Loading component...

Loading component...

Loading component...

補足情報

Loading component...

参考

Enterprise Postgresのマニュアルは下記の資材一覧から参照してください。

Loading component...

Loading component...

2025年6月30日公開

富士通のソフトウェア公式チャンネル(YouTube)

富士通のミドルウェア製品のご紹介や各種イベント・セミナーの講演内容、デモンストレーションなどの動画をご覧いただけます。

Loading component...

Loading component...