[Pacemaker] Upgraded mysql from 5.0 to 5.1 - And changed to OCF RA
Jake Bogie
jbogie at SureSource.com
Wed Jul 7 15:55:46 UTC 2010
So I took Dan's advice this time and cleaned up my resource
configuration, updated the script, and verified...however I'm still not
getting the resource online...
[root at qad01 heartbeat]# crm resource start mysql-server
[root at qad01 heartbeat]# crm status
============
Last updated: Wed Jul 7 11:49:20 2010
Stack: openais
Current DC: qad01 - partition with quorum
Version: 1.0.9-89bd754939df5150de7cd76835f98fe90851b677
2 Nodes configured, 2 expected votes
3 Resources configured.
============
Online: [ qad02 qad01 ]
Resource Group: mysql
fs_mysql (ocf::heartbeat:Filesystem): Started qad01
ip_mysql (ocf::heartbeat:IPaddr2): Started qad01
Master/Slave Set: ms_drbd_mysql
Masters: [ qad01 ]
Slaves: [ qad02 ]
Failed actions:
mysql-server_start_0 (node=qad01, call=6, rc=6, status=complete):
not configured
[root at qad01 heartbeat]# ./mysql start
mysql[5750]: DEBUG: MySQL is not running
mysql[5750]: DEBUG: MySQL is not running
100707 11:49:55 [Warning] option 'group_concat_max_len': unsigned value
0 adjusted to 4
100707 11:49:55 [Note] Plugin 'FEDERATED' is disabled.
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use GCC atomic builtins
InnoDB: Compressed tables use zlib 1.2.3
100707 11:49:55 InnoDB: highest supported file format is Barracuda.
100707 11:49:55 InnoDB: Warning: allocated tablespace 1, old maximum
was 0
100707 11:49:55 InnoDB Plugin 1.0.9 started; log sequence number
28732335894
100707 11:49:55 [Note] Event Scheduler: Loaded 0 events
100707 11:49:55 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.1.48-community' socket: '/var/lib/mysql/mysql.sock' port:
3306 MySQL Community Server (GPL)
mysql[5750]: INFO: MySQL started
[root at qad01 heartbeat]# ./mysql status
[root at qad01 heartbeat]# ./mysql monitor
[root at qad01 heartbeat]# ./mysql validate-all
[root at qad01 heartbeat]# crm status
============
Last updated: Wed Jul 7 11:50:23 2010
Stack: openais
Current DC: qad01 - partition with quorum
Version: 1.0.9-89bd754939df5150de7cd76835f98fe90851b677
2 Nodes configured, 2 expected votes
3 Resources configured.
============
Online: [ qad02 qad01 ]
Resource Group: mysql
fs_mysql (ocf::heartbeat:Filesystem): Started qad01
ip_mysql (ocf::heartbeat:IPaddr2): Started qad01
Master/Slave Set: ms_drbd_mysql
Masters: [ qad01 ]
Slaves: [ qad02 ]
Failed actions:
mysql-server_start_0 (node=qad01, call=6, rc=6, status=complete):
not configured
[root at qad01 heartbeat]# ./mysql stop
100707 11:50:31 [Note] /usr/sbin/mysqld: Normal shutdown
./mysql: line 426: (/1000)-5: syntax error: operand expected (error
token is "/1000)-5")
100707 11:50:31 [Note] Event Scheduler: Purging the queue. 0 events
100707 11:50:31 InnoDB: Starting shutdown...
[root at qad01 heartbeat]# 100707 11:50:36 InnoDB: Shutdown completed; log
sequence number 28732335904
100707 11:50:36 [Note] /usr/sbin/mysqld: Shutdown complete
[root at qad01 heartbeat]#
[root at qad01 heartbeat]# crm configure show mysql-server
primitive mysql-server ocf:heartbeat:mysql \
op monitor interval="30s" timeout="30s" \
op start interval="0" timeout="120" \
op stop interval="0" timeout="120" \
params binary="/usr/sbin/mysqld" config="/etc/my.cnf"
datadir="/drbd/mysql/data/" user="mysql" group="mysql"
log="/var/log/mysqld.log" pid="/drbd/mysql/data/qadb.pid"
socket="/var/lib/mysql/mysql.sock" test_user="qaclus"
test_passwd="isitup" test_table="cluster_check.connectioncheck" \
meta target-role="Started"
[root at qad01 heartbeat]# cat mysql
#!/bin/sh
#
#
# MySQL
#
# Description: Manages a MySQL database as Linux-HA resource
#
# Author: Alan Robertson : DB2 Script
# Author: Jakub Janczak : Rewrite as MySQL
# Author: Andrew Beekhof : Cleanup and import
# Author: Sebastian Reitenbach : add OpenBSD defaults, more
cleanup
# Author: Narayan Newton : Add Gentoo/Debian defaults
#
# Support: linux-ha at lists.linux-ha.org
# License: GNU General Public License (GPL)
# Copyright: (C) 2002 - 2005 International Business Machines, Inc.
#
# An example usage in /etc/ha.d/haresources:
# node1 10.0.0.170 mysql
#
# See usage() function below for more details...
#
# OCF instance parameters:
# OCF_RESKEY_binary
# OCF_RESKEY_config
# OCF_RESKEY_datadir
# OCF_RESKEY_user
# OCF_RESKEY_group
# OCF_RESKEY_test_table
# OCF_RESKEY_test_user
# OCF_RESKEY_test_passwd
# OCF_RESKEY_enable_creation
# OCF_RESKEY_additional_parameters
# OCF_RESKEY_log
# OCF_RESKEY_pid
# OCF_RESKEY_socket
#######################################################################
# Initialization:
: ${OCF_FUNCTIONS_DIR=${OCF_ROOT}/resource.d/heartbeat}
. ${OCF_FUNCTIONS_DIR}/.ocf-shellfuncs
#######################################################################
# Added exports
export OCF_ROOT=/usr/lib/ocf/
export OCF_RESKEY_binary_default="/usr/sbin/mysqld"
export OCF_RESKEY_config_default="/etc/my.cnf"
export OCF_RESKEY_datadir_default="/drbd/mysql/data"
export OCF_RESKEY_user_default="mysql"
export OCF_RESKEY_group_default="mysql"
export OCF_RESKEY_log_default="/var/log/mysqld.log"
export OCF_RESKEY_pid_default="/drbd/mysql/data/qadb.pid"
export OCF_RESKEY_socket_default="/var/lib/mysql/mysql.sock"
export OCF_RESKEY_test_user_default="qaclus"
export OCF_RESKEY_test_table_default="cluster_check.connectioncheck"
export OCF_RESKEY_test_passwd_default="isitup"
# Fill in some defaults if no values are specified
HOSTOS=`uname`
if [ "X${HOSTOS}" = "XOpenBSD" ];then
OCF_RESKEY_binary_default="/usr/local/bin/mysqld_safe"
OCF_RESKEY_config_default="/etc/my.cnf"
OCF_RESKEY_datadir_default="/var/mysql"
OCF_RESKEY_user_default="_mysql"
OCF_RESKEY_group_default="_mysql"
OCF_RESKEY_log_default="/var/log/mysqld.log"
OCF_RESKEY_pid_default="/var/mysql/mysqld.pid"
OCF_RESKEY_socket_default="/var/run/mysql/mysql.sock"
OCF_RESKEY_test_user_default="root"
OCF_RESKEY_test_table_default="mysql.user"
OCF_RESKEY_test_passwd_default=""
OCF_RESKEY_enable_creation_default=0
OCF_RESKEY_additional_parameters_default=""
else
OCF_RESKEY_binary_default="/usr/sbin/mysqld"
OCF_RESKEY_config_default="/etc/my.cnf"
OCF_RESKEY_datadir_default="/drbd/mysql/data"
OCF_RESKEY_user_default="mysql"
OCF_RESKEY_group_default="mysql"
OCF_RESKEY_log_default="/var/log/mysqld.log"
OCF_RESKEY_pid_default="/drbd/mysql/data/qadb.pid"
OCF_RESKEY_socket_default="/var/lib/mysql/mysql.sock"
OCF_RESKEY_test_user_default="qaclus"
OCF_RESKEY_test_table_default="cluster_check.connectioncheck"
OCF_RESKEY_test_passwd_default="isitup"
OCF_RESKEY_enable_creation_default=0
OCF_RESKEY_additional_parameters_default=""
Fi
[root at qad01 heartbeat]# cat /var/log/messages | grep mysql-server
Jul 7 11:43:38 qad01 pengine: [4359]: ERROR: unpack_rsc_op: Hard error
- mysql-server_start_0 failed with rc=6: Preventing mysql-server from
re-starting anywhere in the cluster
Jul 7 11:43:38 qad01 pengine: [4359]: WARN: unpack_rsc_op: Processing
failed op mysql-server_start_0 on qad01: not configured (6)
Jul 7 11:43:38 qad01 pengine: [4359]: notice: native_print:
mysql-server (ocf::heartbeat:mysql): Stopped
Jul 7 11:43:38 qad01 pengine: [4359]: info: get_failcount: mysql-server
has failed INFINITY times on qad01
Jul 7 11:43:38 qad01 pengine: [4359]: WARN: common_apply_stickiness:
Forcing mysql-server away from qad01 after 1000000 failures
(max=1000000)
Jul 7 11:43:38 qad01 pengine: [4359]: info: native_color: Resource
mysql-server cannot run anywhere
Jul 7 11:43:38 qad01 pengine: [4359]: notice: LogActions: Leave
resource mysql-server (Stopped)
Jul 7 11:47:58 qad01 crmd: [4360]: info: abort_transition_graph:
te_update_diff:267 - Triggered transition abort (complete=1,
tag=lrm_rsc_op, id=mysql-server_monitor_0,
magic=0:7;7:0:7:e87a73c4-97b8-4f63-9e69-89ec59fce708, cib=0.287.3) :
Resource op removal
Jul 7 11:47:58 qad01 pengine: [4359]: ERROR: unpack_rsc_op: Hard error
- mysql-server_start_0 failed with rc=6: Preventing mysql-server from
re-starting anywhere in the cluster
Jul 7 11:47:58 qad01 pengine: [4359]: WARN: unpack_rsc_op: Processing
failed op mysql-server_start_0 on qad01: not configured (6)
Jul 7 11:47:58 qad01 pengine: [4359]: notice: native_print:
mysql-server (ocf::heartbeat:mysql): Stopped
Jul 7 11:47:58 qad01 pengine: [4359]: info: get_failcount: mysql-server
has failed INFINITY times on qad01
Jul 7 11:47:58 qad01 pengine: [4359]: WARN: common_apply_stickiness:
Forcing mysql-server away from qad01 after 1000000 failures
(max=1000000)
Jul 7 11:47:58 qad01 pengine: [4359]: info: native_color: Resource
mysql-server cannot run anywhere
Jul 7 11:47:58 qad01 attrd: [4358]: info: attrd_trigger_update: Sending
flush op to all hosts for: fail-count-mysql-server (INFINITY)
Jul 7 11:47:58 qad01 attrd: [4358]: info: attrd_trigger_update: Sending
flush op to all hosts for: last-failure-mysql-server (1278516515)
Jul 7 11:47:58 qad01 pengine: [4359]: notice: LogActions: Leave
resource mysql-server (Stopped)
Jul 7 11:47:58 qad01 crmd: [4360]: info: te_rsc_command: Initiating
action 7: monitor mysql-server_monitor_0 on qad02
Jul 7 11:47:58 qad01 crmd: [4360]: info: match_graph_event: Action
mysql-server_monitor_0 (7) confirmed on qad02 (rc=0)
Jul 7 11:47:58 qad01 pengine: [4359]: ERROR: unpack_rsc_op: Hard error
- mysql-server_start_0 failed with rc=6: Preventing mysql-server from
re-starting anywhere in the cluster
Jul 7 11:47:58 qad01 pengine: [4359]: WARN: unpack_rsc_op: Processing
failed op mysql-server_start_0 on qad01: not configured (6)
Jul 7 11:47:58 qad01 pengine: [4359]: notice: native_print:
mysql-server (ocf::heartbeat:mysql): Stopped
Jul 7 11:47:58 qad01 pengine: [4359]: info: get_failcount: mysql-server
has failed INFINITY times on qad01
Jul 7 11:47:58 qad01 pengine: [4359]: WARN: common_apply_stickiness:
Forcing mysql-server away from qad01 after 1000000 failures
(max=1000000)
Jul 7 11:47:58 qad01 pengine: [4359]: info: native_color: Resource
mysql-server cannot run anywhere
Jul 7 11:47:58 qad01 pengine: [4359]: notice: LogActions: Leave
resource mysql-server (Stopped)
Jul 7 11:48:01 qad01 pengine: [4359]: ERROR: unpack_rsc_op: Hard error
- mysql-server_start_0 failed with rc=6: Preventing mysql-server from
re-starting anywhere in the cluster
Jul 7 11:48:01 qad01 pengine: [4359]: WARN: unpack_rsc_op: Processing
failed op mysql-server_start_0 on qad01: not configured (6)
Jul 7 11:48:01 qad01 pengine: [4359]: notice: native_print:
mysql-server (ocf::heartbeat:mysql): Stopped
Jul 7 11:48:01 qad01 pengine: [4359]: info: get_failcount: mysql-server
has failed INFINITY times on qad01
Jul 7 11:48:01 qad01 pengine: [4359]: WARN: common_apply_stickiness:
Forcing mysql-server away from qad01 after 1000000 failures
(max=1000000)
Jul 7 11:48:01 qad01 pengine: [4359]: info: native_color: Resource
mysql-server cannot run anywhere
Jul 7 11:48:01 qad01 pengine: [4359]: notice: LogActions: Leave
resource mysql-server (Stopped)
Jul 7 11:48:10 qad01 pengine: [4359]: ERROR: unpack_rsc_op: Hard error
- mysql-server_start_0 failed with rc=6: Preventing mysql-server from
re-starting anywhere in the cluster
Jul 7 11:48:10 qad01 pengine: [4359]: WARN: unpack_rsc_op: Processing
failed op mysql-server_start_0 on qad01: not configured (6)
Jul 7 11:48:10 qad01 pengine: [4359]: notice: native_print:
mysql-server (ocf::heartbeat:mysql): Stopped
Jul 7 11:48:10 qad01 pengine: [4359]: info: get_failcount: mysql-server
has failed INFINITY times on qad01
Jul 7 11:48:10 qad01 pengine: [4359]: WARN: common_apply_stickiness:
Forcing mysql-server away from qad01 after 1000000 failures
(max=1000000)
Jul 7 11:48:10 qad01 pengine: [4359]: info: native_color: Resource
mysql-server cannot run anywhere
Jul 7 11:48:10 qad01 pengine: [4359]: notice: LogActions: Leave
resource mysql-server (Stopped)
Jul 7 11:48:11 qad01 pengine: [4359]: ERROR: unpack_rsc_op: Hard error
- mysql-server_start_0 failed with rc=6: Preventing mysql-server from
re-starting anywhere in the cluster
Jul 7 11:48:11 qad01 pengine: [4359]: WARN: unpack_rsc_op: Processing
failed op mysql-server_start_0 on qad01: not configured (6)
Jul 7 11:48:11 qad01 pengine: [4359]: notice: native_print:
mysql-server (ocf::heartbeat:mysql): Stopped
Jul 7 11:48:11 qad01 pengine: [4359]: info: get_failcount: mysql-server
has failed INFINITY times on qad01
Jul 7 11:48:11 qad01 pengine: [4359]: WARN: common_apply_stickiness:
Forcing mysql-server away from qad01 after 1000000 failures
(max=1000000)
Jul 7 11:48:11 qad01 pengine: [4359]: info: native_color: Resource
mysql-server cannot run anywhere
Jul 7 11:48:11 qad01 pengine: [4359]: notice: LogActions: Leave
resource mysql-server (Stopped)
Jul 7 11:48:26 qad01 pengine: [4359]: ERROR: unpack_rsc_op: Hard error
- mysql-server_start_0 failed with rc=6: Preventing mysql-server from
re-starting anywhere in the cluster
Jul 7 11:48:26 qad01 pengine: [4359]: WARN: unpack_rsc_op: Processing
failed op mysql-server_start_0 on qad01: not configured (6)
Jul 7 11:48:26 qad01 pengine: [4359]: notice: native_print:
mysql-server (ocf::heartbeat:mysql): Stopped
Jul 7 11:48:26 qad01 pengine: [4359]: info: get_failcount: mysql-server
has failed INFINITY times on qad01
Jul 7 11:48:26 qad01 pengine: [4359]: WARN: common_apply_stickiness:
Forcing mysql-server away from qad01 after 1000000 failures
(max=1000000)
Jul 7 11:48:26 qad01 pengine: [4359]: info: native_color: Resource
mysql-server cannot run anywhere
Jul 7 11:48:26 qad01 pengine: [4359]: notice: LogActions: Leave
resource mysql-server (Stopped)
___
Message: 7
Date: Wed, 07 Jul 2010 12:55:51 +0300
From: Dan Frincu <dfrincu at streamwide.ro>
To: The Pacemaker cluster resource manager
<pacemaker at oss.clusterlabs.org>
Subject: Re: [Pacemaker] Upgraded mysql from 5.0 to 5.1
Message-ID: <4C344F27.1060707 at streamwide.ro>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Have you copied twice this line?
socket="/var/lib/mysql/mysql.sock" binary="/usr/sbin/mysqld"
socket="/var/lib/mysql/mysql.sock" binary="/usr/sbin/mysqld"
I think so. Regardless, to test a resource agent manually requires that
you define some variables and then call the script by hand. Also, check
all the actions (start,stop,restart,promote,etc) and their exit codes,
to see if they match the OCF RA specification. Most of the problems that
you will have with a resource agent and it's resource can be found if
you're manually testing the RA script.
Go to /usr/lib/ocf/resource.d/heartbeat/
Open the mysql RA script. Go to line 63 and starting from that line
update the values in the script to match the contents of /etc/my.cnf.
Then update the crm configure for the primitive mysql-server to match as
well.
From what I remember, the values in
OCF_RESKEY_{binary_default,pid_default,socket_default} are wrong in the
RA script vs what's actually installed.
Then "export OCF_ROOT=/usr/lib/ocf/" and all OCF_RESKEY_* with their
defined values, then call the script with no parameters. It should
provide the usage of the script. Then take step by step each action and
check it's exit code, see if it matches the OCF RA specification, and
also check to see if it actually starts the resource or not. The thing
is, once the script works as it should, all the issues have been
resolved, the cluster will work with the mysql-server resource.
Regards,
Dan
Jake Bogie wrote:
> So I took Raoul's advice and ditched the lsb:mysql check and went for
> the ocf:heartbeat version however...
>
> I'm getting this now...
>
> What am I missing? I'm having a hard time finding a document on how to
> setup this resource agent.
>
> ============
> Last updated: Tue Jul 6 12:44:07 2010
> Stack: openais
> Current DC: qad02 - partition with quorum
> Version: 1.0.9-89bd754939df5150de7cd76835f98fe90851b677
> 2 Nodes configured, 2 expected votes
> 3 Resources configured.
> ============
>
> Online: [ qad02 qad01 ]
>
> Resource Group: mysql
> fs_mysql (ocf::heartbeat:Filesystem): Started qad02
> ip_mysql (ocf::heartbeat:IPaddr2): Started qad02
> Master/Slave Set: ms_drbd_mysql
> Masters: [ qad02 ]
> Slaves: [ qad01 ]
>
> Failed actions:
> mysql-server_start_0 (node=qad01, call=6, rc=6, status=complete):
> not configured
> mysql-server_start_0 (node=qad02, call=33, rc=5, status=complete):
> not installed
>
> ###
>
> primitive mysql-server ocf:heartbeat:mysql \
> op monitor interval="30s" timeout="30s" \
> op start interval="0" timeout="120" \
> op stop interval="0" timeout="120" \
> params config="/etc/my.cnf" datadir="/drbd/mysql/data/"
> socket="/var/lib/mysql/mysql.sock" binary="/usr/sbin/mysqld"
> socket="/var/lib/mysql/mysql.sock" binary="/usr/sbin/mysqld"
> pid="/drbd/mysql/data/mysql.pid" test_passwd="isitup"
> test_table="cluster_check.connectioncheck" test_user="qaclus" \
>
> _______________________________________________
> Pacemaker mailing list: Pacemaker at oss.clusterlabs.org
> http://oss.clusterlabs.org/mailman/listinfo/pacemaker
>
> Project Home: http://www.clusterlabs.org
> Getting started:
http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
> Bugs:
http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemake
r
>
--
Dan FRINCU
Systems Engineer
CCNA, RHCE
Streamwide Romania
E-mail: dfrincu at streamwide.ro
Phone: +40 (0) 21 320 41 24
More information about the Pacemaker
mailing list