Using Serviceguard Node Capacities and Package Weights, April 2009

5
configuration file (in this example, the weight_default would be 10). You could then override this
default weight for the packages that use a different amount of this resource by specifying their
weight_value in their package configuration file. In this example you would specify a
weight_value of 15 for the packages that use a different amount of the resource. For these
packages Serviceguard would use the value in the package configuration file (15) to determine the
package's usage of this resource. For the other packages, you would not specify a value in the
package configuration file, and the value specified by the weight_default parameter in the
cluster configuration file (10) would be used.
The following table illustrates this use of the weight_default parameter. For the node and
packages defined in the preceding Figure 1, we define a weight default value of 10 for capacity
foo2 in the cluster configuration file. Serviceguard will use this as the weight for packages that do not
define a foo2 weight_value. pkg1 and pkg3 do not need to define a weight value for the foo2
capacity because they use the default (10); pkg2 uses 15 of foo2 capacity, so this value does need to
be specified in pkg2 package configuration file.
Table 2: Using default weight
Package configuration file: weight definitionCluster configuration file:
Weight default definition
for foo2 and Capacity
definition for
Node1
Pkg1 Pkg2 Pkg3
weight_name foo2
weight_default 10
node_name node1
capacity_name foo1
capacity_value 70
capacity_name foo2
capacity_value 30
package_name pkg1
weight_name foo1
weight_value 30
package_name pkg2
weight_name foo1
weight_value 10
weight_name foo2
weight_value 15
package_name pkg3
weight_name foo1
weight_value 20
Meaning of Capacities and Weights
The real-world meanings of the names you assign to node capacities and package weights are outside
the scope of Serviceguard. Serviceguard simply ensures that for each capacity configured for a node,
the combined weight of packages currently running on that node do not exceed that capacity.
For example, if you define a capacity_name and weight_name processor, and a
capacity_name and weight_name memory, and a node has a processor capacity of 10 and a
memory capacity of 1000, Serviceguard ensures that combined processor weight of packages
currently running on the node does not exceed 10 and the combined memory weight of packages
does not exceed 1000. But Serviceguard has no knowledge of the real-world meanings of the names
processor and memory; there is no mapping to actual processor and memory usage. You would get
exactly the same results if you used the names apples and oranges, for example.