Install a Linux Compute Host

Add Linux compute hosts to a Windows cluster. A mixed cluster is useful if you have cross-platform applications that can run on either Linux or Windows.

Contents

1. What you need to know

2. Installing EGO on a Linux host

3. Managing the mixed cluster after installation

1. What you need to know

To expand the cluster, you can add Linux compute hosts to the Windows cluster. This kind of mixed cluster is for advanced users.

When you plan a mixed cluster, you must be aware of the following points.

a) Supported hosts

It is required that all Linux hosts run the same versions of kernel and glibc.

For a compute host, we suggest at least a 1-CPU (>2.4GHz) machine with 512MB RAM. Memory and hard drive size depends on the application.

b) Cluster administrator account

To support Linux hosts, the cluster requires a Linux OS user account as cluster administrator (egoadmin). The Linux egoadmin account must exist on every Linux host and have the same name as the Windows egoadmin account. For example, if the actual Windows account name is .\newadmin or DOMAIN\newadmin, the Linux account name is newadmin.

The Linux cluster administrator is the only non-root account that has permission to manage Linux hosts in the cluster. The account owns most EGO files on Linux.

You must create the egoadmin account before you start the installation.

d) Installation directory

The Linux installation directory is the directory where the EGO binaries are installed on a Linux host. It does not need to have the same name as the Windows installation directory.

The installation directory must be the same directory on every host.

The default installation directory is /opt/ego. To use a different directory, you must customize the installation.

The installer creates the installation directory if it does not already exist. If it does exist, make sure it is empty.

e) Other considerations

When you install on the Linux host:

  • use the same base port as Windows hosts (to check the base port, see EGO_LIM_PORT in %EGO_CONFDIR%/ego.conf on the master host)

  • use the same cluster name as Windows hosts (the cluster name is displayed in the Platform Management Console and is part of the file name %EGO_CONFDIR%/ego.cluster.cluster_name)

2. Installing EGO on a Linux host

Install the software on each Linux compute host.

When you install on Linux hosts, joining the cluster and starting the host is a manual process. The installation process is not complete until you configure a host.

Obtain RPM package

Choose the RPM package according to the operating system you are installing on.

EGO compute host packages

Each operating system version has a separate RPM package. Obtain the package to match your host. Compute host packages have computehost in the file name. For example for x86 hosts running Linux 2.4 with glibc version 2.3, install the package named egocomputehost-linux2.4-glibc2.3-x86-1.2.3.nnnnnn.rpm

RPM package for required operating system version

Each operating system version has a separate RPM package. Obtain the package to match your host.

For example, for x86 hosts running Linux 2.4 with glibc version 2.3, install the package named ego-linux2.4-glibc2.3-x86-1.2.3.nnnnnn.rpm.

Find your RPM version

To find out which version of RPM you are using, use the rpm --version option. Different versions of RPM require different options to install the packages.

For example:

rpm --version

RPM version 4.2.3

Deploy the software on the compute host

Check the following:
  • That you are logged on as root.

  • That the Linux cluster administrator account exists with the same name as the Windows account.

    The default cluster administrator is egoadmin.

  • That the installation directory does not exist or is empty.

    The default installation directory is /opt/ego.

  • That the required connection ports are not in use. You must use the same ports as the Windows hosts.

    The default base connection port is 7869. EGO uses five consecutive ports from this base port (7869-7873)

Complete the following steps to deploy the software.

  1. Customize cluster properties (optional).
  2. Run RPM.
  3. Set the command-line environment.
  4. Set up automatic system startup (optional).
  5. Grant root privileges to a cluster administrator

Customize cluster properties (optional)

Customize the cluster properties at installation by setting variables to specify the cluster administrator, the cluster name, and the base connection port.

Setting these variables is optional; if the default settings are acceptable, you can install without configuring any of these variables.

Set custom variables for installation

Set custom variables before installation if you wish to customize the cluster properties.

You can set environment variables according to your login shell. If you do not wish to use environment variables, create a simple text file /tmp/install.config and enter each variable on a new line. An environment variable is ignored if the same variable is set in the cluster properties configuration file.

  • For sh, ksh, or bash: export VARIABLE_NAME=value

  • For csh or tcsh: setenv VARIABLE_NAME value

  • In install.config: VARIABLE_NAME=value

  • To define the cluster name, set the CLUSTERNAME variable.

    Default cluster name: cluster1

    For example:

    setenv CLUSTERNAME cluster1

  • To define the cluster administrator account, set the CLUSTERADMIN variable.

    Default user account: egoadmin

    setenv CLUSTERADMIN user1

    For example:

  • To define the base connection port, set the BASEPORT variable.

    Default base port: 7869

    For example:

    setenv BASEPORT 7890

Run RPM

You can install two ways:

  • Install to the default installation directory.
  • Install to a custom installation directory.
Install to the default installation directory
Run RPM using the default installation options:

rpm -ivh package_name.rpm

package_name.rpm is the name of the RPM package.

For example:

rpm -ivh egocomputehost-linux2.4-glibc2.3-x86-1.2.3-nnnnnn.rpm

Install to a custom installation directory
Run RPM and specify the installation directory:
  • For RPM version 4.2.x or later and all versions of RPM which support the --prefix option:

    rpm -ivh --prefix install_dir package_name.rpm
    • install_dir is the installation directory

    • package_name.rpm is the name of the RPM package

    For example:

    rpm -ivh --prefix /opt/test/ egocomputehost-linux2.4-glibc2.3-x86-1.2.3-nnnnnn.rpm

  • For RPM version 4.1.x or earlier, if --prefix is not supported, set one more environment variable before you run the package:

    setenv RPM_INSTALL_PREFIX install_dir

    rpm -ivh package_name.rpm
    • install_dir is the installation directory

    • package_name.rpm is the name of the RPM package

    For example:test/

    setenv RPM_INSTALL_PREFIX /opt/

    rpm -ivh egocomputehost-linux2.4-glibc2.3-x86-1.2.3-nnnnnn.rpm

The installer will create the installation directory if it does not already exist.

Set the command-line environment

On Linux hosts, set the environment before you run any EGO commands. You need to do this once for each session you open. Both root and egoadmin accounts use EGO commands to configure and start the cluster.

You need to reset the environment if the environment changes during your session, for example, if you run egoconfig mghost, which changes the location of some configuration files.

These examples assume the default installation directory /opt/ego.

  • For csh or tcsh, use cshrc.ego:

    source /share/ego/kernel/conf/cshrc.ego

  • For sh, ksh, or bash, use profile.ego:

    . /share/ego/kernel/conf/profile.ego

Set up automatic system startup (optional)

Enable EGO to start automatically when the host restarts.

Automatic startup
By default, you must start EGO manually if a host restarts.
Note:

For ease of administration, you should use egosetrc.sh to enable automatic startup. This feature starts EGO automatically when the host restarts.

Enabling automatic system startup creates an ego link under: /etc/rc.d/init.d

Set automatic startup on your host
Run the command egosetrc.sh.

Grant root privileges to a cluster administrator

Optional. A root user within a Linux environment can choose to give root privileges within the cluster to the cluster administrator.

Check the following:

  • That you are logged on as root.

  • That /etc/ego.sudoers does not already exist.

  • That the cluster administrator account exists.

    The default cluster administrator is egoadmin.

By default, only root can start, stop, or restart the cluster.

Give root privileges to egoadmin so that egoadmin can start a local host in the cluster, or shut down or restart any hosts in the cluster from the local host. For egoadmin or root to start the cluster, or start any hosts specified by name, you need to be able to run rsh across all hosts in the cluster without having to enter a password; see your operating system documentation for information about configuring rsh.

Do the following to give root privileges to egoadmin for one host. Run the command on each host in the cluster.

Run the egosetsudoers.sh command.

When you run egosetsudoers.sh, it does the following:

It creates the /etc/ego.sudoers file. The file owner is root and the permissions are set to 600 because you ran this command as root. Only the root user can edit this file.

It will setuid the egosh command and change the owner of egosh to root.

Whenever you see instructions to log on as root to start, stop, or restart a host in the cluster, you may log on as egoadmin instead.

Configure and test the compute host

You installed EGO on the host, granted root privileges to egoadmin, and are logged on as egoadmin.

Complete the following steps to make the compute host part of your cluster.

  1. Set the command-line environment.
  2. Join the cluster.
  3. Start the host.
  4. Test that the host was added to the cluster.

Set the command-line environment

On Linux hosts, set the environment before you run any EGO commands. You need to do this once for each session you open. Both root and egoadmin accounts use EGO commands to configure and start the cluster.

You need to reset the environment if the environment changes during your session, for example, if you run egoconfig mghost, which changes the location of some configuration files.

These examples assume the default installation directory /opt/ego.

  • For csh or tcsh, use cshrc.ego:

    source /share/ego/kernel/conf/cshrc.ego

  • For sh, ksh, or bash, use profile.ego:

    . /share/ego/kernel/conf/profile.ego

Join the cluster

Run egoconfig to join the cluster.

Always specify the name of the master host:

egoconfig join master_host_name

For example:

egoconfig join HostM

Start the host

Run egosh to start EGO on your host.

egosh ego start

Test that the host was added to the cluster

You installed EGO on the host. You are logged in as egoadmin.

Run egosh resource list to see the resources in your cluster.

Look for the host you added in the list of the resources.

If you can see the host name in the list of resources, that host was successfully added to the cluster.

This test detects hosts even if the host is not currently available. Some hosts make take a while to become available after they are added to the cluster.

3. Managing the mixed cluster after installation

When you operate a mixed cluster, be aware of the following concepts.

a) Starting hosts

To start a Linux host, use root (remember, if you enabled root permissions for egoadmin, you may use egoadmin instead of root). You cannot start a Linux host from a Windows host.

To start a cluster, log onto Windows as egoadmin and run egosh ego start all. Then log on to the Linux host as root and run egosh ego start all. You need rsh to use "start all" on Linux.

b) Checking hosts

When you check the status of hosts in the cluster, run egosh resource view to see the OS (Host Type) in the output.

c) Workload execution account

For a consumer to execute work on both Linux and Windows hosts, you need one Linux execution user account and one Windows execution user account with the same user name. For example, if the actual Windows account is DOMAIN\test06 or .\test06, the Linux account is test06.

Always input the Windows account name when you configure the execution user in the consumer properties. If the execution host is Linux, the domain name is automatically stripped (for example, DOMAIN\test06 is interpreted as test06 on Linux).