The default values of the Solaris kernel have to be modified when the Resource Database is used. This section lists the kernel parameters that have to be changed. In the case of kernel parameters that have already been set in the file /etc/system, the values recommended here should be added. In the case of kernel parameters that have not been defined in the file /etc/system, the values recommended here must be added to the default values.
Note
The values in the /etc/system file do not take effect until the system is rebooted. If an additional node is added to the cluster, or if more disks are added after your cluster has been up and running, it is necessary to recalculate using the new number of nodes and/or disks after the expansion, change the values in /etc/system, and then reboot each node in the cluster.
Refer to the OS manual for details on meanings and methods of changing kernel parameters.
Note
The values used for product and user applications operated under the cluster system must also be reflected in kernel parameter values.
The table below shows the value of a kernel parameter required to use the resource database.
Kernel parameter | Value required for Resource Database |
---|---|
semsys:seminfo_semmni | 20 |
shmsys:shminfo_shmmni | 30 |
shmsys:shminfo_shmmax | Refer to the section that follows. |
The value of shminfo_shmmax is calculated in the following way:
Remote resources:
DISKS x NODES+1) x 2
DISKS is the number of shared disks. For disk array units, use the number of logical units (LUN). For devices other than disk array units, use the number of physical disks.
NODES is the number of nodes connected to the shared disks.
Local resources:
LOCAL_DISKS: Add up the number of local disks of all nodes in the cluster.
Total resources:
Total resources = (remote resources + local resources) x 2776 + 1048576.
Selecting the value:
If shminfo_shmmax has already been changed for the other products, which means that /etc/system has a shminfo_shmmax entry, set the largest value among the following three values:
Current value of shminfo_shmmax
Value in Step 3
4194394
If shminfo_shmmax has not been altered from the default (meaning, there is no entry for shminfo_shmmax in /etc/system) and the result from Step 3 is greater than 8388608 (default value of Solaris OS), set shminfo_shmmax to the result of Step 3, otherwise shminfo_shmmax is not edited.
In summary, the formula to calculate the total resources is as follows:
TotalResources ={DISKS x (NODES+1) x 2 + LOCAL_DISKS}x 2776 + 1048576
shminfo_shmmax is defined in /etc/system
If the current value is greater than TotalResources and less than 4194394:
You do not need to change shminfo_shmmax.
If the current value is greater than TotalResources and less than 4194394:
You need to change shminfo_shmmax to 4194394.
If neither of the above:
You need to change shminfo_shmmax to TotalResources.
shminfo_shmmax is not defined in /etc/system
If TotalResources is greater than the default value (8388608) of Solaris OS:
You need to change shminfo_shmmax to TotalResources.
If TotalResources is the default value (8388608) of Solaris OS or less:
You do not need to change shminfo_shmmax.
Example
Take the diagram below as an example, the following article describes how to calculate the total resources.
Figure 3.1 Cluster resource diagram
Referring to the diagram above, calculate the total resources as follows:
1.Remote resources:
DISKS=6 NODES=4
Remote Resources = 6 x (4+1) x 2 = 60
2.Local resources:
LOCAL_DISKS = 2 x 4 = 8
3.Total resources:
1048576 + 2776 x (60+8) = 1237344
Since 1237344 is less than 4194394, it is necessary to set 4194394 for shminfo_shmmax. Since 1237344 is less than 4194394, it is necessary to set 4194394 for shminfo_shmmax.