CHARON-VAX for Linux CI cluster

Table of Contents

Introduction

This section describes how to configure a CHARON-VAX for Linux CI cluster.

General description

The virtual CIXCD is the functional equivalent of a hardware CIXCD host adapter, with the exception that there is no physical layer to connect to a hardware CI infrastructure. Since the current host hardware is much faster than the physical CI implementation, such a connection - if it were possible - would greatly limit the virtual system throughput.

For data storage, the CIXCD connects to one or more virtual HSJ50 controllers that are loaded as a separate components in the configuration file. To configure VAX CI clusters, the virtual CIXCDs of the multiple CHARON-VAX/66X0 instances are interconnected via TCP/IP links.

It is advisable to start any field test based on the cluster examples provided below

Configuring (large) virtual VAX CI clusters requires many configurable parameters and a replicated identical definition of the shared virtual HSJ50 storage controllers in each virtual VAX instance.

The current CI implementation for CHARON-VAX/66x0 supports up to 8 VAX nodes in a virtual CI cluster and handles a maximum cluster size of 128 nodes. A single virtual CI network supports up to 256 storage elements.

For more details on CI configuration follow this link.

Configuration steps

To create CHARON-VAX CI cluster, both of the two elements must be configured:

  1. "CIXCD" host adapter

  2. "HSJ50" storage controller

CI hardware topology is emulated by establishing TCP/IP channels between the emulated CIXCD host adapters of each CHARON-VAX system. The emulated HSJ50 storage controllers are then connected to every CIXCD host adapter in the virtual CI network.

Cluster operation requires (virtual) disks that are simultaneously accessible by all CHARON-VAX nodes involved. This can be implemented for instance by using a properly configured iSCSI initiator / target structure or a fiber channel storage back-end. Disks on a multiport SCSI switch are not acceptable, as a SCSI switch does not provide true simultaneous access to multiple nodes. 

It is advisable to start any field test with implementing the cluster examples provided below.



Example 1: Dual node CI cluster with 4 shared disks

To setup two emulated VAX 6610 nodes, we need two host machines, preferably running the same version of Linux.  

Assume that these host systems have network host names CASTOR and POLLUX in the host TCP/IP network.

The following are CHARON-VAX configuration files for the emulated VAX 6610 nodes running on CASTOR and POLLUX:

 

CASTOR node

...
load CIXCD PAA ci_node_id=1

set PAA port[2]=11012 host[2]=”pollux:11021”

load HSJ50 DISKS ci_host=PAA ci_node_id=101

set DISKS scs_system_id=3238746238 mscp_allocation_class=1

set DISKS container[0]="/mnt/share/dua0-rz24-vms-v6.2.vdisk"
set DISKS container[1]="/mnt/share/dua1-rz24-vms-v6.2.vdisk"
set DISKS container[2]="/mnt/share/dua2-rz24-vms-v6.2.vdisk"
set DISKS container[3]="/mnt/share/dua3-rz24-vms-v6.2.vdisk"
...


POLLUX node

...
load CIXCD PAA ci_node_id=2

set PAA port[1]=11021 host[1]=”castor:11012”

load HSJ50 DISKS ci_host=PAA ci_node_id=101

set DISKS scs_system_id=3238746238 mscp_allocation_class=1

set DISKS container[0]="/mnt/share/dua0-rz24-vms-v6.2.vdisk"
set DISKS container[1]="/mnt/share/dua1-rz24-vms-v6.2.vdisk"
set DISKS container[2]="/mnt/share/dua2-rz24-vms-v6.2.vdisk"
set DISKS container[3]="/mnt/share/dua3-rz24-vms-v6.2.vdisk"
...


 Let's review both configurations step-by-step.

  1. The first two lines of both configuration files load and establish parameters for the  "PAA" CIXCD host adapter. Only 3 CIXCD parameters are important for us in this situation:  

    ParameterDescription
    ci_node_id

    An integer value that specifies the address of the virtual CIXCD host adapter on the virtual CI network.

    Possible values are from 0 through 127 (Initially set to 127).

    port

    An integer value that specifies the TCP/IP port number at which the emulated CIXCD host adapter listens for connections from another emulated CIXCD host adapter with a certain CI node id. Possible values are from 1024 through 32767.

    host

    A string value that specifies the TCP/IP host name (and optional TCP/IP port number) to connect to another emulated CIXCD host adapter with certain CI node.

    The syntax for the string is “host-name[:port-no]”, with possible values for "port-no" in the range from 1024 through 32767.

    Thus, CASTOR connects to POLLUX's port 11021 and listens for POLLUX's connection on port 11012,  POLLUX connects to CASTOR's port 11012 and listens for CASTOR's connection on port 11021 

  2. The third and fourth lines of both configuration file "DISKS" HSJ50 storage controller and its parameters:

    ParameterDescription
    ci_host

    A string value that specifies an instance name of the emulated CIXCD host adapter serving the virtual CI network.

    If this value is not set, CHARON-VAX tries to locate the host adapter automatically. This automatic lookup works only if the CHARON-VAX configuration has exactly one instance of an emulated CIXCD host adapter.

    ci_node_id

    An integer value that specifies the address of the emulated HSJ50 storage controller on a virtual CI network. Possible values are from 0 through 7 (initially set to 0).

    scs_system_id

    A string value that specifies the SCSNODENAME of the emulated HSJ50 storage controller.

    The string is up to 10 characters long. Possible characters are uppercase letters A through Z , figures 0 through 9.

    mscp_allocation_class

    An integer value that specifies the ALLOCLASS of an emulated HSJ50 storage controller.

    Possible values are from 0 through 255 (initially set to 0).

       

    In both configuration files, the data related to the emulated HSJ50 storage controller "DISKS" must be identical. Not following this rule can cause data corruption on the (virtual) disks.

      

  3. The next lines demonstrate mapping the "DISKS" HSJ50 storage controller to disk images, shared between both hosts. A "container" parameter is used for this purpose. This example assumes that all disk images are accessible from both host machines via network share (NFS, SAMBA) or some other realization.

Example 2: Triple node CI cluster with multiple iSCSI disks

In this example we assume that all three host systems have a iSCSI initiator and are connected to a common iSCSI server. The iSCSI disk server provides 8 virtual disks with R/W access on all hosts. These disks are configured as "/dev/sdc0" ... "/dev/sdc7" on each of the host machines.

Since the storage configuration must be identical on all three nodes, it is recommended to describe the storage structure in a separate configuration file (to be included in each CHARON-VAX configuration file with "include" instruction and name of the configuration file "disksets.cfg") and store it on a common network share ("/mnt/share") (NFS, SAMBA, etc):

load HSJ50 DISKS1 ci_node_id=4

set DISKS1 scs_system_id=3238746238 mscp_allocation_class=1

set DISKS1 container[1]="/dev/sdc0"
set DISKS1 container[2]="/dev/sdc1"
set DISKS1 container[3]="/dev/sdc2"
set DISKS1 container[4]="/dev/sdc3"

load HSJ50 DISKS2 ci_node_id=5

set DISKS2 scs_system_id=1256412654 mscp_allocation_class=2

set DISKS2 container[5]="/dev/sdc4"
set DISKS2 container[6]="/dev/sdc5"
set DISKS2 container[7]="/dev/sdc6"
set DISKS2 container[8]="/dev/sdc7"


CHARON-VAX configuration file for the emulated VAX 6610 node running on HOST001 is as follows:

...

load CIXCD PAA ci_node_id=1

set PAA port[2]=11012 host[2]=”host002:11021”
set PAA port[3]=11013 host[3]=”host003:11031

include /mnt/share/disksets.cfg
... 

CHARON-VAX configuration file for the emulated VAX 6610 node running on HOST002 is as follows:

...

load CIXCD PAA ci_node_id=2

set PAA port[1]=11021 host[1]=”host001:11012”
set PAA port[3]=11023 host[3]=”host003:11032”

include /mnt/share/disksets.cfg
... 

CHARON-VAX configuration file for the emulated VAX 6610 node running on HOST003 is as follows:

...

load CIXCD PAA ci_node_id=3

set PAA port[1]=11031 host[1]=”host001:11013”
set PAA port[2]=11032 host[2]=”host002:11023”

include /mnt/share/disksets.cfg
...



© Stromasys, 1999-2024  - All the information is provided on the best effort basis, and might be changed anytime without notice. Information provided does not mean Stromasys commitment to any features described.