Control-M Pre-installation Procedures

Before you install Control-M, you must complete the following procedures:

If you are installing an Agent, note the following:

  • Control-M/Agent can be installed only in the home directory of the account, its subdirectories, or any directory located in the NFS.

  • The home directory can be a symbolic link to another location if the location is on the local disk.

  • The home directory permissions must allow read and execute permissions for all users, and grant full permissions to the account owner (755 as a minimum).

  • If you plan to use non-root mode on this Agent, BMC Software recommends that the Agent owner be the only user in its primary group. This is because in non-root mode, some of the files created by the Agent are accessed using group permissions and are therefore writable by any user in the Agent primary group.

Configuring a User Account on UNIX

This procedure describes how to configure specific parameters for Control-M. The account cannot contain any data, must be solely dedicated to Control-M, and the name must not exceed 8 characters.

The Control-M/EM, Control-M/Server, and Control-M/Agent owner can be a local user, an LDAP user, or an NIS user. The Control-M/EM, Control-M/Server, and Control-M/Agent account home directory can be located on a local disk or NFS.

If you are using /bin/csh as the startup shell for the Control-M user, ensure that tcsh shell is also installed on this machine, since it is used internally by the application.

Begin

  1. Do one of the following:

    • Run the following command to create a user account:

      /usr/sbin/useradd -u <numeric_user_id> -g <user_group> -d <user_home>

    • Create a group, as follows:

      • Linux/Solaris: /usr/sbin/groupadd <user_group>

      • AIX: /usr/bin/mkgroup <user_group>

      The <user_shell> account must be defined as one of the following names or programs:

      • /bin/csh

      • /bin/tcsh

      • (Control-M/Agent and Control-M/EM Only) /bin/sh

      • (Control-M/Agent and Control-M/EM Only) /bin/ksh

      • (Control-M/Agent Only) /bin/bash

    • In a clustered environment, you must create two accounts, one for each host. Both accounts must have identical names and IDs and both home directories must point to the same location on the shared disk.

  2. Configure the predefined limits that are designed to limit or prevent the excessive use of resources by a single process, as described in Control-M Pre-installation Procedures.

  3. Verify that the HOST environment variable is defined on all shells by running the env command.

    If the HOST environment variable not defined, contact your IT system administrator.

  4. Verify that the HOME directory is configured with 755 permissions by running Is Id on the Agent account.

    ls -ld /home/ctmag

    drwxr-xr-x 25 ctmag users 4096 Dec 2 13:47 /home/ctmag

    If the permissions are not set to 755, you can use the chmod command to set it.

    chmod 755 /home/ctmag

Control-M Limits on UNIX Accounts

The following table describes Control-M limits on UNIX accounts. If you install Control-M components in separate accounts, each account must have the minimum limit settings. The computer kernel soft or hard setting must reflect the sum total that is required by each account.

The limit parameters are listed in the context of CSH/TCSH. If you are using a different shell type, refer to your designated shell help documentation for the equivalent limit values for your shell type.

Parameter

Description

datasize

Determines the maximum size of the data segment of a process.

BMC recommends setting this value to unlimited.

stacksize

Determines the maximum size of the stack segment of a process.

BMC recommends 8 MB on all UNIX computers.

coredumpsize

Determines the maximum size that a core dump can reach.

BMC recommends setting this value to datasize to generate a complete core dump if a failure occurs.

descriptors

Determines the maximum number of descriptors in use by a single process.

BMC requires the value of 4,096.

Do not set the parameter value to unlimited.

memoryuse

Determines the maximum amount of memory to be used by a single process.

BMC recommends setting this value to unlimited.

maxproc

Determines the maximum number of user processes.

Default: 4,096

Setting Environment Variables in UNIX

This procedure describes how to set environment variables in UNIX, which enables you to see messages from the console.

If you want to enable IPV6 before the installation, set the CTM_IPV_MODE variable to DUAL. If Control-M/Server or Control-M/Agent are installed on AIX, verify that the fix for APAR IV23320 is installed.

Begin

  • Do one of the following:

    • If you use csh or tcsh, use the following syntax:

      setenv <envVar> <value>

      If you want to make these changes permanent, add this command to the .cshrc file in the $HOME directory.

      setenv DISPLAY myhost:0.0

    • If you use sh or ksh, use the following syntax:

      <envVar>=<value>

      export <envVar>

      If you want to make these changes permanent, add this command to the .profile file in the $HOME directory.

      DISPLAY=myhost:0.0

      export DISPLAY

      <envVar> is the name of the environment variable.

      <value> is the value assigned to the environment variable.

Before you can install Control-M, several UNIX system (kernel) parameters must be changed to allocate resources for Control-M components, as follows:

PostgreSQL UNIX Kernel Parameters

These parameters are only relevant with a dedicated PostgreSQL database.

Linux Kernel System Parameters

The following table describes Linux kernel parameters with one instance of PostgreSQL. If you are using additional instances of PostgreSQL, you must multiply the values by the number of instances.

Parameter

Description

Value

semmsl

Determines the maximum number of semaphores per semaphore set.

  • S: 100

  • M: 150

  • L: 250

semmns

Determines the total number of semaphores.

  • S: 600

  • M: 4,000

  • L: 32,000

semopm

Determines the maximum number of semaphore operations per semop(2) system calls.

100

semmni

Checks the maximum number of semaphore sets for the entire Linux system.

  • S: 300

  • M: 400

  • L: 1,000

kernel.shmall

Determines the total size of shared memory pages.

  • S: 2 GB

  • M: 4 GB

  • L: 8 GB

kernel.shmmax

Determines the size of shared memory.

  • S: 2 GB

  • M: 4 GB

  • L: 8 GB

kernel.shmmni

Determines the total size of shared memory segments.

  • S: 1,024

  • M: 2,048

  • L: 4,096

PostgreSQL Hardware and Software Limits

The following table describes system hardware and software limits on UNIX platforms with PostgreSQL.

Limit

Table Header

Maximum File Descriptors

  • S: 1,024

  • M: 2,048

  • L: 8,192

Maximum File Size

unlimited

Free Swap Size

  • S: 4 GB

  • M: 6 GB

  • L: 10 GB

RAM Size

  • S: 4 GB

  • M: 8 GB

  • L: 12 GB

Control-M Kernel Parameters

The following table lists additional kernel parameter values for Control-M/Server that must be added to the values in Linux, as described in PostgreSQL UNIX Kernel Parameters.

Parameter

Additional Values

semmni

Add 20 + the number of Agents and remote hosts that will be connected to Control-M/Server + the number of Agents with configuration definitions that differ from the default.

semmns

Add 20 + the number of Agents and remote hosts that will be connected to Control-M/Server + the number Agents with configuration definitions that differ from the default.

The following table lists the kernel parameter values for Control-M that must be added to the values in Linux, as described in PostgreSQL UNIX Kernel Parameters. If higher values for these parameters have already been specified for the database server, the higher values must remain.

Parameter

Value

semmnu

(NPROC - 4)

Ulimit

  • fsize: Unlimited

  • nofiles: > 2 KB

Verifying Operating System Levels and Patches

This procedure describes how to verify the operating system level and patches with Control-M requirements.

The check_req utility runs on UNIX in the background on every installation of Control-M full, Control-M/EM, Control-M/Server, and Control-M/Agent. The Health Check utility collects the logs after it runs.

The checkReqRun.sh file is located in the CheckReq directory.

Begin

  1. Log in as a Control-M full installation, Control-M/EM, or Control-M/Server user.

  2. Type the following command:

    checkReqRun.sh -product=<PRODUCT_NAME> -memory_model=<MEMORY_MODEL> -database=<DATABASE>

    where:

    <PRODUCT_NAME> is CTMS, EM, ONE, AGENT, or ARCHIVE.

    <MEMORY_MODEL> is SMALL, MEDIUM, LARGE, or NONE.

    <DATABASE> is ORACLE or PostgreSQL.

  3. Complete the instructions as necessary.

    If the operating system and patches meet Control-M requirements, you are advised that the product can be installed. Otherwise, a list of missing requirements appears.

    If the script alerts you to a missing patch or library (such as libnsl), check with your system administrator or database administrator to see if the patch or library is included in one of the bundled packages that are installed on your computer or database.