Am 08.02.2011 18:20, schrieb Florian Haas: > On 02/08/2011 06:03 PM, Klaus Darilion wrote:
>> Now I put server2 online again: # crm node online server2. >> That means, server2 is online and has ping connectivity, server1 is >> online and doesn't have ping connectivity. But the virtual-IP stayed >> with server1: >> >> Online: [ server1 server2 ] >> >> failover-ip (ocf::heartbeat:IPaddr): Started server1 >> Clone Set: clonePing >> Started: [ server2 server1 ] >> >> What do I have to change in the config to have here a failover to server2? > > IIUC your pingd attribute is still defined, albeit with a value of 0. > Thus the location constraint is still fulfilled and the pingd score is 0 > on both nodes. Equal score means Pacemaker gets to decide where the > resource runs, and currently there is no reason to migrate. > > Try this: > > location aktiverLB failover-ip \ > rule $id="aktiverLB-rule" -inf: pingd lte 0 > > or: > > location aktiverLB failover-ip \ > rule $id="aktiverLB-rule" inf: pingd gt 0 > Hi Florian! I changed the config now as suggested by http://www.clusterlabs.org/wiki/Example_configurations#pingd_location_constraint: node server1 \ attributes standby="off" node server2 \ attributes standby="off" primitive failover-ip ocf:heartbeat:IPaddr \ params ip="83.136.32.161" \ op monitor interval="3s" primitive pingtest ocf:pacemaker:pingd \ params host_list="88.198.53.113" multiplier="10" dampen="5s" \ op monitor interval="10s" clone clonePing pingtest location aktiverLB failover-ip \ rule $id="aktiverLB-rule" -inf: not_defined pingd or pingd lte 0 property $id="cib-bootstrap-options" \ dc-version="1.0.9-74392a28b7f31d7ddc86689598bd23114f58978b" \ cluster-infrastructure="openais" \ expected-quorum-votes="2" \ stonith-enabled="false" \ no-quorum-policy="ignore" But the behavior is IMO still confusing: server1 is started: Online: [ server1 ] OFFLINE: [ server2 ] Clone Set: clonePing Started: [ server1 ] Stopped: [ pingtest:1 ] Migration summary: * Node server1: Why are there no scores? I guess this prevents the virtualIP resource to be started on server1. Now I block PING. After 5 seconds the score is 10 (although ping is blocked) and the resource gets started: Online: [ server1 ] OFFLINE: [ server2 ] failover-ip (ocf::heartbeat:IPaddr): Started server1 Clone Set: clonePing Started: [ server1 ] Stopped: [ pingtest:1 ] Migration summary: * Node server1: pingd=10 After 5 more seconds the score becomes 0 and the resource will be removed: Online: [ server1 ] OFFLINE: [ server2 ] Clone Set: clonePing Started: [ server1 ] Stopped: [ pingtest:1 ] Migration summary: * Node server1: pingd=0 Now I allow PING. Even after 10 seconds the score is still 0 although PINGs are working fine again: Online: [ server1 ] OFFLINE: [ server2 ] Clone Set: clonePing Started: [ server1 ] Stopped: [ pingtest:1 ] Migration summary: * Node server1: pingd=0 I think the problem is, that the pingd score is not calculated on startup and is not updated when the connectivity problem recovers. Any ideas what could be wrong? Thanks Klaus _______________________________________________ Pacemaker mailing list: Pacemaker@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=Pacemaker