*Pacemaker [#n1fd68bb]
[[Cluster Labs>+http://clusterlabs.org/]]
[[GitHub Pacemaker>+https://github.com/ClusterLabs/pacemaker]]
クラスタリング環境下で、Elastic IP Address(EIP≒Virtual IP Address)の付け替えを行ったり、
リソース管理と連携してパケット振り分けを行うミドルウェア。
Pacemakerとサーバ監視ソフト(zabbix、Nagios、etc...)を連携させる事で、
監視側でアラートが上がったらEIPの付け替えを行う事も可能。
*pcs [#k2369afe]
[[Pacemaker command line interface and GUI>+https://github.com/feist/pcs]]
H/A構成を作成するPacemaker+Corosyncの、EIP設定shellコマンド。
逐次コマンドを打って設定する方法と、
事前に設定内容を作成しておいて、pcsで読み込む方法の二つがある。
よく、crmと比較されるが今後はpcsが主流になる可能性が高い。
~
*インストール [#e1c19a8c]
&size(16){&font(b){1. ビルド・インストール};};
PacemakerはCorosyncのライブラリを使用するので、&font(b){Pacemakerのビルド前にCorosyncを入れておく。};
また、configureオプションもCorosyncと同様にした方が動作不良が起きにくい。
"make install"する時に、Pacemaker用のグループとユーザが必要になるので事前に作っておく。
 # groupadd haclient
 # useradd -g haclient -s /sbin/nologin -M -d /var/pacemaker hacluster
 # git clone git://github.com/ClusterLabs/pacemaker.git pacemaker
 # cd pacemaker
 # ./autogen.sh
 # ./configure --prefix=/usr/local/pacemaker --sysconfdir=/etc --localstatedir=/var
 # make
*インストール [#b7e9e39a]
&size(16){&font(b){1. インストール};};
それ程大きいソフトウェアでは無いので、yum一発でインストール可能。
また、ビルドする場合もconfigureする事が出来ない(そもそもビルド済み)ので"make install"一発になる。
makeでインストールした場合、バイナリは"/usr/sbin/pcs"にインストールされる。
 ※yumの場合
 # yum install pcs pcs-devel
 -----
 ※makeの場合
 # git clone https://github.com/feist/pcs pcs
 # cd pcs
 # make install

 # cd /usr/sbin
 # ln -s /usr/local/pacemaker/sbin/* .
 # cd /usr/include
 # ln -s /usr/local/pacemaker/include/pacemaker .
 # cd /usr/libexec
 # ln -s /usr/local/pacemaker/libexec/pacemaker .
 # cd /usr/lib64/pkgconfig
 # ln -s /usr/local/pacemaker/lib/pkgconfig/* .
 # cd /usr/lib64
 # ln -s /usr/local/pacemaker/lib/lib* .
~
&size(16){&font(b){2. 起動};};
起動は、[Corosync→Pacemaker]の順番に行う。
その為Corosyncが先に起動していたら、一度停止した後にPacemakerを起動させる。
 # /etc/init.d/corosync restart
 # /etc/init.d/pacemaker start
起動チェックするには、Pacemakerのコマンド(crm_mon)を使用する。
ただし、1台のみでcrm_monを打ってもノードが無い為に"0 Node"で表示される事がある。
 # crm_mon 
 Defaulting to one-shot mode
 You need to have curses available at compile time to enable console mode
 Last updated: Sun Dec  7 00:45:16 2014
 Last change: Sat Dec  7 00:42:34 2014
 Current DC: NONE
 0 Nodes configured
 0 Resources configured
~
&size(16){&font(b){3. 設定};};
Pacemaker単体ではEIP設定が出来ない為、EIP設定専用のshellをインストールする。
代表的な物としては、crmとpcsの二種類がある。