CentOS 6
Sponsored Link

Pacemaker - インストール2011/07/15

 
Linux High-Availability Cluster ツール Pacemaker をインストールします。
例として、ここでは以下の2台でクラスタ環境を構築してみます。
(1)  www01.srv.world  ( eth0 [192.168.1.60],  eth1 [10.0.0.60] )
(2)  www02.srv.world  ( eth0 [192.168.1.61],  eth1 [10.0.0.61] )
eth0 をインターコネクト用、eth1 をサービス提供用として設定します。
[1] 双方のサーバーに Pacemaker をインストールします。
[root@www01 ~]#
yum -y install pacemaker
[2] インターコネクト通信の認証に使用される authkeys を作成しておきます。双方のサーバーで同じように設定してください。
[root@www01 ~]#
vi /etc/ha.d/authkeys
auth 1
1 sha1 secret
[root@www01 ~]#
chmod 600 /etc/ha.d/authkeys

[3] クラスタ制御部 の Corosync の設定です。双方のサーバーで同じように設定してください。
[root@www01 ~]#
cp /etc/corosync/corosync.conf.example /etc/corosync/corosync.conf

[root@www01 ~]#
vi /etc/corosync/corosync.conf
compatibility: whitetank
# 以下追記

aisexec {
        user: root
        group: root
}
service {
        name: pacemaker
        ver: 0
        use_mgmtd: yes
}
totem {
        version: 2
        secauth: off
        threads: 0
        interface {
                ringnumber: 0
# インターコネクト用インターフェースのネットワークアドレスを指定

                bindnetaddr: 192.168.1.0
                mcastaddr: 226.94.1.1
                mcastport: 5405
        }
}
logging {
        fileline: off
        to_stderr: no
        to_logfile: yes
        to_syslog: yes
        logfile: /var/log/cluster/corosync.log
        debug: off
        timestamp: on
        logger_subsys {
                subsys: AMF
                debug: off
        }
}
amf {
        mode: disabled
}

[root@www01 ~]#
chown -R hacluster. /var/log/cluster

[root@www01 ~]#
/etc/rc.d/init.d/corosync start

Starting Corosync Cluster Engine (corosync): [ OK ]
[root@www01 ~]#
chkconfig corosync on

[4] いずれか片方のサーバーで crm_mon を実行して以下のような結果が返ってくればOKです。 その後、クラスタ全体の設定をしておきます。ここまでが基本設定です。 何かしらのサービスをクラスタ構成にするには次項からの監視設定が必要になります。
[root@www01 ~]#
crm_mon

============
Last updated: Fri Jul 15 20:56:49 2011
Stack: openais
Current DC: www01.srv.world - partition with quorum
Version: 1.1.2-f059ec7ced7a86f18e5490b67ebf4a0b963bccfe
2 Nodes configured, 2 expected votes
0 Resources configured.
============

Online: [ www01.srv.world www02.srv.world ]

[root@www01 ~]#
crm configure property no-quorum-policy="ignore" stonith-enabled="false"

[root@www01 ~]#
crm configure rsc_defaults resource-stickiness="INFINITY" migration-threshold="1"
# no-quorum-policy     ⇒   3サーバ以上の構成の場合のクラスタ参加サーバが過半数に満たない場合の動作ポリシー
# stonith-enabled     ⇒   監視対象ノードの異常を検出したときに強制的にそのノードをダウンさせる機能
# resource-stickiness     ⇒   リソース移動を固定する優先度
# migration-threshold     ⇒   故障を検知した際に同一サーバでリソースの再起動を試みる回数
[5] ちなみに一度設定したものを全てクリアして初期状態に戻したい場合は以下のようにします。
[root@www01 ~]#
/etc/rc.d/init.d/corosync stop
   
# 一旦停止

[root@www01 ~]#
rm -f /var/lib/heartbeat/crm/*
   
# ファイル削除

[root@www01 ~]#
/etc/rc.d/init.d/corosync start
   
# 再び起動

関連コンテンツ