1753420 Members
4749 Online
108793 Solutions
New Discussion

Using Priority and

 
Heiko Deichmöller
Occasional Contributor

Using Priority and

I have a SG Cluster with 4 nodes.

 

CLUSTER        STATUS      

Cluster_TEST   up          

  

  NODE           STATUS       STATE       

  a1a33cus       up           running     

 

    PACKAGE        STATUS           STATE            AUTO_RUN    NODE       

    S1             up               running          enabled     a1a33cus   

    S2             up               running          enabled     a1a33cus   

    S3             up               running          enabled     a1a33cus   

  

  NODE           STATUS       STATE       

  a1a35cus       up           running     

 

    PACKAGE        STATUS           STATE            AUTO_RUN    NODE       

    S4             up               running          enabled     a1a35cus   

    S5             up               running          enabled     a1a35cus   

    S6             up               running          enabled     a1a35cus   

  

  NODE           STATUS       STATE       

  b1b33cus       up           running     

 

    PACKAGE        STATUS           STATE            AUTO_RUN    NODE       

    S7             up               running          enabled     b1b33cus   

    S8             up               running          enabled     b1b33cus   

    S9             up               running          enabled     b1b33cus   

  

  NODE           STATUS       STATE       

  b1b35cus       up           running     

 

All 4 Nodes are identical Systems and I am running VPARS on them. S1-S9 are VPARS. S1,S4,S7 are using one CPU, S2,S5,S8 are using two cpus, the others are using 3 cpus. So I defined a weight – the same for all nodes.

 

  NODE           STATUS       STATE       

  a1a33cus       up           running     

    

    Quorum_Server_Status:

    NAME             STATUS       STATE               ADDRESS         

    1.2.3.4   up           running             1.2.3.4    

    Network_Parameters:

    INTERFACE    STATUS                     PATH                NAME        

    PRIMARY      up                         LinkAgg0            lan900      

    PRIMARY      up                         LinkAgg1            lan901       

    PRIMARY      up                         LinkAgg2            lan902      

    

    Capacity_Parameters:

    CAPACITY_NAME                 CAPACITY_LIMIT CAPACITY_USED  PERCENT_USED

    CPU                           7              6.000          85          

             

 

    PACKAGE        STATUS           STATE            AUTO_RUN    NODE       

    S1             up               running          enabled     a1a33cus   

      

      Policy_Parameters:

      POLICY_NAME     CONFIGURED_VALUE

      Failover        configured_node

      Failback        manual

     

      Script_Parameters:

      ITEM               STATUS   MAX_RESTARTS  RESTARTS NAME

      Service            up       0             0        S1

     

      Node_Switching_Parameters:

      NODE_TYPE    STATUS       SWITCHING    NAME

      Primary      up           enabled      a1a33cus (current)

      Alternate    up           enabled      a1a35cus

      Alternate    up           enabled      b1b33cus

      Alternate    up           enabled      b1b35cus

 

As you can see Package S1 is running on primary node a1a33cus and has three alternate Nodes defined. When I am working without using “Priority” in case S1 fails, it falls over to a1a35cus. When S2 fails – weight 2 for CPU – it falls over to b1b35cus, as a1a35cus and b1b33cus only have capacity 1 left for weight CPU.  So in a scenario where one node fails everything is working fine for me.

 

Now two nodes are hosted in Datacenter A and two nodes in Datacenter B. I am asked to build up a solution to keep the most important VPARS running when one Datacenter goes down. So I have to give each SG Package a priority. But SG seems to behave different when using priorities.  Without priority SG checks the nodes following the above sequence. In case it finds a node with enough capacity it starts the package.

 

When using priority it look like SG checks the next alternate node only. If there is enough capacity it starts the package there, if not it stops a package with lower priority. Eventually this stopped package is started on another node by stopping a package and so on.

This is not what I want to happen. I thought that SG would start the package on the node where enough capacity is available and only if this is not possible it stops a package with lower priority.  I don’t find any documentation about this process. All samples deal with a 2 node szenario.

 

Can anybody help?