リソースの作成

保護するサービスやアプリケーションに対応するリソースを作成します。
コミュニケーションパスは「コミュニケーションパスの作成・削除 」を参照して、事前に作成してください。

 

ファイルシステムリソースの作成

ファイルシステムリソースの作成手順を例示します。
ファイルシステムリソースは共有ストレージ上のファイルシステムをクラスターノード間で切り替えることを可能する機能を提供します。

構成図

本ガイドで作成する環境は、以下のような2ノード構成です。

LifeKeeper の制限事項にあたらないことを確認してください。

ファイルシステムリソースを作成するには、以下の条件を満たしている必要があります。

  • 共有ストレージが物理的に接続され、各ノードから同じ状態で接続できること
  • parted などのユーティリティを使い、 GUID パーティションテーブル (GPT) で共有ディスクのパーティションが切られていること
  • mkfs などのユーティリティを使い、ファイルシステムが作成されていること
  • 各 ノードでファイルシステムをマウント、アンマウントができること

 

target1 で実行

  1. ファイルシステムのマウント
    ファイルシステムリソース作成対象のファイルシステムを任意のディレクトリーにマウントします。
    例では /dev/sdb1 を /mnt/fs にマウントしています。/mnt/fs がマウントポイントになります。
[target1]# df
Filesystem              1K-blocks    Used Available Use% Mounted on
/dev/mapper/centos-root  14034944 6904924   7130020  50% /
devtmpfs                   929204       0    929204   0% /dev
tmpfs                      941312       0    941312   0% /dev/shm
tmpfs                      941312   25948    915364   3% /run
tmpfs                      941312       0    941312   0% /sys/fs/cgroup
/dev/sda1                  1038336 148528    889808  15% /boot
tmpfs                      188264       0    188264   0% /run/user/0
/dev/sdb1                  1044132  32992   1011140   4% /mnt/fs
  1. リソースの作成
    以下のコマンドを実行します。
[target1]# lkcli resource create fs --tag fs-tag --mountpoint /mnt/fs

リソースの設定値

項目 入力値
--tag タグ名
--mountpoint マウントポイント
  1. リソースの拡張
    さらに以下のコマンドを実行します。
[target1]# lkcli resource extend fs --tag fs-tag --dest target2

リソースの設定値

項目 入力値
--tag 作成したリソースのタグ名
--dest バックアップノード名
  1. リソースの確認
    リソースの作成および拡張が完了したら、次のコマンドを実行してください。
    リソースの情報が表示されます。
[target1]# lkcli status -q
 
LOCAL   TAG           ID                                   STATE     PRIO  PRIMARY
target1 fs-tag        /mnt/fs                              ISP          1  target1
target1  device28856  36000c292eb0c693b2efb44ed56556636-1  ISP          1  target1
target1   disk28786   36000c292eb0c693b2efb44ed56556636    ISP          1  target1

ファイルシステムリソースを作成すると上記のように自動的に3つのリソースが依存関係を持った状態で作成されます。これらは、上位からマウントポイント、デバイス、ディスクを管理しており、それぞれ制御する対象が異なっています。これらは 3 つで 1 つの役割を担うため、依存関係の操作などで順序の変更などを行わないようにしてください。


 

IP リソースの作成

IP リソースの作成手順を例示します。
IP リソースはクラスター間で切り替えることができる仮想 IP アドレスを作成し、それを保護します。

構成図

本ガイドで作成する環境は、以下のような2ノード構成です。

Ping で応答できる仮想 IP アドレス(上記では 10.1.6.100)を用意してください。
Ping 応答できるマシン(上記では 10.1.6.90)も用意してください。

Ping 応答は以下のようなコマンドで確認できます。

# ip -4 addr add 10.1.6.100/24 dev ens192
 
# ping 10.1.6.90 -b -c 1 -w 1 -I 10.1.6.100 10.1.6.90

結果に応答があること。

# ip -4 addr delete 10.1.6.100/24 dev ens192

制限事項

  • 作成しようとしている仮想IPアドレスに重複は無いか確認してください。
  • 仮想 IP アドレスと同じネットワークに、クラスターを構成するノード以外で Ping 応答できるマシンが存在するか確認してください。
    ※ IP リソースはブロードキャスト Ping、あるいはユニキャスト Ping を使用して応答確認を行います。そのため、クラスターを構成しているノード以外で Ping に応答できるマシンが必要です。

target1 で実行

  1. リソースの作成
    以下のコマンドを実行します。
[target1]# lkcli resource create ip --tag ip-tag --ipaddr 10.1.6.100 

リソースの設定値

項目 入力値
--tag タグ名
--ipaddr 仮想 IP アドレス
  1. Ping リストの設定
    以下のコマンドを実行して、Ping リストを設定します。
[target1]# lkcli resource config ip --tag ip-tag --pinglist 10.1.6.90

その後、リソースを In Service の状態にします。

[target1]# lkcli resource restore --tag ip-tag
  1. リソースの拡張
    さらに以下のコマンドを実行します。
[target1]# lkcli resource extend ip --tag ip-tag --dest target2

リソースの設定値

項目 入力値
--tag 作成したリソースのタグ名
--dest バックアップノード名
  1. 拡張したリソースへ Ping リストの設定
    以下のコマンドを実行して、拡張したリソースに対しても、Ping リストを設定します。
[target1]# lkcli resource config ip --tag ip-tag --pinglist 10.1.6.90 --remote target2
  1. リソースの確認
    リソースの作成および拡張が完了したら、次のコマンドを実行してください。
    リソースの情報が表示されます。
[target1]# lkcli status -q
LOCAL    TAG     ID             STATE     PRIO  PRIMARY
target1  ip-tag  IP-10.1.6.100  ISP          1  target1

 

PostgreSQL リソースの作成

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 リソースを作成すると、上記のように自動的に下位にファイルシステムリソースが依存関係を持った状態で作成されます。

フィードバック

お役に立ちましたか?

はい いいえ
お役に立ちましたか
理由をお聞かせください
フィードバックありがとうございました

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

送信