Pages

Sunday, April 30, 2017

Non-Interactive osc-setcoremem

Target Audience: Oracle SuperCluster Customers

By default osc-setcoremem runs in interactive mode prompting and waiting for critical user inputs. In a way it makes sense as the core count and memory options for the remaining logical domains in input screens depend entirely on the cores and memory chosen for the domains that user already provided input for. In other words, available core count and memory capacity for some of the domains dynamically change based on the user selection of resources for some of the other domains on the target system.

If the customer is pretty comfortable with the tool and knows ahead the combination of core/memory inputs for each of the logical domains that the tool would accept without complaining, they can probably run the tool in non-interactive mode for convenience. Non-interactive mode can be used to perform all operations that are supported by interactive mode. Tool's functional behavior is the same irrespective of how the core/memory inputs were provided for each of the logical domains -- interactively or non-interactively.

Non-interactive mode has been introduced in the 2.3 release of osc-setcoremem tool. This mode can be triggered by a combination of -type and -res options. An optional -y flag would skip the prompt for confirmation.

Supported options in non-interactive mode:

-type socket|core -res [min|max|current|x_sockets|x_cores/x_memgb]:[...]:[min|max|current|x_sockets|x_cores/x_memgb] [-y|-n] [-h|-help]

-type specifies the type of granularity to be used for resource allocations -- socket or core.

-res specifies the socket or core/memory resource assignment to all logical domains that are eligible for resource reconfiguration; and each resource assignment is separated by a ':' (colon ). The order of resource assignments matches the order shown in the output from osc-setcoremem -list.

  • In addition to the integer values for socket count, core count and memory capacity in gigabytes, tool accepts symbolic values like min, max and current. min/MIN and max/MAX specify the minimum and maximum possible resource assignment whereas current/CURRENT indicates the tool to retain the current value as is. If it is not possible to retain the current value, a value that is as close as possible to the current value will automatically be used.

-h|-help option provides on-screen help with few example input strings.

Please review the Change CPU/Memory Allocations Non-Interactively section in Oracle SuperCluster M7 Series Administration Guide for additional details.

Example:

Here is an example osc-setcoremem session showing the non-interactive mode in action. Once user provides all required inputs on a single line, the tool shows the interactive screens and auto-fills the inputs as if user entered those inputs. This gives the user a chance to compare what was provided as inputs against what is being used by the tool.

# cd /opt/oracle.supercluster/bin
# ./osc-setcoremem -list

                      osc-setcoremem (non-interactive)
                    v2.4  built on April 23 2017 17:12:01

 Current Configuration: SuperCluster Full-Rack T5-8

 +-----+----------------------------------+---- CURRENT ---+-----------+--- MIN REQD ---+
 |  ID | DOMAIN                           | CORES | MEM GB |   TYPE    | CORES | MEM GB |
 +-----+----------------------------------+-------+--------+-----------+-------+--------+
 |   1 | primary                          |    32 |    512 | Dedicated |     8 |     64 |
 |   2 | ssccn1-dom1                      |    16 |    256 | Dedicated |     4 |     32 |
 |   3 | ssccn1-dom3                      |    16 |    256 | Dedicated |     4 |     32 |
 |   4 | ssccn1-dom4                      |    16 |    256 | Dedicated |     4 |     32 |
 +-----+----------------------------------+-------+--------+-----------+-------+--------+

# ./osc-setcoremem -type core -res min/min:min/min:current/current:max/max -n <-- user types only these options

                      osc-setcoremem (non-interactive)
                    v2.4  built on April 23 2017 17:12:01

 Current Configuration: SuperCluster Full-Rack T5-8

 +----------------------------------+-------+--------+-----------+--- MINIMUM ----+
 | DOMAIN                           | CORES | MEM GB |   TYPE    | CORES | MEM GB |
 +----------------------------------+-------+--------+-----------+-------+--------+
 | primary                          |    32 |    512 | Dedicated |     8 |     64 |
 | ssccn1-dom1                      |    16 |    256 | Dedicated |     4 |     32 |
 | ssccn1-dom2                      |     1 |     16 |   Root    |     1 |     16 |
 | ssccn1-dom3                      |    16 |    256 | Dedicated |     4 |     32 |
 | ssccn1-dom4                      |    16 |    256 | Dedicated |     4 |     32 |
 | ssccn1-dom5                      |     4 |     64 |   Root    |     4 |     64 |
 | *ssccn1-io-db-test-domain-01     |     4 |     64 |    IO     |     1 |     16 |
 | *ssccn1-io-app25                 |     8 |    128 |    IO     |     1 |     16 |
 | *ssccn1-io-hrapp   		    |     2 |     32 |    IO     |     1 |     16 |
 +----------------------------------+-------+--------+-----------+-------+--------+
 | Parked Resources (Approx)        |    29 |    464 |    --     |    -- |   --   |
 | Memory in Use by _sys_ Pool      |    -- |   1.25 |    --     |    -- |   --   |
 +----------------------------------+-------+--------+-----------+-------+--------+

 [ INFO ] following domains will be ignored in this session.

 Root Domains              IO Domains
 ------------              ----------
 ssccn1-dom2               ssccn1-io-db-test-domain-01
 ssccn1-dom5               ssccn1-io-app25
                           ssccn1-io-hrapp

 CPU Granularity Preference:

        1. Socket
        2. Core

 In case of Socket granularity, proportional memory capacity is
  automatically selected for you.

 Choose Socket or Core [S or C] C

 Step 1 of 2: Core Count

 primary      : specify number of cores [min: 8, max: 68. default: 32] : 8
                you chose [8] cores for primary domain

 ssccn1-dom1  : specify number of cores [min: 4, max: 64. default: 16] : 4
                you chose [4] cores for ssccn1-dom1 domain

 ssccn1-dom3  : specify number of cores [min: 4, max: 64. default: 16] : 16
                you chose [16] cores for ssccn1-dom3 domain

 ssccn1-dom4  : specify number of cores [min: 4, max: 52. default: 16] : 52
                you chose [52] cores for ssccn1-dom4 domain


 Configuration In Progress After Core Count Selection:

 +----------------------------------+-------+--------+-----------+--- MINIMUM ----+
 | DOMAIN                           | CORES | MEM GB |   TYPE    | CORES | MEM GB |
 +----------------------------------+-------+--------+-----------+-------+--------+
 | primary                          |     8 |    512 | Dedicated |     8 |     64 |
 | ssccn1-dom1                      |     4 |    256 | Dedicated |     4 |     32 |
 | ssccn1-dom3                      |    16 |    256 | Dedicated |     4 |     64 |
 | ssccn1-dom4                      |    52 |    256 | Dedicated |     4 |    208 |
 | *ssccn1-dom2                     |     1 |     16 |   Root    |     1 |     16 |
 | *ssccn1-dom5                     |     4 |     64 |   Root    |     4 |     64 |
 | *ssccn1-io-db-test-domain-01     |     4 |     64 |    IO     |     1 |     16 |
 | *ssccn1-io-app25                 |     8 |    128 |    IO     |     1 |     16 |
 | *ssccn1-io-hrapp   		    |     2 |     32 |    IO     |     1 |     16 |
 +----------------------------------+-------+--------+-----------+-------+--------+
 | Parked Resources (Approx)        |    29 |    464 |    --     |    -- |   --   |
 | Memory in Use by _sys_ Pool      |    -- |   1.25 |    --     |    -- |   --   |
 +----------------------------------+-------+--------+-----------+-------+--------+


 Step 2 of 2: Memory Capacity
        (must be 16 GB aligned)

 primary      : specify memory capacity in GB [min: 64, max: 416. default: 416] : 64
                you chose [64 GB] memory for primary domain

 ssccn1-dom1  : specify memory capacity in GB [min: 32, max: 208. default: 208] : 32
                you chose [32 GB] memory for ssccn1-dom1 domain

 ssccn1-dom3  : specify memory capacity in GB [min: 64, max: 256. default: 256] : 256
                you chose [256 GB] memory for ssccn1-dom3 domain

 ssccn1-dom4  : specify memory capacity in GB [min: 208, max: 928. default: 256] : 928
                you chose [928 GB] memory for ssccn1-dom4 domain


 Configuration In Progress After Memory Capacity Selection:

 +----------------------------------+-------+--------+-----------+--- MINIMUM ----+
 | DOMAIN                           | CORES | MEM GB |   TYPE    | CORES | MEM GB |
 +----------------------------------+-------+--------+-----------+-------+--------+
 | primary                          |     8 |     64 | Dedicated |     8 |     64 |
 | ssccn1-dom1                      |     4 |     32 | Dedicated |     4 |     32 |
 | ssccn1-dom3                      |    16 |    256 | Dedicated |     4 |     64 |
 | ssccn1-dom4                      |    52 |    928 | Dedicated |     4 |    208 |
 | *ssccn1-dom2                     |     1 |     16 |   Root    |     1 |     16 |
 | *ssccn1-dom5                     |     4 |     64 |   Root    |     4 |     64 |
 | *ssccn1-io-db-test-domain-01     |     4 |     64 |    IO     |     1 |     16 |
 | *ssccn1-io-app25                 |     8 |    128 |    IO     |     1 |     16 |
 | *ssccn1-io-hrapp   		    |     2 |     32 |    IO     |     1 |     16 |
 +----------------------------------+-------+--------+-----------+-------+--------+
 | Parked Resources (Approx)        |    29 |    464 |    --     |    -- |   --   |
 | Memory in Use by _sys_ Pool      |    -- |   1.25 |    --     |    -- |   --   |
 +----------------------------------+-------+--------+-----------+-------+--------+


 Following domains will be restarted:

        ssccn1-dom4
        ssccn1-dom1

 This configuration change requires rebooting the Control Domain.
 Do you want to proceed? Y/N : N

 No changes made to existing CPU / Memory configuration.

Tip:

When running interactively, lookout for INFO tag that shows equivalent non-interactive input string that can be used later on if the system needs to be reconfigured with the same resource configuration from a different random state.

eg.,

 [ INFO ] Equivalent non-interactive input string for the record:
         /opt/oracle.supercluster/bin/osc-setcoremem -type core -res 33/368:4/176:17/96:23/128

Resetting the CPU/Memory Configuration

-reset option returns the system to the original state of socket/core/memory allocations without affecting other changes that were made in each of the domains since the system was set up initially. For example, if a domain was reconfigured to use 40 cores from the original setup of 32 cores, -reset option brings the domain to the originally allocated 32 cores. This option wouldn't impact the applications that were configured inside the domains - it only impacts the core/memory resources that the target domains can use. Also this option does not reset the SP configuration.

SEE ALSO:

No comments:

Post a Comment