Hey there, I've created a thread somewhere, but I guess this is the right
place to seek help for this, and here is my issue as stated there:
Ok guys, that was very much appreciated and I thank you again. For now, I
just want to get heartbeat to function as it should and I don't want to
create a whole new thread for it.
As I said before, I have one public IP to access the server, and 2 nodes
with 2 internal IPs, both are connected using Eth0, and what I want exactly
is, if either one of Httpd or MySQL went down, the second node should take
control and the virtual IP shall be assigned to it, until everything is in
Sync again, then the primary or the favorible node should be taking over
again.
Heartbeat is starting just fine, detecting the 2 nodes, then I tried to
shutdown one of them and see what would it say
Code:
cl_status nodestatus node02
dead
And it found it was dead, but the failover isn't happening. I've tried to:
Code:
service httpd stop
On node01, but it didn't switch anything to anything, so what I've been
missing in my config? And here are the config I've tried in my ha.cf:
Code:
# Logging
debug 1
use_logd true
logfacility daemon
# Misc Options
traditional_compression off
compression bz2
coredumps true
# Communications
udpport 21xxx
bcast eth0
ucast eth0 10.25.45.81
ucast eth0 10.25.45.82
autojoin any
# Thresholds (in seconds)
keepalive 1
warntime 6
deadtime 10
initdead 15
crm respawn
node node01
node node02
And I've tried 2 combinations for my cib.xml:
1:
Code:
<cib>
<configuration>
<crm_config/>
<nodes/>
<resources>
###################################
###################################
<group id="group_apache">
<primitive id="ipaddr" class="ocf" type="IPaddr" provider="heartbeat">
<instance_attributes id="ia_ipaddr">
<attributes>
<nvpair id="ia_ipaddr_ip" name="ip" value="91.xxx.xxx.xx"/>
<nvpair id="ia_ipaddr_nic" name="nic" value="eth0"/>
<nvpair id="ia_ipaddr_netmask" name="netmask" value="24"/>
</attributes>
</instance_attributes>
</primitive>
<primitive id="apache" class="ocf" type="apache" provider="heartbeat">
<instance_attributes id="ia_apache">
<attributes>
<nvpair id="ia_apache_configfile" name="configfile"
value="/etc/httpd/conf/httpd.conf"/>
</attributes>
</instance_attributes>
</primitive>
</group>
#####################################
#####################################
<group id="node01">
<primitive class="ocf" id="IP1" provider="heartbeat" type="IPaddr">
<operations>
<op id="IP1_mon" interval="10s" name="monitor" timeout="5s"/>
</operations>
<instance_attributes id="IP1_inst_attr">
<attributes>
<nvpair id="IP1_attr_0" name="ip" value="10.25.45.81"/>
<nvpair id="IP1_attr_1" name="netmask" value="255.255.255.0"/>
<nvpair id="IP1_attr_2" name="nic" value="eth0"/>
</attributes>
</instance_attributes>
</primitive>
<primitive class="lsb" id="httpd1" provider="heartbeat" type="httpd">
<operations>
<op id="jboss1_mon" interval="30s" name="monitor" timeout="20s"/>
</operations>
</primitive>
</group>
<group id="node02">
<primitive class="ocf" id="IP2" provider="heartbeat" type="IPaddr">
<operations>
<op id="IP2_mon" interval="10s" name="monitor" timeout="5s"/>
</operations>
<instance_attributes id="IP2_inst_attr">
<attributes>
<nvpair id="IP2_attr_0" name="ip" value="10.25.45.82"/>
<nvpair id="IP2_attr_1" name="netmask" value="255.255.255.0"/>
<nvpair id="IP2_attr_2" name="nic" value="eth0"/>
</attributes>
</instance_attributes>
</primitive>
<primitive class="lsb" id="httpd2" provider="heartbeat" type="httpd">
<operations>
<op id="jboss2_mon" interval="30s" name="monitor" timeout="20s"/>
</operations>
</primitive>
</group>
</resources>
<constraints>
<rsc_location id="location_server1" rsc="node01">
<rule id="best_location_server1" score="100">
<expression_attribute="node01" id="best_location_server1_expr"
operation="eq"
value="10.25.45.81"/>
</rule>
</rsc_location>
<rsc_location id="location_server2" rsc="node02">
<rule id="best_location_server2" score="100">
<expression_attribute="node02" id="best_location_server2_expr"
operation="eq"
value="10.25.45.82"/>
</rule>
</rsc_location>
<rsc_location id="server1_connected" rsc="node01">
<rule id="server1_connected_rule" score="-INFINITY" boolean_op="or">
<expression id="server1_connected_undefined" attribute="pingd"
operation="not_defined"/>
<expression id="server1_connected_zero" attribute="pingd"
operation="lte"
value="0"/>
</rule>
</rsc_location>
<rsc_location id="server2_connected" rsc="node02">
<rule id="server2_connected_rule" score="-INFINITY" boolean_op="or">
<expression id="server2_connected_undefined" attribute="pingd"
operation="not_defined"/>
<expression id="server2_connected_zero" attribute="pingd"
operation="lte"
value="0"/>
</rule>
</rsc_location>
</constraints>
</configuration>
</cib>
And I've tried without the group_apache resource:
Code:
<cib>
<configuration>
<crm_config/>
<nodes/>
<resources>
<group id="node01">
<primitive class="ocf" id="IP1" provider="heartbeat" type="IPaddr">
<operations>
<op id="IP1_mon" interval="10s" name="monitor" timeout="5s"/>
</operations>
<instance_attributes id="IP1_inst_attr">
<attributes>
<nvpair id="IP1_attr_0" name="ip" value="10.25.45.81"/>
<nvpair id="IP1_attr_1" name="netmask" value="255.255.255.0"/>
<nvpair id="IP1_attr_2" name="nic" value="eth0"/>
</attributes>
</instance_attributes>
</primitive>
<primitive class="lsb" id="httpd1" provider="heartbeat" type="httpd">
<operations>
<op id="jboss1_mon" interval="30s" name="monitor" timeout="20s"/>
</operations>
</primitive>
</group>
<group id="node02">
<primitive class="ocf" id="IP2" provider="heartbeat" type="IPaddr">
<operations>
<op id="IP2_mon" interval="10s" name="monitor" timeout="5s"/>
</operations>
<instance_attributes id="IP2_inst_attr">
<attributes>
<nvpair id="IP2_attr_0" name="ip" value="10.25.45.82"/>
<nvpair id="IP2_attr_1" name="netmask" value="255.255.255.0"/>
<nvpair id="IP2_attr_2" name="nic" value="eth0"/>
</attributes>
</instance_attributes>
</primitive>
<primitive class="lsb" id="httpd2" provider="heartbeat" type="httpd">
<operations>
<op id="jboss2_mon" interval="30s" name="monitor" timeout="20s"/>
</operations>
</primitive>
</group>
</resources>
<constraints>
<rsc_location id="location_server1" rsc="node01">
<rule id="best_location_server1" score="100">
<expression_attribute="node01" id="best_location_server1_expr"
operation="eq"
value="10.25.45.81"/>
</rule>
</rsc_location>
<rsc_location id="location_server2" rsc="node02">
<rule id="best_location_server2" score="100">
<expression_attribute="node02" id="best_location_server2_expr"
operation="eq"
value="10.25.45.82"/>
</rule>
</rsc_location>
<rsc_location id="server1_connected" rsc="node01">
<rule id="server1_connected_rule" score="-INFINITY" boolean_op="or">
<expression id="server1_connected_undefined" attribute="pingd"
operation="not_defined"/>
<expression id="server1_connected_zero" attribute="pingd"
operation="lte"
value="0"/>
</rule>
</rsc_location>
<rsc_location id="server2_connected" rsc="node02">
<rule id="server2_connected_rule" score="-INFINITY" boolean_op="or">
<expression id="server2_connected_undefined" attribute="pingd"
operation="not_defined"/>
<expression id="server2_connected_zero" attribute="pingd"
operation="lte"
value="0"/>
</rule>
</rsc_location>
</constraints>
</configuration>
</cib>
And here is my haresources
Code:
node01 91.xxx.xxx.xx httpd
For the primitive class, I've put 'httpd', should I revert it back to
apache? Although I'm using Httpd, but it may be something in the Syntax of
Hearbeat.
_______________________________________________
Linux-HA mailing list
[email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha
See also: http://linux-ha.org/ReportingProblems