Forum Discussion

eshaffer's avatar
15 years ago

VCS 2 Nodes only start SG2 if SG1 is on node0

Hi,

I have a cluster C0 & C1 with 2 nodes.

and

2 Service groups SG1, SG2

I want SG1 to failover between both nodes but SG2 should only run on C0 and only if SG1 is present on C0.

That means if I switch SG1 to C1 SG2 needs to be shutdown first and then proceed to offline SG1 and migrate to C1.

What is the best way to create these dependencies?

I've setup a RemoteGroup in SG1 pointing to SG2, but SG2 keeps trying to go online on C1 even with when Member Systems only shows C0 for the SG2 Group.

Thanks
  • """I want SG1 to failover between both nodes but SG2 should only run on C0 and only if SG1 is present on C0."""

    This is not possbile as far as I understand. If you wish, you can keep SG2 online on the C0 Only and SG1 can failover between two nodes but it is not possible to keep SG2 to be offline on all nodes in the event when SG1 is not on node C0.

    Regards,
    Dev Roy.
  • Hi, eshaffer,

    remote groups are not very usfull in this case.
    But there is a running solution for your problem. This only has two restrictions:
    1. SG1 is not manually switchable, of SG2 is running on the same node as SG1 (means on C0), you have to take SG2 offline before you can switch SG1 to C1
    2. if you manually switched SG1 to C1 and switch back SG1 to C0 you have to start manually SG2 on C0 as well.
    But the automatic failover will take place anyway, and also the automatic startup of SG2 on C0 also takes place when SG1 comes to this node.
    And in addition you can have some influence to the sequence of taking SG2 offline when SG1 is failing over to C1: "online local hard" first takes offline SG2 and switches then SG1 to C1, "online local firm" first switches SG1 and then takes offline SG2.
    Code is below. Take care for the SystemList attribute and the service group dependency. Please let me know if this is what you want, if not we have to look a little bit closer...

    include "types.cf"
    cluster test (
       UserNames = { admin = ElmElgLimHmmKumGlj }
       ClusterAddress = "127.0.0.1"
       Administrators = { admin }
       )
    system C0 (
       )
    system C1 (
       )
    group SG1 (
       SystemList = { C0 = 0, C1 = 1 }
       AutoStartList = { C0, C1 }
       )
       Phantom SG1_phantom (
       )
    group SG2 (
       SystemList = { C0 = 0 }
       AutoStartList = { C0 }
       )
       Phantom SG2_phantom (
       )
    requires group SG1 online local hard