Create dynamic clusters
Overview
Dynamic clusters work with autonomic managers, including the application placement controller and the dynamic workload manager, expanding and contracting depending on workload. Dynamic clusters are required for WAS autonomic functions, including high availability and service policies.
For a lucid demo, see: Dynamic clustering and SLA demo in WAS ND Deployment 8.5.5.3.
Prerequisites
- Obtain "configurator" administrative privileges
- Verify the application placement controller is enabled.
Operational policies | Autonomic managers | Application placement conroller
The application placement controller is enabled by default. The application placement controller enables the autonomic capabilities of dynamic clusters.
- Decide if you are going to use vertical stacking.
Vertical stacking can improve bottleneck conditions in deployed applications by enabling the placement controller to start more than one instance of the dynamic cluster on a node. With vertical stacking enabled, the autonomic managers limit the processor percentage used by each stacked instance. The general formula is 100%/max-number-of-stacked-instances. For example, if you configure three stacked instances, the workload is throttled to prevent any single instance form using more than 33% of the processor capacity.
- For a dynamic cluster of externally created middleware servers with assisted life-cycle management, create representations of these servers in the product environment before creating a dynamic cluster.
All of these servers must have the same applications installed and have the same version of middleware software installed.
- If there are over 40 servers in a core group, use coregroupsplit.py to split the existing cell into multiple core groups.
Create the dynamic cluster
- From the console...
Servers | Clusters | Dynamic clusters | New
- Select the dynamic cluster server type. The dynamic cluster server type determines the type of servers that are members of this dynamic cluster.
Depending on the type, you enter the name of the dynamic cluster on this panel or when you select the membership method.
- For some dynamic cluster types, we can select the membership method. The membership method defines how servers join the dynamic cluster as cluster instances.
Option Description Automatically define cluster members with rules We can Automatically define cluster members with rules if you are using servers with complete life-cycle management. With this option, we create a membership policy that defines the nodes on which cluster instances can be placed. Manually define cluster members For servers with assisted life-cycle management, we can Manually define cluster members. With this option, you select existing servers to add to the dynamic cluster. The servers selected must be homogenous: that is, they must be of the same server type, middleware server version, and have the same applications installed. Gotcha: To add a new middleware server to an existing dynamic cluster when one or more applications are targeted to the dynamic cluster, install the applications on the middleware server, and target the applications to the server before we add the server as member of the dynamic cluster.
- Define the dynamic cluster members.
- If we selected "Automatically define cluster members with rules" in the previous step, use the subexpression builder to build a membership policy expression for the dynamic cluster. This expression is compared to all the nodes in the cell, selecting any nodes for which the subexpression is true.
- If we selected "Manually define cluster members", the action taken depends on what kind of servers are in the dynamic cluster.
- If the server type is application server, choose an existing static cluster to convert to a dynamic cluster.
- If the server type is an externally created middleware server with assisted life-cycle management, select servers from the list, and add them to the dynamic cluster. Before we add assisted life-cycle servers, be sure that they are the same type, middleware server version, and have the same set of applications installed.
Before adding a new middleware server to an existing dynamic cluster when one or more applications are targeted to the dynamic cluster, install the applications on the middleware server and target the applications to the server.
- Deploy the unmanaged application to the middleware server.
- Define the deployment target for the application.
In the console, click...
Applications | All applications | unmanaged_app_name
Select the target and click Add.
- Click Apply and save the changes.
- Select a dynamic cluster server template.
We can select a dynamic cluster server template only for dynamic clusters that consist of servers with complete life-cycle management. We can choose an existing predefined template, or create our own server templates to use when creating the dynamic cluster. Read about creating server templates.
If the configuration consists of mixed versions of WAS Network Deployment, specifically the deployment manager is at a higher version than the version of the node, we cannot use a predefined server template to create a dynamic cluster. If we are running a Version 6.1 node and a Version 7.0 deployment manager, for example, we can create a static cluster of servers on the node, and then convert the static cluster to a dynamic cluster.gotcha
The defaultXD and defaultXDZOS server templates used when creating a dynamic cluster are deprecated. Use the default or defaultZOS server template instead.depfeat
- Specify dynamic cluster-specific properties.
- Define the minimum number of cluster instances.
The default minimum number of instances is one instance and the maximum default is no limit on instances. If a minimum value is excessive, performance degradation might occur.
- Define the maximum number of cluster instances.
The default value has no limit on the number of cluster instances.
- Determine whether to enable vertical stacking.
When you configure vertical stacking, more than one dynamic cluster instance can start on the same node.
- Specify an isolation preference for the dynamic cluster.
- Confirm the dynamic cluster creation.
Click Finish > Save to save the changes to the master configuration.
- Select the mode of operation.
In the console, click...
Servers | Clusters | Dynamic clusters
Select the dynamic clusters to modify. Choose the operational mode and click Set mode.
To use dynamic application placement, click "Automatic" or "Supervised" as the mode of operation.
(zos) If we have nodes that run on z/OS systems, use dynamic clusters in supervised or automatic mode. To prevent Intelligent Management from automatically starting a cluster member on a logical partition (LPAR) that is hosting a dynamic cluster when the LPAR processor is too busy, then define the cpuUtilizationThreshold custom property. In this scenario, the product starts the cluster member only if transaction demand requires additional cluster members and the processor utilization on the LPAR is less than the cpuUtilizationThreshold value.
Results
When the dynamic clusters start, at least one instance of each dynamic cluster in the environment becomes available as soon as possible. Multiple instances on the same node can start concurrently if we have multiple processors on the same node. For example, if we have two processors on a node, two instances can start concurrently. The application placement controller continues to start instances evenly across the nodes for all the dynamic clusters until the minimum number of instances for each dynamic cluster is reached.
Placement scenarios
- To specify that exactly two servers are started when the dynamic cluster is running, click...
Keep multiple instances started at all times
Set the Number of instances value to 2. Click Limit the number of instances that can start and set the Number of instances value to 2.
- To limit the number of started servers to five, and to stop the servers when no activity occurs, click...
Stop all instances during periods of inactivity
Set the maximum number of instances by clicking...
Limit the number of instances that can start
...and set the Number of instances value to 5.
- To keep at least one instance active at all times, and to support an unlimited number of instances to start, click...
Keep one instance started at all times
...and...
Do not limit the number of instances that can start
What to do next
- To edit the dynamic cluster settings, click...
Servers | Clusters | Dynamic clusters | dynamic_cluster_name
To make changes to all of the members of the dynamic cluster, we can edit the dynamic cluster server template. Click Server template.
- Deploy an application to the dynamic cluster.
- Monitor performance with reports and operations tabs. Click...
Servers | Clusters | Dynamic clusters | dynamic_cluster_name
Click the Reports tab or the Operations tab.
- If we are using supervised mode, the autonomic managers generate recommended actions and runtime tasks upon which we can act. To view all the runtime tasks that the supervised operating mode created, click...
System administration | Task management | Runtime tasks
To avoid monitoring the runtime tasks queue, we can define e-mail notification. We can create an e-mail notification profile by clicking...
System administration | Task management | Notifications
- For automatic mode, we can prevent servers from starting or restarting during the cell shutdown by adding commands to disable the application placement controller and health controller to the script that you use to stop the cell. For example, you might add the following lines to the script:
wsadmin -profile PlacementControllerProcs.jacl -c "disable" wsadmin -profile HmmControllerProcs.jacl -c "disable"
Remember: To change the server ports after the server has been created, you must change the ports on each server instance. We cannot change the ports through the dynamic cluster template. Because multiple servers can be on the same node by configuring vertical stacking, the ports must be unique for each server instance.
Subtopics
- Create a static cluster of ODRs
- Create a dynamic cluster of ODRs
- createDynamicCluster.jacl
- appEditionRename.py
- coregroupsplit.py
- deleteDynamicCluster.jacl
- Dynamic cluster administrative tasks
- Dynamic cluster custom properties
- Static clusters versus dynamic clusters
- Dynamic cluster isolation
- Configure application lazy start
- Configure vertical stacking
- HTTP session rebalancing
Related
- Dynamic clusters
- Dynamic cluster isolation
- Application lazy start
- Components of dynamic operations
- Monitor and tune the application placement controller
- Configure vertical stacking
- Add assisted lifecycle middleware servers
- Deploy applications with defined service levels
- Create and manage reports
- Create PHP servers and PHP dynamic clusters
- Deploy unmanaged Web applications
- Create middleware server templates
- PlacementControllerProcs.jacl
- HmmControllerProcs.jacl
- Administrative roles and privileges
- Application placement custom properties