PostgreSQL リソースの作成手順を例示します。
PostgreSQL リソースは、LifeKeeper ノード上の PostgreSQL インスタンスを保護する機能を提供します。
構成図
本ガイドで作成する環境は、以下のような2ノード構成です。
事前に PostgreSQL ARK をインストールしてください。
本ガイドでの環境 (PostgreSQL)
- 本ガイドでは、PostgreSQL 9.2.24 を使用します。
- PostgreSQL のデータディレクトリーは、共有ストレージ上のファイルシステムに作成します。
- PostgreSQL データベース管理者ユーザーは、データベースの初期化時に作成される postgres を使用します。
- アクティブ / スタンバイ設定で、PostgreSQL リソースインスタンスを保護します。
※ ファイルシステムの制限事項にあたらないことを確認してください。詳細は こちら をご参照ください。
target1、target2 で実行
- PostgreSQL のインストール
インストール後、PostgreSQL サービスの自動起動は、次のようにして無効にしてください。
# systemctl disable postgresql.service
target1 で実行
- ファイルシステムのマウント
「ファイルシステムリソースの作成」の1. を参照して、データディレクトリーの作成先となるファイルシステムをマウントしてください。
- データディレクトリーの作成
PostgreSQL のデータディレクトリーを共有ディスク上に作成してください。
[target1]# mkdir -p /mnt/fs/pgsql/data [target1]# chown -R postgres:postgres /mnt/fs/pgsql
/usr/lib/systemd/system/postgresql.service ファイルに記載されている次のパスを、共有ディスク上のデータディレクトリーに変更してください。
Environment=PGDATA=/mnt/fs/pgsql/data
- データベースの初期化
次のコマンドを実行し、データベースを初期化してください。
データディレクトリーの下にデータベースが作成されます。
[target1]# postgresql-setup initdb
- PostgreSQL サービスの起動
以下のコマンドを実行し、PostgreSQL サービスを起動します。
[target1]# systemctl start postgresql.service
- リソースの作成
以下のコマンドを実行します。
[target1]# lkcli resource create pgsql --tag pgsql-tag --datadir /mnt/fs/pgsql/data --port 5432 --socket /tmp/.s.PGSQL.5432 --dbuser postgres --logfile /tmp/pgsql-5432.lk.log
リソースの設定値
項目 | 入力値 |
---|---|
--tag | タグ名 |
--datadir | PostgreSQL データベースのデータがあるディレクトリーの絶対パス。 |
--port | PostgreSQL が使用しているポート番号 |
--socket | PostgreSQL が使用しているソケットのパス |
--dbuser | PostgreSQL データベース管理者ユーザー名 |
--logfile | PostgreSQL の起動や停止に使用する pg_ctl のログファイルの絶対パス。 |
- リソースの拡張
さらに以下のコマンドを実行します。
[target1]# lkcli resource extend pgsql --tag pgsql-tag --dest target2
リソースの設定値
項目 | 入力値 |
---|---|
--tag | 作成したリソースのタグ名 |
--dest | バックアップノード名 |
- リソースの確認
リソースの作成および拡張が完了したら、次のコマンドを実行してください。
リソースの情報が表示されます。
[target1]# lkcli status -q LOCAL TAG ID STATE PRIO PRIMARY target1 pgsql-tag target1.pgsql-5432 ISP 1 target1 target1 /mnt/fs /mnt/fs ISP 1 target1 target1 device17885 36000c292eb0c693b2efb44ed56556636-1 ISP 1 target1 target1 disk17816 36000c292eb0c693b2efb44ed56556636 ISP 1 target1
PostgreSQL リソースを作成すると、上記のように自動的に下位にファイルシステムリソースが依存関係を持った状態で作成されます。
このトピックへフィードバック