Linux-HA Japan勉強会に行ってきた。

ブログを更新するまでが勉強会ということで。

僕の前提知識は、最近Heartbeat2.0.*検証を依頼されて3日触ったぐらいです。

以下、勉強会中に書いたメモ。

1.Pacemakerを使ってみよう

サービス継続できないサーバを強制的にクラスタリソースから排除する。(シャットダウン? or リブート)(フェンシング)

IPMI2.0対応のHW制御ボードなら使える(?)

お互いをフェンシングしてしまうこともあるが、STONITHプラグインを入れると防げる。

デモではXen0のSTONITHプラグイン(?)を使う。

Linux-Ha Japanが作ったツールがある。

yumでインストールするとユーザが追加される。

SFEX(共有ディスク排他制御機能)

フェイルカウントを0にしないとフェイルオーバーしてもリソースが上がらないようになっている。

STONITHの機能によって、スプリットブレイン発生時にはリソースがあった方が生き残る。

corosyncにシフトしていきたいと思っている。

2.リソースエージェントの中身を見てみよう

OCFスクリプトを適切に書き換える必要あり。

OCFはバージョンによってかなり違うのできちんと内容を見る必要がある。

$OCF_CHECK_LEVELの値でステータスのチェック方法とかはだいぶ変わる。

以上メモ。

auto_failbackについて「設定できなくなりました?」みたいな質問があったと思うのですが、以下の注のところにちょろっと書いてあります。

auto_failback命令 - フェイルバックポリシーの設定

設定するにはcib.xmlの<crm_config>の中に

<nvpair id="default_resource_stickiness" name="default_resource_stickiness" value="-INFINITY"/>

とか書いてやる必要があるかと思われます。

自分が検証した時は、なんか上手くいったりいかなかったりで原因を特定することなく時間切れとなりました。。

あとHeartbeat2系だと「STONITHは上手く動かないから設定しない方が多重障害時にお互いぶっ壊れるとかいうリスクは無くせるよ」みたいな記述をどっかで見かけたのですが、この記述が真ならPacemaker(ってかHeartbeat3)ではちゃんと動くようになったんですかね。

cib.xmlのスコアとかノードの優先順位の設定とかharesources2cib.pyって今も使えるのかとか2系でも2.0と2.1でだいぶ違うが変更点一覧とかあるんですかとか2系のまとまったドキュメントとかパラメータ一覧とかあるんですかとかcrm_verifyのcib.xmlチェック方法とか色々訊きたい事があったけれど帰社する予定だったので懇親会には参加せず。

結局は帰社しなくていいと言われたので、まっすぐ帰ってサッカー観ましたが。

総括としては、STONITH周りのお話と対話型cib.xml設定インターフェイスのデモを見れたところが「おぉっ!」って感じでした。

上で列挙した訊きたかった事は、ソースやスクリプト読んだりデバックモードにしてログをtail -fしてれば分かることなんだろうけど、僕みたいな利用者視点だと結構敷居は高いかなー。正直。