おれのライフキーパーになってくれないか

CLUSTERPROでだいぶ飯を食ってきた私。ここへきて案件でLifeKeeperでHAする機会がありました。こういう製品構築ってのはすぐ忘れちゃうから、クラスタ構築案件あれば手伝わせてくださいw

なんてことで、サクッと手順洗い出しの検証はしておきたいと思うのは私だけではないはず。以前は「どんな目的で使うの?買ってくれるんだよね」的なものがあったりして敷居が高かったんですが、完全にトライアル版のダウンロードができるようになりました。これで現場でおろおろすることもないでしょう。まあ一番の肝であるマルチデバイスパスとかDBの検証は、検証環境ではできなそうですけど、共有ドライブの引き継ぎ確認などはiSCSIで接続してマウントポイント・・とかで検証できそうですね。
http://sios.jp/bcp/lkv9/trial/
この評価版に添付のガイドも秀逸なんで誰でもサクッと始められます。
んじゃそのガイドみればいいじゃん!って思うかもしれませんが、GUI操作の説明しかないため、コマンドでフェイルオーバーしたいとおもいますよね?

評価版のガイドに従い、httpdを保護リソースとしてクラスタリングを作成しております。 

フェイルオーバー(フェイルバック)のコマンドリファレンス

・実行する際はクラスタスタンバイ側でキックしてくださいね。そいえばコマンドにリストアって書いてありますね。
・rootでやらないと失敗しますよ。sudoでできたっけか?まあ失敗しても怖くないから
・コマンドの書式は
$ perform_action -t apache-etc.httpd -a restore
そうですね、「apache-etc.httpd」がターゲットリソース名です。複数あるリソースの中で何故これか?
まあ、どれを指定しても依存関係によって順番で落としてくれるみたいなんですが、どこの有識者に確認しても、最初に落とすべきリソースを指定するらしいです。
このマニュアルでいう依存関係の順番でいうと、
レプリケーションを停止⇒ドライブマウント解除⇒VIP解放⇒apache停止
の流れになります。まあ安全にリソースを停止するという意味では辻褄はあっていますね。
フェイルオーバー先で再開する際も、
レプリケーション開始⇒マウント⇒VIP付け替え⇒apache開始
という流れになります。

それではさっそく実施してみましょう。

sub.failover_start
[root@lk01 ~]# perform_action -t apache-etc.httpd -a restore
BEGIN restore of "datarep-DR"
/dev/sda2 is configured to be mirrored using /dev/md0
/dev/md0: merging bitmap from target "lk02"
/dev/md0: bitmap merged, resyncing 0.0 B
Partial resynchronization of component "/dev/nbd1" has begun for mirror "/dev/md0"
END successful restore of "datarep-DR"
BEGIN restore of /mnt/DR
"fsck"ing file system /mnt/DR 
fsck.ext4 -y /dev/md0 
e2fsck 1.41.12 (17-May-2010)
/dev/md0: clean, 13/327680 files, 55902/1310720 blocks
mounting file system /mnt/DR 
mount -text4 -orw,barrier=0 /dev/md0 /mnt/DR 
File system /mnt/DR has been successfully mounted. 
END successful restore of /mnt/DR
BEGIN restore of "ip-192.168.33.100"
END successful restore of "ip-192.168.33.100"
LifeKeeper: RESTORE: APACHE: RESTORING apache-etc.httpd TO SERVICE START AT:
    2016年 6月 8日 水曜日 17:12:45 JST
httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.33.11 for ServerName
LifeKeeper: RESTORE APACHE RESOURCE apache-etc.httpd END err=0 AT:
    2016年 6月 8日 水曜日 17:12:48 JST

おまけでステータスチェック方法も載せます。
実行しているサーバ上のSTATE欄で各クラスタリソースがISP(起動)/OSU(停止)であることを確認するわけですね。

sub.cluster_status_check
[root@lk01 ~]# lcdstatus -q
LOCAL    TAG                 ID                                        STATE     PRIO  PRIMARY
lk01     apache-etc.httpd    apache-etc.httpd                          ISP          1  lk01
lk01      ip-192.168.33.100  IP-192.168.33.100                         ISP          1  lk01
lk01       /mnt/DR           /mnt/DR                                   ISP          1  lk01
lk01        datarep-DR       SATA_VBOX_HARDDISK_VBd61b7a23-183fb23c-2  ISP          1  lk01

MACHINE  NETWORK ADDRESSES/DEVICE             STATE     PRIO
lk02     TCP     192.168.33.11/192.168.33.12  ALIVE        1
lk02     TCP     172.16.0.11/172.16.0.12      ALIVE        2

あ、どうせならログの場所なんかも載せましょうかね~
何が便利かというと、このフェイルオーバコマンドを実行している側では画面に状況が表示されるのですが、実行していない側ではよくわからないので、裏の動きを見たいよねってだけなんですがね。

sub.status_log
[root@lk01 ~]# tail -f /var/log/lifekeeper.log

これを仕込んでおけばリアルタイムで画面上でログ確認できますね。 

それでは、さいなら、さいなら

🌟ちょっとでもあなたの仕事の役に立つページであったなら、ここをクリックしてくれるとまた頑張れるんだ。