Table of Contents

MACH 11 - Overview

Please read the MACH 11 Overview section which contains links to useful information around the technology. Additionally it contains some general information about the MACH 11 Cluster whose setup is described in this Wiki as well as some links to popular virtualization software which allows you to create several virtual hosts on a single physical machine.

SDS - Shared Disk Secondary

An SDS instance has read access to the same disk devices as the primary instance. SDS instances can be configured for offloading complex reports and SQL queries from the primary instance and can also increase high availability by serving as a failover instance. Starting with IDS V11.5, write access is also supported on the SDS instance.

The SDS instance can be located on the same or on a separate machine. In a production environment you will probably place the SDS instance on a separate machine. In this case you need to make sure that the SDS instance has access to the IDS data chunks. If your chunks consist of cooked files (ordinary files in the filesystem) simultaneous access to these files can be accomplished by using a special purpose filesystem like the IBM General Parallel Filesystem.

In the following example we will setup a SDS instance called penguin_sds1 on the same machine as the primary instance. In this configuration we don't need a special filesystem. The already configured penguin instance will serve as our primary instance.

The configuration will be performed as user informix unless otherwise noted.

1. Directory Structure

2. Environment File

We will copy the environment file from our primary penguin instance and change the INFORMIXSERVER environment variable:

The new environment file looks like this:

#!/bin/bash
export INFORMIXDIR=/opt/ibm/ids/ids.dev
export INFORMIXSERVER=penguin_sds1
export ONCONFIG=onconfig.$INFORMIXSERVER
export INFORMIXSQLHOSTS=$INFORMIXDIR/etc/sqlhosts.$INFORMIXSERVER
export LD_LIBRARY_PATH=$LD_IBRARY_PATH:$INFORMIXDIR/lib:$INFORMIXDIR/lib/esql
export PATH=$PATH:$INFORMIXDIR/bin
export PENGUIN_SDS1=/home/informix/instances/$INFORMIXSERVER

After creating the file we should execute it in the current shell in order to set the necessary environment for our IDS instance:

Remember to use the leading dot, so that the environment variables are set in the current shell.

You might check if everything has been set correctly using the env comand:

3. Communication File

We will create a new sqlhosts file that contains an entry for our SDS instance and another entry pointing to our primary instance penguin:

#=================================================
#DBSERVER      PROTOCOL      HOSTNAME     SERVICE
#=================================================
penguin_sds1   onsoctcp      apollo       40100
penguin        onsoctcp      apollo       40000

In addition we need to add the new instance penguin_sds1 to the already existing sqlhosts file of the primary instance penguin:

#=================================================
#DBSERVER      PROTOCOL      HOSTNAME     SERVICE
#=================================================
penguin        onsoctcp      apollo       40000
penguin_drda   drsoctpc      apollo       40001
penguin_shm    onipcshm      apollo       dummy
# new entry pointing to the SDS instance
penguin_sds1   onsoctcp      apollo_sds1  40100

Please do not copy/paste the sqlhosts files above. This might lead to problems due to hidden control characters. Just write it off from the above examples.

4. Configuration File

In the next step we will create a dedicated onconfig file for our penguin_sds1 instance. We use the existing onconfig.penguin as a template for onconfig.penguin_sds1:

Copy Configuration File

Adjust Parameters in Configuration File

Generic Parameters

SDS Specific Parameters

5. Start the SDS Instance

Before starting the SDS instance we need an additional configuration step on the primary instance:

Now we are ready to start the SDS instance:

If everything went ok, you should see the following message in the online.log of the SDS instance:

You might also check the SDS status using onstat -g sds:

Further Information

From here you might move on to: