Configuring weighted-round-robin weights
You can configure weighted round-robin load balancing for a cluster and configure the static weights for each of the cluster units according to their priority in the cluster. When you set
weight-round-robin you can use the
weight option to set the static weight of each cluster unit. The static weight is set according to the priority of each unit in the cluster. A FortiGate HA cluster can contain up to four FortiGates so you can set up to 4 static weights.
The priority of a cluster unit is determined by its device priority, the number of monitored interfaces that are functioning, its age in the cluster and its serial number. Priorities are used to select a primary unit and to set the priorities of all of the subordinate units. Thus the priority of a cluster unit can change depending on configuration settings, link failures and so on. Since weights are also set using this priority, the weights are independent of specific cluster units but do depend on the role of the each unit in the cluster.
You can use the following command to display the relative priorities of the units in a cluster. The cluster unit serial numbers and their priorities are listed in the last few lines of the command output. This example shows a cluster of three FortiGates:
get system ha status
Slave :1 FG-5KD3914800284 Master:0 FG-5KD3914800344 Slave :2 FG-5KD3914800353
The primary unit always has the highest priority and the subordinate units have lower priorities.
The default static weight for each cluster unit is 40. This means that sessions are distributed evenly among all cluster units. You can use the
set weight command to change the static weights of cluster units to distribute sessions to cluster units depending on their priority in the cluster. The weight can be between 0 and 255. Increase the weight to increase the number of connections processed by the cluster unit with that priority.
You set the weight for each unit separately. For the example cluster of 3 FortiGates you can set the weight for each unit as follows:
config system ha
set mode a-a
set schedule weight-roud-robin
set weight 0 5
set weight 1 10
set weight 2 15
If you enter the
get command to view the HA configuration the output for
weight would be:
weight 5 10 15 40 40 40 40 40 40 40 40 40 40 40 40 40
This configuration has the following results if the output of the
get system ha status command is that shown above:
- The first five connections are processed by the primary unit (priority 0, weight 5).
- The next 10 connections are processed by the first subordinate unit (priority 1, weight 10)
- The next 15 connections are processed by the second subordinate unit (priority 2, weight 15)