无法初始化corosync配置API错误12

时间:2017-05-02 20:16:39

标签: mysql docker replication high-availability corosync

无法初始化在docker容器内运行的corosync。 corosync-cfgtool -s命令产生以下内容:

Could not initialize corosync configuration API error 12

/etc/corosync/corosync.conf文件包含以下内容:

compatibility: whitetank

totem {
    version: 2
    secauth: off
    threads: 0
    interface {
        ringnumber: 0
        bindnetaddr: 127.0.0.1
        mcastaddr: 239.255.1.1
        mcastport: 5405
        ttl: 1
    }
}

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

/var/log/corosync.log文件显示以下内容:

May 02 20:13:22 corosync [MAIN  ] Could not set SCHED_RR at priority 99: Operation not permitted (1)
May 02 20:13:22 corosync [MAIN  ] Could not lock memory of service to avoid page faults: Cannot allocate memory (12)
May 02 20:13:22 corosync [MAIN  ] Corosync Cluster Engine ('1.4.6'): started and ready to provide service.
May 02 20:13:22 corosync [MAIN  ] Corosync built-in features: nss
May 02 20:13:22 corosync [MAIN  ] Successfully read main configuration file '/etc/corosync/corosync.conf'.
May 02 20:13:22 corosync [TOTEM ] Initializing transport (UDP/IP Multicast).
May 02 20:13:22 corosync [TOTEM ] Initializing transmit/receive security: libtomcrypt SOBER128/SHA1HMAC (mode 0).

1 个答案:

答案 0 :(得分:0)

我在bash脚本中运行以下内容:

service corosync start
service corosync status
corosync-cfgtool -s

显然它运行得太快而且没有给corosync足够的时间进行初始化。将脚本更改为以下内容似乎有效:

service corosync start
service corosync status
sleep 5
corosync-cfgtool -s

我现在看到corosync-cfgtool -s的以下输出:

Printing ring status.
Local node ID 16777343
RING ID 0
    id  = 127.0.0.1
    status  = ring 0 active with no faults