follow me

Corosync(Slackware 13.1)

Linux-HA勉強会に影響されて、Slackwareでいれてみました。
はじめは Heartbeat を試すつもりだったのですが、SlackBuilds.orgでCorosyncのパッケージビルドのスクリプトが公開されていたので、Corosyncにしてみました。
Corosyncは日本語での情報がまだ少ないので、面倒なのかと思いきや動かすまでは簡単でした。
動きだせば、crmコマンドでたいていの事は設定できるため、Heartbestを利用する場合との差はすくないかと。
細かい設定をしだすと違いが出てくると思いますが、単なるActive-Standby構成であれば違いは少ないのでは。
では導入でやった事を記載しておきます。

①パッケージは、SlackBuilds.orgで公開されているビルドスクリプトを利用してパッケージ作成して導入しています。
パッケージビルドの際に、以下ユーザ作成が必要となっており、パッケージ内のdoinstに登録される構造になっていなかったので導入前に、ユーザは作成しないといけないみたいです。
後から、doinst.shに登録すればヨカッタと気がついた訳ですが。
# groupadd -g 226 haclient
# useradd -u 226 -g haclient -c "Cluster User" -d /var/lib/heartbeat/cores/hacluster -s /bin/false hacluster

corosync-1.2.1-i486-1_SBo.tgz
clusterresourceagents-000dd8956ad7-i486-1_SBo.tgz
clusterglue-6c8645d6a4c2-i486-1_SBo.tgz
pacemaker-b9b672590e79-i486-1_SBo.tgz
libnet-1.1.4-i486-1_SBo.tgz
libesmtp-1.0.4-i486-1_SBo.tgz

②corosync-keygenでキーを作成するらしい。
キー作成には時間がかなり掛かります。コマンドがおかしいとか思わないように。
自分は動いていないのかと思って、何度も途中で止めてしまいました。
まだ本当に必要なのか良くわかってませんが。。。

③設定は、/etc/corosync.confを作成。(サンプルが設置されているので、IPを書き換えたぐらい)
bindnetaddrをネットワークアドレスにすればいいみたいです。自身のIPアドレスを書くとうまく動いてくれませんでした。
ログはlogfileかsyslogのどちらかにしてしまった方が良いかもしれません。
# Please read the corosync.conf.5 manual page
compatibility: whitetank

totem {
    version: 2
    secauth: off
    threads: 0
    interface {
        ringnumber: 0
        bindnetaddr: 192.168.1.1
        mcastaddr: 226.94.1.1
        mcastport: 5405
    }
}

logging {
    fileline: off
    to_stderr: yes
    to_logfile: yes
    to_syslog: yes
    logfile: /tmp/corosync.log
    debug: off
    timestamp: on
    logger_subsys {
        subsys: AMF
        debug: off
    }
}

amf {
    mode: disabled
}
④次に、pacemakerを利用する様に設定を入れます。
/etc/corosync/service.d/pcmkを作成し、以下設定を入れます。
ドキュメント見る限り、これでいいみたいだけど。。。
service {
  # Load the Pacemaker Cluster Resource Manager
  name: pacemaker
  ver:  0
}
⑤あとは起動してみて、crm_monで確認してみればノードが見えてくると思います。
確認の為にDummyリソースを追加してみました。
追加設定方法は、こんなカンジで。
# crm
crm(live)# configure
crm(live)configure# primitive dummy-resource ocf:pacemaker:Dummy \
> op start interval="0s" timeout="90s"
> op monitor interval="3s" timeout="20s" \
> op stop interval="0s" timeout="100s"
crm(live)configure# property $id="cib-bootstrap-options" \
> stonith-enabled="false" \
> no-quorum-policy="ignore"
crm(live)configure# commit
crm_monで追加されたか確認してみます。
============
Last updated: Tue Dec 28 10:49:35 2010
Stack: openais
Current DC: slack - partition with quorum
Version: 1.1.1-b9b672590e79770afb63b9b455400d92fb6b5d9e
2 Nodes configured, 2 expected votes
1 Resources configured.
============

Online: [ zenwalk slack ]

dummy-resource  (ocf::pacemaker:Dummy): Started zenwalk
Corosync(Slackware 13.1) | 0 件のコメント | アカウント登録
サイト管理者はコメントに関する責任を負いません。