Tihiroのストレスフリーな生活

少しだけ頭使って後は根性

corosync.confの解説というかメモというかなんというか

環境

corosync 2.4.5

参考URL

blog.drbd.jp

corosync.conf

totem {
        # バージョン(とりあえず2で?)
        version: 2

        # 暗号化方式
        crypto_cipher: none 

        # HMAC認証の方式
        crypto_hash: none

        # 冗長化の設定(noneだと冗長化されない)
        rrp_mode: active

        # 通信方式:デフォルトはudp(マルチキャスト)で、udpuはユニキャスト。
        transport: udpu

        interface {
                # 回線番号
                ringnumber: 0

                # バインドする(=対象となる?)IPアドレスかネットワークアドレスを指定する。
                # というけどIPアドレスを指定した場合の挙動がよく分かんないです。
                bindnetaddr: 172.18.0.0 

                # マルチキャスト用のアドレス
#               mcastaddr: 239.255.1.1

                # マルチキャスト用のポート
#               mcastport: 5405 

                # マルチキャスト用のパケット生存期間
#               ttl: 3

                # 疎通通信のタイムアウト値(ミリ秒)
                token: 3000 
        }
        interface {
                ringnumber: 1
                bindnetaddr: 172.19.0.0
# transport=udpuなので以下のマルチキャスト用の設定はコメントアウトされている
#               mcastaddr: 239.255.1.1 
#               mcastport: 5405
#               ttl: 3
                token: 3000
        }
}

logging {
        # 用途がよく分かりません。
        fileline: off 

        # 標準出力に出力
        to_stderr: no

        # ログファイルに出力
        to_logfile: yes

        # ログファイルの場所
        logfile: /var/log/cluster/corosync.log

        # syslogに出力
        to_syslog: yes

        # syslogのファシリティ(local0とか)
        syslog_facility: daemon

        # syslogのレベル
        syslog_priority: info

        # syslog_priority=debugにするみたい?
        debug: off

        # ログにタイムスタンプをつけるかどうか
        timestamp: on

        logger_subsys {
                # サブシステムの識別名? 何に使うのかはよく分かりません。
                subsys: QUORUM
                debug: off
        }
}

nodelist {
        node {
                # ノード名
                name: main_node

                # ringnumber=0のIPアドレス
                ring0_addr: 172.18.0.2

                # ringnumber=1のIPアドレス
                ring1_addr: 172.19.0.2

                # ノード番号
                nodeid: 1
        }

        # ノードの数だけ指定
        node {
                name: standby_node
                ring0_addr: 172.18.0.3
                ring1_addr: 172.19.0.3
                nodeid: 2
        }
}

quorum {
        # アルゴリズム。いまのところcorosync_votequorum固定みたい?
        provider: corosync_votequorum

        # ノード数と同意な模様(1ノード=1voteが基本みたい?)
        expected_votes: 2

        # 2ノード構成時の専用オプション
        two_node: 1

        # 3ノード以上で構成している場合のオプション。過半数以上を設定する。
        # 全ノード数以上の値を設定すると、ノード通信断によるフェイルオーバーが発生しなくなる(多分、ダメな使い方)。
#       Quorum: 2
}