リソースの作成
保護するサービスやアプリケーションに対応するリソースを作成します。
コミュニケーションパスは「コミュニケーションパスの作成・削除 」を参照して、事前に作成してください。
ファイルシステムリソースの作成
ファイルシステムリソースの作成手順を例示します。
ファイルシステムリソースは共有ストレージ上のファイルシステムをクラスターノード間で切り替えることを可能する機能を提供します。
構成図
本ガイドで作成する環境は、以下のような2ノード構成です。
LifeKeeper の制限事項にあたらないことを確認してください。
ファイルシステムリソースを作成するには、以下の条件を満たしている必要があります。
- 共有ストレージが物理的に接続され、各ノードから同じ状態で接続できること
- parted などのユーティリティを使い、 GUID パーティションテーブル (GPT) で共有ディスクのパーティションが切られていること
- mkfs などのユーティリティを使い、ファイルシステムが作成されていること
- 各 ノードでファイルシステムをマウント、アンマウントができること
target1 で実行
- ファイルシステムのマウント
ファイルシステムリソース作成対象のファイルシステムを任意のディレクトリーにマウントします。
例では /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
- リソースの作成
以下のコマンドを実行します。
[target1]# lkcli resource create fs --tag fs-tag --mountpoint /mnt/fs
リソースの設定値
項目 | 入力値 |
---|---|
--tag | タグ名 |
--mountpoint | マウントポイント |
- リソースの拡張
さらに以下のコマンドを実行します。
[target1]# lkcli resource extend fs --tag fs-tag --dest target2
リソースの設定値
項目 | 入力値 |
---|---|
--tag | 作成したリソースのタグ名 |
--dest | バックアップノード名 |
- リソースの確認
リソースの作成および拡張が完了したら、次のコマンドを実行してください。
リソースの情報が表示されます。
[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 で実行
- リソースの作成
以下のコマンドを実行します。
[target1]# lkcli resource create ip --tag ip-tag --ipaddr 10.1.6.100
リソースの設定値
項目 | 入力値 |
---|---|
--tag | タグ名 |
--ipaddr | 仮想 IP アドレス |
- Ping リストの設定
以下のコマンドを実行して、Ping リストを設定します。
[target1]# lkcli resource config ip --tag ip-tag --pinglist 10.1.6.90
その後、リソースを In Service の状態にします。
[target1]# lkcli resource restore --tag ip-tag
- リソースの拡張
さらに以下のコマンドを実行します。
[target1]# lkcli resource extend ip --tag ip-tag --dest target2
リソースの設定値
項目 | 入力値 |
---|---|
--tag | 作成したリソースのタグ名 |
--dest | バックアップノード名 |
- 拡張したリソースへ Ping リストの設定
以下のコマンドを実行して、拡張したリソースに対しても、Ping リストを設定します。
[target1]# lkcli resource config ip --tag ip-tag --pinglist 10.1.6.90 --remote target2
- リソースの確認
リソースの作成および拡張が完了したら、次のコマンドを実行してください。
リソースの情報が表示されます。
[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 で実行
- 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 リソースを作成すると、上記のように自動的に下位にファイルシステムリソースが依存関係を持った状態で作成されます。
このトピックへフィードバック