HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials

HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials (http://www.howtoforge.com/forums/index.php)
-   Server Operation (http://www.howtoforge.com/forums/forumdisplay.php?f=5)
-   -   heartbeat problem on redhat (http://www.howtoforge.com/forums/showthread.php?t=38907)

NorwayFun 7th September 2009 16:30

heartbeat problem on redhat
 
hi.

I have built mysql cluster with one management server, and its working fine
but now I will need to do load balancing between them and decided to use heartbeat.

downloaded rpm's, installed them and configured as it's in

http://www.howtoforge.org/setting-up...-with-mysql5.1


my setup looks like this:

management/loadbalancer IP 192.168.12.1
sql0(node0) 192.168.12.2
sql1(node1) 192.168.12.3

authkeys file

auth 3
3 md5 somerandomstring

ha.cf file


debugfile /var/log/ha-debug
logfile /var/log/ha-log

logfacility local0
bcast eth1
mcast eth1 225.0.0.1 694 1 0
auto_failback off
node sqlmgmt.myvideo.ge
respawn hacluster /usr/lib/heartbeat/ipfail
apiauth ipfail gid=haclient uid=hacluster



ldirectord.cf file


# Global Directives
checktimeout=10
checkinterval=2
autoreload=no
logfile="local0"
quiescent=yes

virtual = 192.168.12.10:3306
service = mysql
real = 192.168.12.3:3306 gate
real = 192.168.12.2:3306 gate
checktype = negotiate
login = "ldirector"
passwd = "ldirectorpassword"
database = "ldirectordb"
request = "SELECT * FROM connectioncheck"
scheduler = wrr

haresources file



sqlmgmt.myvideo.ge \
ldirectord::ldirectord.cf \
LVSSyncDaemonSwap::master \
IPaddr2::192.168.12.10/24/eth1/192.168.12.255



and it's not working... set up virtual addresses and kernel parameters on nodes are correct too...


but heartbeat is not working

here is complete debug output

Sep 07 10:31:02 sqlmgmt.myvideo.ge heartbeat: [1796]: info: Version 2 support: false
Sep 07 10:31:02 sqlmgmt.myvideo.ge heartbeat: [1796]: WARN: Logging daemon is disabled --enabling logging daemon is recommended
Sep 07 10:31:02 sqlmgmt.myvideo.ge heartbeat: [1796]: info: **************************
Sep 07 10:31:02 sqlmgmt.myvideo.ge heartbeat: [1796]: info: Configuration validated. Starting heartbeat 2.99.4
Sep 07 10:31:02 sqlmgmt.myvideo.ge heartbeat: [1797]: info: heartbeat: version 2.99.4
Sep 07 10:31:02 sqlmgmt.myvideo.ge heartbeat: [1797]: info: Heartbeat generation: 1252138489
Sep 07 10:31:02 sqlmgmt.myvideo.ge heartbeat: [1797]: info: glib: UDP Broadcast heartbeat started on port 694 (694) interface eth1
Sep 07 10:31:02 sqlmgmt.myvideo.ge heartbeat: [1800]: info: Stack hogger failed 0xffffffff
Sep 07 10:31:02 sqlmgmt.myvideo.ge heartbeat: [1801]: info: Stack hogger failed 0xffffffff
Sep 07 10:31:02 sqlmgmt.myvideo.ge heartbeat: [1797]: info: glib: UDP Broadcast heartbeat closed on port 694 interface eth1 - Status: 1
Sep 07 10:31:02 sqlmgmt.myvideo.ge heartbeat: [1797]: info: glib: UDP multicast heartbeat started for group 225.0.0.1 port 694 interface eth1 (ttl=1 loop=0)
Sep 07 10:31:02 sqlmgmt.myvideo.ge heartbeat: [1803]: info: Stack hogger failed 0xffffffff
Sep 07 10:31:02 sqlmgmt.myvideo.ge heartbeat: [1797]: info: G_main_add_TriggerHandler: Added signal manual handler
Sep 07 10:31:02 sqlmgmt.myvideo.ge heartbeat: [1797]: info: G_main_add_TriggerHandler: Added signal manual handler
Sep 07 10:31:02 sqlmgmt.myvideo.ge heartbeat: [1797]: info: G_main_add_SignalHandler: Added signal handler for signal 17
Sep 07 10:31:02 sqlmgmt.myvideo.ge heartbeat: [1797]: info: Stack hogger failed 0xffffffff
Sep 07 10:31:02 sqlmgmt.myvideo.ge heartbeat: [1797]: info: Comm_now_up(): updating status to active
Sep 07 10:31:02 sqlmgmt.myvideo.ge heartbeat: [1797]: info: Local status now set to: 'active'
Sep 07 10:31:02 sqlmgmt.myvideo.ge heartbeat: [1797]: info: Starting child client "/usr/lib/heartbeat/ipfail" (497,487)
Sep 07 10:31:02 sqlmgmt.myvideo.ge heartbeat: [1797]: info: Local status now set to: 'up'
Sep 07 10:31:02 sqlmgmt.myvideo.ge heartbeat: [1805]: info: Starting "/usr/lib/heartbeat/ipfail" as uid 497 gid 487 (pid 1805)
Sep 07 10:31:02 sqlmgmt.myvideo.ge ipfail: [1805]: debug: PID=1805
Sep 07 10:31:02 sqlmgmt.myvideo.ge ipfail: [1805]: debug: Signing in with heartbeat
Sep 07 10:31:02 sqlmgmt.myvideo.ge ipfail: [1805]: debug: [We are sqlmgmt.myvideo.ge]
Sep 07 10:31:03 sqlmgmt.myvideo.ge heartbeat: [1802]: info: Stack hogger failed 0xffffffff
Sep 07 10:31:03 sqlmgmt.myvideo.ge heartbeat: [1804]: info: Stack hogger failed 0xffffffff
Sep 07 10:31:03 sqlmgmt.myvideo.ge heartbeat: [1797]: info: Link sqlmgmt.myvideo.ge:eth1 up.
Sep 07 10:31:03 sqlmgmt.myvideo.ge ipfail: [1805]: debug: auto_failback -> 0 (off)
Sep 07 10:31:03 sqlmgmt.myvideo.ge ipfail: [1805]: debug: Setting message filter mode
Sep 07 10:31:04 sqlmgmt.myvideo.ge ipfail: [1805]: debug: Starting node walk
Sep 07 10:31:04 sqlmgmt.myvideo.ge ipfail: [1805]: debug: Cluster node: sqlmgmt.myvideo.ge: status: up
Sep 07 10:31:05 sqlmgmt.myvideo.ge ipfail: [1805]: debug: Setting message signal
Sep 07 10:31:05 sqlmgmt.myvideo.ge ipfail: [1805]: debug: Waiting for messages...
Sep 07 10:31:06 sqlmgmt.myvideo.ge ipfail: [1805]: info: Link Status update: Link sqlmgmt.myvideo.ge/eth1 now has status up



I dunno what to do now.. any suggestions?

regards

NorwayFun 8th September 2009 11:57

please help with that, or my boss is gonna kill meh :))

meeso 8th September 2009 22:10

Hi,

I'm not using ldirector for MySQL, however you could just try the following:

virtual = 192.168.12.10:3306
real = 192.168.12.3:3306 gate 1
real = 192.168.12.2:3306 gate 2
checktimeout=10
protocol=tcp
scheduler=rr


Try just that without all the negotiate stuff. If it polls tcp:3306 and nothing answers, it's going to fail out. I'm sure there are advantages to doing a full on negotiated connection but for the time being (just to get it to work) simple TCP should do the trick.

Like I said, never tried it with MySQL but I mean it IS just a service :)

- Chris

NorwayFun 9th September 2009 09:39

I have changed my ldirector conf file to this

checktimeout=10
checkinterval=2
autoreload=no
logfile="local0"
quiescent=yes

virtual = 192.168.12.10:3306
real = 192.168.12.3:3306 gate 1
real = 192.168.12.2:3306 gate 2
scheduler = rr


not its complaining that for mysql i have to specify user/pass/query


Sep 9 03:42:02 sqlmgmt ldirectord[1708]: Error: Must specify a login and request string for MySQL, Oracle and PostgreSQL checks. Not adding 192.168.12.3.

meeso 9th September 2009 18:26

Did you add the protocol=tcp in there? It should just poll using standard TCP methods.

NorwayFun 10th September 2009 07:56

yes I did.

tried all possible variants =))


All times are GMT +2. The time now is 20:03.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.