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

  1. Obtain "configurator" administrative privileges

  2. Verify the application placement controller is enabled.

    The application placement controller is enabled by default. The application placement controller enables the autonomic capabilities of dynamic clusters.

  3. 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.

  4. 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.

  5. 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

  1. From the console...

  2. 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.

  3. 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, you 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 you add the server as member of the dynamic cluster.

  4. 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 you 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.

        1. Deploy the unmanaged application to the middleware server.

        2. Define the deployment target for the application.

          In the console, click...

            Applications | All applications | unmanaged_app_name

          Select the target and click Add.

        3. Click Apply and save the changes.

  5. 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

  6. Specify dynamic cluster-specific properties.

    1. 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.

    2. Define the maximum number of cluster instances.

      The default value has no limit on the number of cluster instances.

    3. Determine whether to enable vertical stacking.

      When you configure vertical stacking, more than one dynamic cluster instance can start on the same node.

    4. Specify an isolation preference for the dynamic cluster.

  7. Confirm the dynamic cluster creation.

    Click Finish > Save to save the changes to the master configuration.

  8. Select the mode of operation.

    In the console, click...

    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 you have multiple processors on the same node. For example, if you 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


What to do next

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

  1. Create a static cluster of ODRs
  2. Create a dynamic cluster of ODRs
  3. createDynamicCluster.jacl
  4. appEditionRename.py
  5. coregroupsplit.py
  6. deleteDynamicCluster.jacl
  7. Dynamic cluster administrative tasks
  8. Dynamic cluster custom properties
  9. Static clusters versus dynamic clusters
  10. Dynamic cluster isolation
  11. Configure application lazy start
  12. Configure vertical stacking
  13. HTTP session rebalancing


Related

  1. Dynamic clusters
  2. Dynamic cluster isolation
  3. Application lazy start
  4. Components of dynamic operations
  5. Monitor and tune the application placement controller
  6. Configure vertical stacking
  7. Add assisted lifecycle middleware servers
  8. Deploy applications with defined service levels
  9. Create and manage reports
  10. Create PHP servers and PHP dynamic clusters
  11. Deploy unmanaged Web applications
  12. Create middleware server templates
  13. PlacementControllerProcs.jacl
  14. HmmControllerProcs.jacl
  15. Administrative roles and privileges
  16. Application placement custom properties