Product Documentation and Knowledge Base - HomeDocumentation


Charon-VAXCharon-AXPCharon-PDPCharon-SSPCharon-PAR

CI Subsystem

Table of Contents

Introduction

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 an order of magnitude faster than the physical CI implementation, such 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 component 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.

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.

To connect a virtual VAX 66x0 to a virtual CI network, the CHARON-VAX configuration file must load at least one virtual CIXCD host adapter; one unit is sufficient in all practical cases.

VAX/VMS enumerates the virtual CIXCD host adapters in the order of increasing XMI node IDs, and assigns them the VMS internal names PAA, PAB, etc. It is recommended for clarity to keep the same naming scheme for virtual CIXCD host adapters in the configuration file.

The emulated CI subsystem has many configurable parameters when multiple nodes on a single CI bus are to be configured. Incorrect configuration, in particular non-identical specification of the emulated HSJ50 disks in the CI nodes, is likely to case data corruption. It is advisable to start any field test by implementing a single node.

Back to Table of Contents

CIXCD host adapter

To connect an emulated VAX 66x0 node to a virtual CI network, the CHARON-VAX configuration must load at least one emulated CIXCD host adapter.

To load the adapter and assign it an instance name of "PAA", enter the following line in the configuration file:

 

load CIXCD PAA

The CIXCD emulation has the following configuration parameters:

port

Parameter

port[N]

N=0…127

Type

Numeric

Value

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 address N.

Possible values are from 1024 through 32767.

Initially not set.

host

Parameter

host[N]

N=0…127

Type

Text String

Value

A string value that specifies the TCP/IP host name (and optionally the TCP/IP port number) to connect to another emulated CIXCD host adapter with address N.

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

Initially not set.

xmi_node_id

Parameter

xmi_node_id

TypeNumeric
Value

An integer value that specifies the location of the virtual CIXCD host adapter on the XMI bus.

Possible values are from 11 through 14 (Initially set to 14).

ci_node_id

Parameterci_node_id
Type

Numeric

Value

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).

 

These parameters can be added to the "load" command or specified separately with the "set" command.

The example below shows how to configure a virtual CIXCD adapter with a location on the XMI bus other than the default. It declares a CIXCD adapter in slot 11 (0xB = decimal 11) of the virtual XMI bus:

load CIXCD PAA xmi_node_id=0xB

The configuration file below creates a virtual VAX 6610 (single CPU) node with one virtual HSJ50 storage controller serving two disks to the VAX over a virtual CI network:

 

set session hw_model="VAX_6000_Model_610"
set session log="vax6610.log"
set toy container="vax6610.dat"
set eeprom container="vax6610.rom"

load operator_console OPA0

load CIXCD PAA

load HSJ50 DISKS

set DISKS container[0]="/charon/disks/dua0-rz24-vms-v6.2.vdisk"
set DISKS container[1]="/charon/disks/dua1-rz24-vms-v6.2.vdisk"

 

Back to Table of Contents

HSJ50 storage controller

The virtual HSJ50 storage controller functionally replaces a physical HSJ50 CI storage unit. It supports virtual and physical disks, tapes and removable storage devices that are mapped on local or remote host platform storage. The virtual HSJ50 cannot connect to a physical CI infrastructure. 

In a single CHARON-VAX/66X0 instance without a CI cluster, the virtual HSJ50 is located as a separate entity on the same host platform. In a CI cluster, the definition of each HSJ50 is replicated exactly in each CHARON-VAX CI CI node. In most cases one HSJ50 storage controller per virtual CI network is enough.

When loading an instance of a virtual HSJ50 storage controller, the CHARON-VAX configuration file must supply a unique reference name for that instance. While this name is only valid within the configuration file, it is recommended for clarity to use the VAX/VMS SCSNODENAME as an instance name.

The line below loads an emulated HSJ50 storage controller and assigns it the instance name SCSNOD:

 

load HSJ50 MYDISKS

The HSJ50 emulation has the following configuration parameters:

ci_host

Parameter

ci_host

Type

Text String

Value

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

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

ci_node_id

Parameter

ci_node_id

TypeNumeric
Value

An integer value that specifies the address of an emulated HSJ50 storage controller on the virtual CI network.

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

scs_node_name

Parameter

scs_node_name

Type

Text String

Value

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

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

Initially set to the name of the emulated HSJ50 controller. Therefore name of emulated HSJ50 controller must follow the above rules.

scs_system_id

Parameter

scs_system_id

Type

Numeric

Value

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

Initially set to an arbitrary value that is guaranteed to be unique within the running emulated VAX 66x0 node.

mscp_allocation_class

Parameter

mscp_allocation_class

TypeNumeric
Value

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

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

container

Parameter

container[N]

N=0…9999

Type

Text String

Value

Possible values of the parameter are strings in one of the following forms:

  • Physical disk drives
    • "/dev/sd<L>", where L is letter
    • "/dev/disk/by-id/..." - addressing by the disk ID, for example "/dev/disk/by-id/ata-ST1000DM003-9YN162_S1D01QJ4"
    • "/dev/disk/by-label/..." - addressing by the disk label, for example "/dev/disk/by-label/MyStorage"
    • "/dev/disk/by-uuid/..." - addressing by the disk UUID, for example "/dev/disk/by-uuid/0e808a2f-cdd3-4944-a245-f729ffd73882"

      Since "/dev/sd<L>" addressing is not persistent, so it is strongly recommended to use "/dev/disk/by-id/wwn-*" syntax instead to refer the disk by its WWID - especially in the enviroments utilizing FC and SAN storages.

      (info) It is also possible to use not a whole disk, but previously created partitions on it. In this case the syntax is the following: "/dev/sd<L><N>" where N is the number of partition to be used.
      .

  • Physical tape drives
    • "/dev/sg<X>", where X is 0, 1, …
      .
  • Floppy drives
    • "/dev/fd<X>", where X is 0, 1, …
      .
  • CD-ROM drives (read-only)
    • "/dev/cdrom<X>" or
    • ("/dev/sr<X>"), where X is 0, 1, …
      .
  • Multipath disks
    • "/dev/dm-<X>",
    • "/dev/mapper/mpath<X>",
    • "/dev/mapper/disk<X>", where X is 0, 1, …
      .
  • CHARON-VAX disk images
    • [<path-name>"/"]<file-name>[".vdisk"]
      .
  • CHARON-VAX tape images
    • [<path-name>"/"]<file-name>".vtape"

This parameter is initially not set, thus creating NO storage elements on the controller

media_type

Parameter

media_type[N]

N=0…9999

Type

Text String

Value

Overrides default (automatically determined) MSCP media type of the device.

Syntax:

"<device-name>,<device-type>"

where:

  • <device-name> is one of “DU”, “MU”, “DK”, “MK”, “SCSI”, “DI”, “MI”, “CI”, “DJ”, “MJ”

  • <device-type> is of the form “LLD” or “LLLD”, where “L” is letter from A through Z, and “D” is decimal number from 0 through 99

If not specified, the device name is set to “DI” and the device type is selected based on disk size for disk storage elements. For tape storage elements, the device name and type are set to “MI” and “TF86” respectively.

Initialy not specified.

geometry

Parameter

geometry[N]

N=0…9999

Type

Text String

Value

This formatted string value specifies the explicit geometry of the disk storage element with CI node id N and MSCP unit number N. This parameter is not applicable to tape storage elements.

The string format is <X>”/”<Y>[“/”<Z>] where:

  1. X is number of sectors on track

  2. Y is number of tracks on cylinder

  3. Z (optional) is the number of cylinders on the unit. If omitted, Z is calculated based on X, Y and the total number of sectors on the unit that reflects the size of the disk storage element

If this parameter is not set, CHARON-VAX will configure the geometry based on the most probable disk type.

Initially not set.

The syntax above is applicable only to disk storage elements.

If the container is a tape image, the following format is used instead:

Syntax:

"<image-size>[, <early-warning-zone-size>]"

where:

  • <image-size> is the tape size in MB

  • <early-warning-zone-size> is a size (in KB) of a space left on the tape when a warning to the OS is issued. If omitted, 64K is assumed.

use_io_file_buffering

Parameter

use_io_file_buffering[N]

N=0…9999

Type

Boolean

Value

Enables use of host OS I/O buffering.

Initially set to “false” (buffering disabled).


The following example configures a virtual HSJ50 storage controller with a non-default CI network address of 11:

load HSJ50 DISKS ci_node_id=0x0B

The configuration file below emulates a VAX 6610 node, one HSJ50 storage controller serving two disks:

set session hw_model="VAX_6000_Model_610"
set session log=" vax6610.log"
set toy container="vax6610.dat"
set eeprom container="vax6610.rom"

load operator_console OPA0

load CIXCD PAA xmi_node_id=0x0C

load HSJ50 DISKS ci_node_id=0x0B

set DISKS container[0]="/charon/disks/dua0-rz24-vms-v6.2.vdisk"
set DISKS container[1]="/charon/disks/dua1-rz24-vms-v6.2.vdisk"


When this configuration file is executed and "
container[0]" points to a valid VMS system disk image, a virtual VAX 6610 can boot VAX/VMS with the following command:
>>> BOOT /XMI:C /NODE:B DU0

In the above boot command, "/XMI:C" and "/NODE:B" instruct the boot ROM to connect to the disk via the host adapter in XMI slot C (the hex value C stands for decimal 12).

Then via the storage controller with CI node id B (decimal 11), DU0 is reached (defined as container[0]) and the boot command is executed for the associated file on the host system.

After logging into VMS, the “SHOW DEVICE” command displays the following:

$ show devices

Device                 Device           Error    Volume         Free  Trans Mnt
  Name                  Status           Count     Label        Blocks Count Cnt
DISKS$DUA0:            Mounted              0     DSSI01        32022   147   1
DISKS$DUA1:            Online               0

Device                 Device           Error
  Name                  Status           Count
OPA0:                  Online               0
FTA0:                  Offline              0

Device                 Device           Error
  Name                  Status           Count
PAA0:                  Online               0

 

(info) When a tape or disk image connected to an emulated HSJ50 controller is dismounted in VAX/VMS, it is disconnected from CHARON-VAX and can be manipulated. It may even be replaced with a different disk image if it keeps the same name. This capability may be useful when designing back-up and restore procedures.

Back to Table of Contents



© 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.