无法初始化在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).
最佳答案
我在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