[ClusterLabs] Start at boot time Corosync 2.X + Pacemaker 1.1 cluster (Debian Wheezy)
d.malcangio at eletech.it
d.malcangio at eletech.it
Fri Jun 5 17:30:15 UTC 2015
Hello everyone,
I am having what seems an easy problem to solve, but I don't know the
correct way to solve it.
I've been googling for a solution for almost a week without luck.
(All I found was this but had no clear and clean solution
http://people.adams.edu/~cdmiller/posts/Pacemaker-Corosync-Ubuntu-Lucid/)
I have created a two node cluster NOT FOR PRODUCTION with the following
configuration on both nodes:
-Debian Wheezy 7.7
-Corosync v2.3.4
-Pacemaker v1.1.12
-Libqb v0.17.1
-Cluster-glue v1.0.12
-Resource-agents v3.9.6
-crmsh v2.1.0
I've installed the cluster software from source following this guide
http://clusterlabs.org/wiki/Compiling_on_Debian (for Jessie)
Before installing I made sure there were no older corosync or pacemaker
dependencies.
After the installation I configured my cluster editing the file (on both
nodes) corosync.conf and creating and copying the authkey
# Please read the corosync.conf.5 manual page
totem {
version: 2
# crypto_cipher: none
# crypto_hash: none
secauth: off
cluster_name: my-cluster
# interface {
# ringnumber: 0
# bindnetaddr: 10.16.2.0
# mcastport: 5405
# ttl: 1
# }
transport: udpu
}
logging {
fileline: off
to_logfile: yes
to_syslog: yes
logfile: /var/log/cluster/corosync.log
debug: off
timestamp: on
logger_subsys {
subsys: QUORUM
debug: off
}
}
nodelist {
node {
ring0_addr: 10.16.2.50
name: pc1
nodeid: 1
}
node {
ring0_addr: 10.16.2.51
name: pc2
nodeid: 2
}
}
quorum {
# Enable and configure quorum subsystem (default: off)
# see also corosync.conf.5 and votequorum.5
provider: corosync_votequorum
two_node: 1
}
I've configured the resources on pacemaker
node 1: pc-1
node 2: pc-2
primitive cluster-apache2 apache \
params configfile="/etc/apache2/apache2.conf"
httpd="/usr/sbin/apache2" port=80 \
op monitor interval=10s timeout=60s \
op start timeout=40s interval=0 \
op stop timeout=60s interval=0
primitive cluster-ip IPaddr2 \
params ip=10.16.2.240 cidr_netmask=24 \
op monitor interval=10s timeout=20s \
op start timeout=20s interval=0 \
op stop timeout=20s interval=0
primitive cluster-tftp lsb:tftpd-hpa \
op monitor interval=30 \
op start interval=0 timeout=120s \
op stop interval=0 timeout=120s
colocation my-cluster-dependency inf: cluster-ip cluster-apache2
cluster-tftp
property cib-bootstrap-options: \
dc-version=1.1.12-561c4cf \
cluster-infrastructure=corosync \
stonith-enabled=false \
cluster-name=my-cluster
After all the configuratins I've started both corosync and pacemaker with
/etc/init.d/corosync start
/etc/init.d/pacemaker/start
The cluster is up and running, but I can't find a way to start the cluster
at boot time
root at PC:~# crm_mon -1
Last updated: Fri Jun 5 16:33:49 2015
Last change: Thu Jun 4 18:35:38 2015
Stack: corosync
Current DC: pc1 (1) - partition WITHOUT quorum
Version: 1.1.12-561c4cf
2 Nodes configured
2 Resources configured
Online: [ pc1 pc2 ]
I've tried adding the init.d scripts to runlevels, but I get no response
and no effect on corosync
root at PC:~# update-rc.d corosync defaults
update-rc.d: using dependency based boot sequencing
and this error on pacemaker
root at PC:~# update-rc.d pacemaker defaults
update-rc.d: using dependency based boot sequencing
insserv: Service corosync has to be enabled to start service pacemaker
insserv: exiting now!
update-rc.d: error: insserv rejected the script header
I've followed the guide on clusterlabs but I can't find a solution for
Debian and crmsh (on the official guide they use pcs instead of crmsh, but
even with that I could not find the correct procedure to make the cluster
run at boot time)
http://clusterlabs.org/doc/en-US/Pacemaker/1.1-pcs/html-single/Clusters_from_Scratch/index.html
Another info I can add is, I've also tried to use crmsh to start and run
the cluster, trying to find a way to make it run at boot time.
If i run crm cluster start (instead of the init.d scripts) corosync and
pacemaker start and the cluster starts running, but if i run the command to
stop I get this error
crm(live)# cluster stop
ERROR: cluster.stop: Failed to stop pacemaker service:
What is the correct way to make the cluster run at boot time?
What daemon must be started and enabled?
Should pacemaker be started by corosync? I've found this guide but had that
parameter doesn't work in my corosync configuration.
http://blog.clusterlabs.org/blog/2010/introducing-the-pacemaker-master-control-process-for-corosync-based-clusters/
Hope somebody could help me with this issue
Thanks in advance
More information about the Users
mailing list