PostgreSQL リソースの作成手順を例示します。
PostgreSQL リソースは、LifeKeeper ノード上の PostgreSQL インスタンスを保護する機能を提供します。

構成図

本ガイドで作成する環境は、以下のような2ノード構成です。
事前に PostgreSQL ARK をインストールしてください。

本ガイドでの環境 (PostgreSQL)

  • 本ガイドでは、PostgreSQL 9.2.24 を使用します。
  • PostgreSQL のデータディレクトリーは、共有ストレージ上のファイルシステムに作成します。
  • PostgreSQL データベース管理者ユーザーは、データベースの初期化時に作成される postgres を使用します。
  • アクティブ / スタンバイ設定で、PostgreSQL リソースインスタンスを保護します。

※ ファイルシステムの制限事項にあたらないことを確認してください。詳細は こちら をご参照ください。

target1、target2 で実行

  1. PostgreSQL のインストール
    インストール後、PostgreSQL サービスの自動起動は、次のようにして無効にしてください。
# systemctl disable postgresql.service

target1 で実行

  1. ファイルシステムのマウント
    「ファイルシステムリソースの作成」の1. を参照して、データディレクトリーの作成先となるファイルシステムをマウントしてください。
  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

  1. データベースの初期化
    次のコマンドを実行し、データベースを初期化してください。
    データディレクトリーの下にデータベースが作成されます。
[target1]# postgresql-setup initdb
  1. PostgreSQL サービスの起動
    以下のコマンドを実行し、PostgreSQL サービスを起動します。
[target1]# systemctl start postgresql.service
  1. リソースの作成
    以下のコマンドを実行します。
[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 のログファイルの絶対パス。
  1. リソースの拡張
    さらに以下のコマンドを実行します。
[target1]# lkcli resource extend pgsql --tag pgsql-tag --dest target2

リソースの設定値

項目 入力値
--tag 作成したリソースのタグ名
--dest バックアップノード名
  1. リソースの確認
    リソースの作成および拡張が完了したら、次のコマンドを実行してください。
    リソースの情報が表示されます。
[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 リソースを作成すると、上記のように自動的に下位にファイルシステムリソースが依存関係を持った状態で作成されます。


フィードバック

フィードバックありがとうございました

このトピックへフィードバック

送信