centos7にpacemakerをインストールしてみる

pacemaker + heartbeatを使っていた時代は結構いじっていたのですが、最近のcorosyncになっから触る機会がありませんでした。そこで、久しぶりに使ってみようと思ったので備忘録として残して置きます。

方針

  • 2台のLinuxをpacemakerを使用したClusterを構築します
  • Cluster構成はVIPとPostfixを使った簡単な冗長システムを作ります
  • pacemakerでの死活監視対象は、デフォルトゲートウェイ、VIP、Postfixとします
  • 単純なClusterのみ構築するので、Resource Agentの監視は start stop monitor 位しか設定しません(まずは動けばいい 🙂 )

環境

項目 バージョン
CentOS 7.3.1611
pacemaker 1.1.15-11.el7_3.4
corosync 2.4.0-4.el7
pcs 0.9.152-10.el7.centos.3

検証環境のため、firewalld/SELinuxは無効化しています。

pacemaker cluster構築

pacemakerインストール

(1) pacemakerのインストールをします。

pacemaker01

pacemaker02

pcsdプロセス起動

(1) pcsd(クラスタ管理ツール)を起動します。

pacemaker01

pacemaker02

ステータス確認用アカウントパスワード設定

(1) pacemakerのステータスを確認するアカウントのパスワードを設定します。

pacemaker01

pacemaker02

(2) Clusterの認証設定をします。

Clusterの同期

(1) pacemaker01/02でClusterを構築して設定を同期します。

Clusterの起動

(1) 全ノードのClusterを起動します。

(2) Clusterのステータスを確認します。

Onlineに全ノードが存在していること

現状の確認

(1) Cluster設定の有効性を確認します。

stonithがデフォルトでは有効になっていることが分かります。
stonithは、確かスプリットブレインにならないようにIPMI経由でサーバを停止する機能だったかと思います。。。
仮想マシンでHA構成を組む時は必要ないので無効化します。

(2) stonithの無効化をします。

何も表示されなくなったことを確認します。

Postfix Cluster構築

(1) pacemaker01/02のpostfixを停止します。

pacemaker01

pacemaker02


Resource Agentの確認方法

ここで、pacemakerのResource Agent(RA)の確認方法についてメモっておきます。

RAの種類を確認したい場合

RAのマニュアルを見たい場合

ocf:heartbeat:IPaddr2 のマニュアルを見てみます。
これで、RAの設定内容が理解できます。


(2) VIPのRAを設定します。

(3) PostfixのRAを設定します。

(4) pingのRAを設定します。

この状態だと、リソースが同ホストで起動せず、あっちゃこっちゃで起動してしまいます。
以下の例では、pacemaker01でVIPが起動していますがPostfixはpacemaker02で起動しています。
本来はpacemaker01で起動してほしいのに。。。

と、言うことで INFINITY スコアを使用して同一ホストで全て起動するようにします。

(5) INFINITY スコアをpostfixへ付与します。

これで VIP が起動しているホスト上でPostfixが起動するようになります。

あとは、切り替わるか試してみましょう。

うん。
だんだん思い出してきて 🙂
Heartbeat時代は、crmを使って設定していたけど、pcsの方が簡単に出来るようになってる感じがします。
プロセスの再起動に何回失敗したら切り替えとか、リソースグループ化とか色々と複雑なHA構成は、また別途やって思い出そう…。

参考文献

Leave a Reply

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)