OK, having spent few days on this, I tried few things that did not work out
the way I hoped, so I`m going to give it another try here.

I`m running heartbeat on 3 physical servers with one resource which is a xen
VM; whichever node acquires the resource starts the VM. The VM itself also
runs heartbeat, which joins the cluster (making it a 4 node cluster) and the
four nodes share a second resource (IP address).

The idea behind this is to have heartbeat switch over the VM between the the
three physical servers, but also bring up the VM`s IP address on the
physical server when faiover is done, so that I can provide a UI for the
failover process.

The problem with all this is that once all 4 nodes are online, I need t
least 3 for a quorum, so if the server which runs the VM dies I`m left with
only two nodes which dot have quorum (and running quorumd on another node is
not an option).

My first shot was to try to configure quorum membership per resource - my
first resource can only run on the 3 physical servers, so it would be nice
if I could run it as long as I have 2 of them alive, but I got a clear no on
this.

My next guess was to remove the VM from the cluster (I`m using autojoin)
whenever I loose quorum, so that when the server which runs teh VM dies, the
other two servers would remove the VM from the cluster configuration which
would grant them the quorum to start the VM. I`m doing the following:

hb_delnode vm_host
cibadmin --delete --obj_type nodes --crm_xml '<node uname="vm_host"/>'
cibadmin --delete --obj_type status --crm_xml '<node_status
uname="vm_host"/>'

but hb_delnode fails because not all of the remaining nodes are online. The
result ofter these commands is that crm_mon shows only 3 nodes, but the
vm_host is still present in the status section and the two nodes dont have
quorum.

So, anyone knows a good solution here? I`m basically triyng to take quorum
decisions based only of three of the nodes of a four node cluster.

Thanks.

On Tue, Feb 17, 2009 at 9:29 AM, Andrew Beekhof <[email protected]> wrote:

> On Tue, Feb 17, 2009 at 02:14, Pavel Georgiev <[email protected]> wrote:
> > I have a setup with 4 nodes, 3 of them may run a resource in
> active/passive
> > mode and that resource should never run on the 4th node. I also have a
> > second resource which may run on either one of the nodes (again
> > active/passive).
> >
> > Since I can run the first resource on only 3 of the nodes, can I make it
> to
> > consider 2 servers enough for a quorum (for this resource only)?
>
> In a word, no
>
> >
> > Here is a snip of my config where I declare that I wont be running the
> > resource on node4:
> >
> >         <rsc_location id="run_vm_vm_resource"
> rsc="controller_vm_resource">
> >            <rule id="pref_run_vm_service_resource" score="-INFINITY">
> >               <expression id="rule_controller_vm" attribute="#uname"
> > operation="eq" value="controller"/>
> >            </rule>
> >         </rsc_location>
> >
> >
> > Anyone know if such setup is possible and do I need to change the
> > configuration or this is the default when one of the nodes has score
> > "-INFINITY"?
> > _______________________________________________
> > Linux-HA mailing list
> > [email protected]
> > http://lists.linux-ha.org/mailman/listinfo/linux-ha
> > See also: http://linux-ha.org/ReportingProblems
> >
> _______________________________________________
> Linux-HA mailing list
> [email protected]
> http://lists.linux-ha.org/mailman/listinfo/linux-ha
> See also: http://linux-ha.org/ReportingProblems
>
_______________________________________________
Linux-HA mailing list
[email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha
See also: http://linux-ha.org/ReportingProblems

Reply via email to