cancel
Showing results for 
Search instead for 
Did you mean: 

Create service dependences for not running in the machine.

ediaz
Level 3

Hi to all, I like to ask about a problem for a cluster that I am creating.

We do have 4 servers, running 3 services in each one of those 4 computers (one is for spare). My question is how can i make to run one service not being assigned one service to one computer, but at the same time validate that two services are not allowed to be allocated in one single computer (and be executed at the same time ) at first I think make dependences, but I can’t create circular dependences.

There is any way to restrict that one service can’t be running if there is other services running in the same machine and make the same for the 3 services?

Regards!!!

1 ACCEPTED SOLUTION

Accepted Solutions

mikebounds
Level 6
Partner Accredited

Best to use System limits and service group prerequisites so make up a variable (say NumSGs) to set to 1 so for example run the following for each system:

hasys -modify sys_name Limits NumSGs 1

Then for each service group run:

hagrp -modify sg_name Prerequisites  NumSGs 1

This means the limit of NumSGs on sys_name is 1, so when group sg_name runs on this system the Available limit of NumSGs becomes 0 and then it can't run any more service groups that require NumSGs - see "Service group workload management" in VCS admin guide for more info.

This can be used much more generically so can for example use:

 

hasys -modify small_sys Limits Memory 16 CPU 400
hasys -modify big_sys Limits Memory 32 CPU 800
hagrp -modify sg1 Prerequisites  Memory 2 CPU 25
hagrp -modify sg2 Prerequisites  Memory 8 CPU 250

 

 

So here this is saying small_sys has 16GB memory and 4 CPUs and big_sys has 16GB memory and 8 CPUs and sg1 needs 2GB memory and 1/4 of a CPU and sg2 needs 8GB memory and 2.5 CPU.  So this would mean the small_sys could not run 2 sevivce groups like sg2 as this would require CPU=500 and there is only 400, but big_sys could run 3 groups like sg2.

Mike

View solution in original post

3 REPLIES 3

arangari
Level 5

I think i would need example for giving correct answers.

however here is some input:

1. you can make two service group not sharing a node at the same time, you could use the 'offline local' dependency. for example, SG1->SG2 with 'offline local' dependency. here either SG1 is online on a node or SG2. 

2. If you need SG1 for SG2 to go online, but want them to occupy two different nodes, you could use 'online remote' dependency. 

Please provide more input with example for your need.

 

Regards,

Amit Rangari

 

 

mikebounds
Level 6
Partner Accredited

Best to use System limits and service group prerequisites so make up a variable (say NumSGs) to set to 1 so for example run the following for each system:

hasys -modify sys_name Limits NumSGs 1

Then for each service group run:

hagrp -modify sg_name Prerequisites  NumSGs 1

This means the limit of NumSGs on sys_name is 1, so when group sg_name runs on this system the Available limit of NumSGs becomes 0 and then it can't run any more service groups that require NumSGs - see "Service group workload management" in VCS admin guide for more info.

This can be used much more generically so can for example use:

 

hasys -modify small_sys Limits Memory 16 CPU 400
hasys -modify big_sys Limits Memory 32 CPU 800
hagrp -modify sg1 Prerequisites  Memory 2 CPU 25
hagrp -modify sg2 Prerequisites  Memory 8 CPU 250

 

 

So here this is saying small_sys has 16GB memory and 4 CPUs and big_sys has 16GB memory and 8 CPUs and sg1 needs 2GB memory and 1/4 of a CPU and sg2 needs 8GB memory and 2.5 CPU.  So this would mean the small_sys could not run 2 sevivce groups like sg2 as this would require CPU=500 and there is only 400, but big_sys could run 3 groups like sg2.

Mike

ediaz
Level 3

mikebounds you nailed :)

After of post the question I see this:

https://www-secure.symantec.com/connect/blogs/understanding-veritas-cluster-server-limits-and-prerequisites

 

I think that this are the solution.

 

regards!