Forum Discussion

hpoirier8's avatar
hpoirier8
Level 3
6 years ago

Multiple Service groups dependencies configuration.

hi,

I would like to expose my Cluster configuration problem based on Infoscale 7.4 installed on Linux  virtual environments (2 VMs), here to get some advices.
- Our application is splitted into three independant sub-applications : [Billing, Rating, Data ]. These 3 Sub-Applications are distributed on the 2 nodes "Active/Active" cluster as follows : [Data & Billing] on Node 1; Rating on Node2. The 3 sub-Applications are associated to a VIP.
- We will create 3 Service Groups (SG) : Data_SG; Billing_SG; Rating_SG.
- Dependencies between these 3 SG need to be set as follows : "Data_SG" will start first, THEN and ONLY when fully started, "Biling_SG" & "Rating_SG" will be started.
- When we start VCS, the SG are launched in a distributed mode, as mentioned above.
- In a distributed mode, "Billing_SG" leverages it own configuration File to start; "Rating_SG" leverages it own configuration file to start as well.
- In a Standalone Mode ("Billing_SG" and "Rating_SG" running on the same node), these 2 SG leverages a third configuration file which encapsulates the configuration of the 2 SG.
- So, if the "Billing_SG" OR the "Rating_SG" fails, they are supposed to try to restart on their original node to remain in a distributed configuration. But if it is not possible, both SG will be hosted on the same Cluster node, in StandAlone mode. In that case, there is a constraint which needs to be managed: we need to leverage the third configuration file as described just above. So it means that before switching the failed SG on the second node, it implies that we stop the remaining running SG, change the configuration files, and then restart the two SG on the same node.
I tried to illustrated different Used Cases in the Attached tab.
There is an other important constraint which is :
- If the "Data_SG" failed, we need to stop the "Billing_SG" and "Rating_SG" before trying to restart the "Data_SG", and then restart the "Billing_SG" and "Rating_SG" in their original location, where they were running before we stop them.

Based on these constraints, if you have any advice, It would be greetly appreciated
Regards

hubert

 

 

 

  • Within InfoScale (VCS), we have the idea of per/node attributes.  By default, when you edit an attribute within a resrouce, it is for all nodes.  If needed, one can have different values for each node.   In your case, you would have a per/node start script or per/node config file for your application.

    Hope that helps.

    Cheers

    • hpoirier8's avatar
      hpoirier8
      Level 3

      Hi Sir ,

      Thanks for your reply.
      I try to understand how I could implement your remarks in our configuration, i mean the one relating to the start Scripts ("you would have a per/node start script or per/node config file for your application").
      Based on my previous explanations and the different Use Cases depicted in the document I attached to the initial discussion, Node1 is able to run one, two, or all Service Groups. the main problem is linked to the way to differenciate what is running on each node, even if the initial one is the one presented as "Use Case1" in my Attached document.
      I tried to illustrate more precisely the configuration files used in the different use cases ...

      Hope it clarifies a bit .

      Thanks for your comments.
      Rgds
      Hubert

       

       

      • hpoirier8's avatar
        hpoirier8
        Level 3

        Hi ,

        CliffordB : To be more complete, I guess you refer to the following (hereafter an example) regarding attributes :

        group billing_sg (
                SystemList = { node1 = 0, node2 = 1 }
                AutoStart = 0
                Parallel = 1
                PreOnline = 1
                )
                Application billing_app (
                        StartProgram @node1 = "/apps/scripts/cluster/iSer_SRV_Node1_N.sh start"
                        StartProgram @node2 = "/apps/scripts/cluster/iSer_SRV_Node2_N.sh start"
                       ....
                        )

        is it something like that ?

        When this application (Billing) is switching on Node2, the second one (Rating) is stopped first and both are restarted using the same script and same configuration file.

        Hope it is more clear.

        Rgds
        hubert