事前準備内容についてはlinuxHA構成についてをご参照ください。
まずダウンロードしたpacemakerをACTサーバに転送します。
これをtmpに解凍して下さい。
設定ファイル「pacemaker.repo」を編集すればtmp以外でも作業可能ですが
特に編集する必要もないので設定ファイルを指定そのままを使います。
編集する場合はココ→baseurl=file:///tmp/pacemaker-1.0.13-2.1.el5.i386.repo/
解凍したフォルダを指定して下さい。
圧縮ファイルを展開したらyumでインストールします。
# tar zxvf pacemaker-1.0.13-2.1.el5.i386.repo.tar.gz -C /tmp
# yum -c /tmp/pacemaker-1.0.13-2.1.el5.i386.repo/pacemaker.repo install pacemaker heartbeat pm_extras
オリジナルパッケージpm_extrasを追加することで,インターコネクトLAN故障が標準ツールで見えるようになります。
一部オンラインでダウンロードが必要な為にproxyを使用している環境だと
上記ではyum.confを読み込まないので上手くダウンロードできないパッケージがあります。
その為、デフォルトのyumが使えるように「pacemaker.repo」を/etc/yum.repos.d/
配下にコピーしました。プロキシをyum.confに設定しない環境だと上記のコマンドで問題ありません。
#cp -p /tmp/pacemaker-1.0.13-2.1.el5.i386.repo/pacemaker.repo /etc/yum.repos.d/
# yum install pacemaker heartbeat pm_extras
—–長いんで省略—–
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
cluster-glue i386 1.0.11-1.1.el5 pacemaker 303 k
replacing heartbeat-pils.i386 2.1.3-3.el5.centos
heartbeat i386 3.0.5-1.1.el5 pacemaker 165 k
pacemaker i386 1.0.13-2.el5 pacemaker 934 k
pm_extras i386 1.5-1.el5 pacemaker 28 k
Installing for dependencies:
cluster-glue-libs i386 1.0.11-1.1.el5 pacemaker 131 k
corosync i386 1.4.6-1.el5 pacemaker 179 k
corosynclib i386 1.4.6-1.el5 pacemaker 163 k
heartbeat-libs i386 3.0.5-1.1.el5 pacemaker 290 k
libesmtp i386 1.0.4-5.el5 pacemaker 59 k
libxslt i386 1.1.17-4.el5_8.3 base 420 k
lm_sensors i386 2.10.7-9.el5 base 511 k
openhpi-libs i386 2.14.0-5.el5 base 157 k
pacemaker-libs i386 1.0.13-2.el5 pacemaker 306 k
resource-agents i386 3.9.5-1.310.0d443.el5 pacemaker 506 k
Transaction Summary
================================================================================
Install 14 Package(s)
Upgrade 0 Package(s)
Total download size: 4.1 M
Is this ok [y/N]: y
Downloading Packages:
(4/14): openhpi-libs-2.14.0-5.el5.i386.rpm | 157 kB 00:00
(11/14): libxslt-1.1.17-4.el5_8.3.i386.rpm | 420 kB 00:00
(13/14): lm_sensors-2.10.7-9.el5.i386.rpm | 511 kB 00:00
——————————————————————————–
Total 49 kB/s | 4.1 MB 01:24
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : cluster-glue-libs 1/16
Installing : heartbeat-libs 2/16
Installing : resource-agents 3/16
Installing : libxslt 4/16
Installing : lm_sensors 5/16
Installing : libesmtp 6/16
Installing : openhpi-libs 7/16
Installing : cluster-glue 8/16
Installing : heartbeat 9/16
Installing : corosynclib 10/16
Installing : pacemaker-libs 11/16
Installing : pacemaker 12/16
Installing : corosync 13/16
Installing : pm_extras 14/16
Erasing : heartbeat-stonith 15/16
Erasing : heartbeat-pils 16/16
Installed:
cluster-glue.i386 0:1.0.11-1.1.el5 heartbeat.i386 0:3.0.5-1.1.el5
pacemaker.i386 0:1.0.13-2.el5 pm_extras.i386 0:1.5-1.el5
Dependency Installed:
cluster-glue-libs.i386 0:1.0.11-1.1.el5
corosync.i386 0:1.4.6-1.el5
corosynclib.i386 0:1.4.6-1.el5
heartbeat-libs.i386 0:3.0.5-1.1.el5
libesmtp.i386 0:1.0.4-5.el5
libxslt.i386 0:1.1.17-4.el5_8.3
lm_sensors.i386 0:2.10.7-9.el5
openhpi-libs.i386 0:2.14.0-5.el5
pacemaker-libs.i386 0:1.0.13-2.el5
resource-agents.i386 0:3.9.5-1.310.0d443.el5
Replaced:
heartbeat-pils.i386 0:2.1.3-3.el5.centos
heartbeat-stonith.i386 0:2.1.3-3.el5.centos
Complete!
yumは早いですね、もうインストールは完了です。
heartbeatの自動起動をしているとサーバ再起動後に自動的に
クラスタに組み込まれます。
運用上困る場合はheartbeatの自動起動をオフにします。
# chkconfig –level 2345 heartbeat off
続いてコンフィグファイルの設定を行います。
設定は全てのサーバにて同一にします。
最初にACTを設定し、それをSTYに反映します。
# vi /etc/ha.d/ha.cf
pacemaker on
debug 0
udpport 694
keepalive 3
warntime 6
deadtime 10
initdead 10
logfacility local2
bcast eth1
bcast eth2
node HAlinux01
node HAlinux02
watchdog /dev/watchdog
respawn root /usr/lib/heartbeat/ifcheckd
ここまで
主な設定項目の簡単な意味は次の通りです。
pacemaker:リソース制御にPacemakerを使用するかどうか
udpport:インターコネクト通信で使用するudpポート
keepalive:インターコネクト通信の送信間隔(秒)
deadtime:インターコネクト通信途絶後に故障と判断するまでの時間(秒)
initdead:初期起動時に他のサーバの起動を待つ時間(秒)
logfacility:syslog経由でログを出力するときのファシリティ指定
bcast:インターコネクト通信(ブロードキャスト)に使用するデバイスの指定
node:クラスタに参加するサーバ名を指定
respawn:起動するサブプロセスの指定
respawnで指定しているifcheckdはpm_extrasに含まれるLinux-HA Japanオリジナルパッケージで,インターコネクト通信が正常かどうかを見えるようにします。
次に,/etc/ha.d/authkeysを作成します。これは,インターコネクト通信の認証のために使用します。
# vi /etc/ha.d/authkeys
auth 1
1 sha1 secret
このファイルはrootのみにread権限を与えてください。
# chmod 600 /etc/ha.d/authkeys
次に,syslogdの設定を変更します。これは必須ではありませんが,Pacemakerのログは多めなので,ログファイルを分けたほうが望ましいです。/etc/syslog.confをエディタで開き,下記の箇所を変更します。
ha.cfに記述したようにはlocal2にログ出力するようにしています。
# vi /etc/syslog.conf
*.info;mail.none;authpriv.none;cron.none;local2.none /var/log/messages
local2.* /var/log/ha-log
設定反映の為にsyslogdを再起動します。
# /etc/init.d/syslog restart
HAlinux01の設定ファイルをHAlinux02に反映します。
# scp /etc/ha.d/{ha.cf,authkeys} HAlinux02:/etc/ha.d
# scp /etc/syslog.conf HAlinux02:/etc
別のアプリが動いていてsyslog.confが同じでない場合はSTYのsyslog.confを直接編集して下さい。
設定が終わったところでPacemakerを起動してみます。
ACTとSTY両方で起動して下さい。
# /etc/init.d/heartbeat start
クラスタの状態を確認するには,crm_monコマンドを使用します。
# crm_mon -A
しばらく待つと次のような表示が出てきます。
onlineに起動しているサーバ名が表示され、eth1とeth2がupになっていればOKです。
eth情報が見えるのはifcheckdの機能です。
============
Last updated: Thu Dec 18 13:56:05 2014
Stack: Heartbeat
Current DC: halinux02 (11dfce95-9ff2-4995-be33-438522a2f58f) – partition with quorum
Version: 1.0.13-a83fae5
2 Nodes configured, unknown expected votes
0 Resources configured.
============
Online: [ halinux01 halinux02 ]
Node Attributes:
* Node halinux01:
+ halinux02-eth1 : up
+ halinux02-eth2 : up
* Node halinux02:
+ halinux01-eth1 : up
+ halinux01-eth2 : up
crm_monを終了するにはCTRL+Cを押して下さい。