Scaling nodes with shared storage for domain/binaries

Background

After provisioning a domain with the maximum sized nodes are you scaling nodes down and up while utilising shared storage for aserver/mserver domain and product binaries directories?

NOTE: Use in conjunction with limiting SSH validation on standby nodes feature to prevent Myst performing SSH validations against scaled down nodes.

Infrastructure Requirements

Overview of the requirements to scale nodes up and down.

Name

Requirement Type

Requirement Example

Node

Physical/Virtual Host

Create the maximum number of nodes.

Node size

Myst

Create the Platform Model with the maximum size of nodes.

Enable feature

Myst

NodeManager

Myst

Deployment Plan Distribution

Myst

oraInventory

Myst

oraInventory

Shared storage

/u01/app/oracle/admin/shared/oraInventory/

Product binary home Both aserver and mserver

Shared storage

/u01/app/oracle/product/

Domain home Both aserver and mserver

Shared storage

/u01/app/oracle/admin/shared/

Blueprint/Model Requirements

Enable the Feature

  1. Go to Platform Blueprint > Global Variables

  2. Create a new global variables:

    validation=off

    validation.ssh=false

    validation.multi-node.install=false

  3. Create the Platform Model with your maximum size of nodes. You can scale down from the maximum and and up to this maximum but no higher.

  4. Run the provision action.

NodeManager

The NodeManager normally runs on each node under the same NodeManager home directory eg. ${[rxr.wls.Domain-1].domainAserverHome}/nodemanager.

We want the NodeManagers' configuration files on shared storage by adding override java arguments. This starts the NodeManagers in their respective homes.

  1. Go to Platform Blueprint > WebLogic Domain Configuration > Machines

  2. Click Show advanced properties

  3. Add the below properties to the respective NodeManagers

AdminServer

Line breaks added for easier viewing. Remove line breaks when entering into Myst.

-DDomainsFile=${[rxr.wls.Domain-1].domainAserverHome}/nodemanager/nodemanager.domains 
-DNodeManagerHome=${[rxr.wls.Domain-1].domainAserverHome}/nodemanager/soa-as 
-DLogFile=${[rxr.wls.Domain-1].domainAserverHome}/nodemanager/soa-as/nodemanager.log

Managed Server

  • Line breaks added for easier viewing. Remove line breaks when entering into Myst.

  • Increment the soa-01 directory for each node

-DDomainsFile=${[rxr.wls.Domain-1].domainMserverHome}/nodemanager/nodemanager.domains 
-DNodeManagerHome=${[rxr.wls.Domain-1].domainMserverHome}/nodemanager/soa-01 
-DLogFile=${[rxr.wls.Domain-1].domainMserverHome}/nodemanager/soa-01/nodemanager.log

Here is an example of a two node environment.

└── shared_storage
    ├── aserver
    │   └── soa-as
    │       ├── nodemanager.log
    │       ├── nodemanager.log.lck
    │       ├── nodemanager.process.id
    │       ├── nodemanager.process.lck
    │       └── nodemanager.properties
    └── mserver
        ├── soa-01
        │   ├── nodemanager.log
        │   ├── nodemanager.log.lck
        │   ├── nodemanager.process.id
        │   ├── nodemanager.process.lck
        │   └── nodemanager.properties
        ├── soa-02
            ├── nodemanager.log
            ├── nodemanager.log.lck
            ├── nodemanager.process.id
            ├── nodemanager.process.lck
            └── nodemanager.properties

Deployment Plan

Update the Myst deployment plan distribution to shared. Myst now distributes JCA adapter plans once instead of distributing to multiple nodes.

  1. Go to Platform Blueprint > WebLogic Domain Configuration

  2. Update Deployment Plan Distribution Mode to: shared

oraInventory Directory

Because the product binaries are installed in shared storage we want the relating oraInventory to also be there.

  1. Go to Platform Blueprint > Global Variables

  2. Update oui.inventory.directory to: ${oracle.base}/admin/shared/oraInventory

Myst Action List

Information about the updated actions which are supported in Myst 6.6.3+.

Name

Standard Feature

Shared Storage Feature

install

Install product binaries on all nodes

Installs product binaries one time on the AdminServer node into the shared storage

patch

OPatch on all nodes

Runs on the AdminServer node. Opatch is applied one time on shared storage product binaries

copy-domain

1. Packs domain aserver 2. Unpacks domain to mserver nodes

1. Packs domain aserver 2. Unpacks the domain to one mserver node defined in Myst

Scaling Nodes Up and Down

Note: See the documentation about limiting SSH validation for standby nodes for an understanding of limitations which may affect you when scaling.

Scale Up

  1. Infrastructure

    1. Create the physical/virtual node using your preferred tool

    2. Update DNS to reflect the FQDN of the created node

    3. Add the node from the load balancer

  2. Start WebLogic Manager Server and NodeManager

    1. systemd will auto start services

Scale Down

  1. Start WebLogic Manager Server and NodeManager

    1. systemd will auto stop services

  2. Infrastructure

    1. Terminate the physical/virtual node using your preferred tool

    2. Update DNS to reflect the FQDN from the terminated node

    3. Remove the node from the load balancer

(Optional) Stop or Start NodeManager and Managed Servers through Myst

Instead of systemd, you could use Myst to start or stop services.

  1. Stop/Start the managed server and nodemanager

  2. Platform Model > Actions > Control

  3. Select the node to Stop/Start

Last updated