[Pacemaker] OpenAIS vs. Corosync
Ryan Steele
ryans at aweber.com
Thu May 21 22:39:16 UTC 2009
Well, I'm still not sure what the state of OpenAIS/CoroSync is, but seem to encounter only more problems the farther I
dig in to it. Here are the versions of the software packages I'm using:
corosync 0.92-0ubuntu3
libcorosync-dev 0.92-0ubuntu3
libcorosync2 0.92-0ubuntu3
libopenais-dev 0.91-0ubuntu3
libopenais2 0.91-0ubuntu3
libstonith0 2.99.1-1
openais 0.91-0ubuntu3
pacemaker 1.0.2-1
pacemaker-dev 1.0.2-1
pacemaker-mgmt 1.99.0-3
pacemaker-mgmt-dev 1.99.0-3
stonith 2.99.1-1
That being said, with logging set to 'debug' I still had no idea why I'm seeing this in the logs:
$ [SERV ] Service failed to load 'pacemaker'.
Here's the openais.conf/corosync.conf I'm using:
corosync {
user: root
group: root
}
aisexec {
user: root
group: root
}
service {
name: pacemaker
ver: 0
}
totem {
version: 2
token: 10000
token_retransmits_before_loss_const: 20
join: 60
consensus: 4800
max_messages: 20
secauth: off
threads: 0
rrp_mode: none
vsftype: none
clear_node_high_bit: yes
interface {
ringnumber: 0
bindnetaddr: 192.168.7.0
mcastaddr: 226.94.1.1
mcastport: 5405
}
}
logging {
fileline: on
to_stderr: yes
to_file: yes
to_syslog: yes
logfile: /var/log/openais/openais.log
syslog_facility: daemon
debug: on
timestamp: on
logger_subsys {
subsys: AMF
debug: on
tags: enter|leave|trace1|trace2|trace3|trace4|trace6
}
}
amf {
mode: disabled
}
I know that root is a member of the proper groups:
root at ha1:~# whoami; groups
root
root haclient
And that the ownerships and modes in /var/run/heartbeat are correct/as unrestrictive as possible:
root at ha1:~# ls -alt /var/run/heartbeat/*
/var/run/heartbeat/ccm:
total 0
drwxrwxrwx 4 hacluster haclient 80 2009-05-21 16:12 ..
drwxrwxrwx 2 hacluster haclient 40 2008-11-20 10:06 .
/var/run/heartbeat/crm:
total 0
drwxrwxrwx 4 hacluster haclient 80 2009-05-21 16:12 ..
drwxrwxrwx 2 hacluster haclient 40 2008-11-20 10:06 .
I straced the starting of the daemon via the corosync init script, starting the daemon manually, and querying via
cibadmin. The only one that gave any useful information at all was stracing cibadmin, and it complained that it
couldn't find a few local sockets (/var/run/heartbeat/crm/cib_callback and /var/run/heartbeat/crm/cib_rw). But, that's
literally all I've got to go on. Can anyone shed light on this issue? Is there any way I can get CoroSync to log
useful information about why a service can't be started? The debug logs are far less verbose than I need to be able to
make accurate assessments of the problems I'm seeing ("Service failed to load 'pacemaker'" just doesn't cut it). If any
additional information is needed, please let me know and I'll do my best to provide it.
$ strace -F /etc/init.d/corosync start > initscript.out 2>&1
$ /etc/init.d/corosync stop
$ strace -F /usr/sbin/corosync > binary.out 2>&1
$ strace cibadmin -Q > cibadmin.out 2>&1
$ grep ENOENT *.out | sort -u
binary.out:access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
binary.out:access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
cibadmin.out:access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
cibadmin.out:access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
cibadmin.out:connect(4, {sa_family=AF_FILE, path="/var/run/heartbeat/crm/cib_callback"}, 110) = -1 ENOENT (No such file
or directory)
cibadmin.out:connect(4, {sa_family=AF_FILE, path="/var/run/heartbeat/crm/cib_rw"}, 110) = -1 ENOENT (No such file or
directory)
cibadmin.out:open("/usr/lib/openais/libbz2.so.1.0", O_RDONLY) = -1 ENOENT (No such file or directory)
cibadmin.out:open("/usr/lib/openais/libccmclient.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
cibadmin.out:open("/usr/lib/openais/libcib.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
cibadmin.out:open("/usr/lib/openais/libcrmcommon.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
cibadmin.out:open("/usr/lib/openais/libcrypto.so.0.9.8", O_RDONLY) = -1 ENOENT (No such file or directory)
cibadmin.out:open("/usr/lib/openais/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
cibadmin.out:open("/usr/lib/openais/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
cibadmin.out:open("/usr/lib/openais/libgcrypt.so.11", O_RDONLY) = -1 ENOENT (No such file or directory)
cibadmin.out:open("/usr/lib/openais/libglib-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
cibadmin.out:open("/usr/lib/openais/libgnutls.so.13", O_RDONLY) = -1 ENOENT (No such file or directory)
cibadmin.out:open("/usr/lib/openais/libgpg-error.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
cibadmin.out:open("/usr/lib/openais/libhbclient.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
cibadmin.out:open("/usr/lib/openais/libltdl.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
cibadmin.out:open("/usr/lib/openais/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
cibadmin.out:open("/usr/lib/openais/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
cibadmin.out:open("/usr/lib/openais/libpam.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
cibadmin.out:open("/usr/lib/openais/libpcre.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
cibadmin.out:open("/usr/lib/openais/libpils.so.2", O_RDONLY) = -1 ENOENT No such file or directory)
cibadmin.out:open("/usr/lib/openais/libplumb.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
cibadmin.out:open("/usr/lib/openais/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
cibadmin.out:open("/usr/lib/openais/librt.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
cibadmin.out:open("/usr/lib/openais/libtasn1.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
cibadmin.out:open("/usr/lib/openais/libuuid.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
cibadmin.out:open("/usr/lib/openais/libxml2.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
cibadmin.out:open("/usr/lib/openais/libxslt.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
cibadmin.out:open("/usr/lib/openais/libz.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
cibadmin.out:open("/usr/lib/openais/tls/libcrmcommon.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
cibadmin.out:open("/usr/lib/openais/tls/x86_64/libcrmcommon.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
cibadmin.out:open("/usr/lib/openais/x86_64/libcrmcommon.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
cibadmin.out:stat("/usr/lib/openais/tls", 0x7fff3f31fe80) = -1 ENOENT (No such file or directory)
cibadmin.out:stat("/usr/lib/openais/tls/x86_64", 0x7fff3f31fe80) = -1 ENOENT (No such file or directory)
cibadmin.out:stat("/usr/lib/openais/x86_64", 0x7fff3f31fe80) = -1 ENOENT (No such file or directory)
initscript.out:access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
initscript.out:access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
--
Ryan Steele
Systems Administrator
More information about the Pacemaker
mailing list