Table of Contents
Introduction
The DSSI storage subsystem, for the VAX 4000 Models: 106, 108, 700 and 705 emulators, is based on the emulation of SHAC host adapters and the ability to route SCS data packets between the emulated SHAC host adapters, of multiple nodes, via separate TCP/IP links.
The DSSI storage subsystem is functionally emulated, but the emulation is incompatible with the physical DSSI and operates at a much higher throughput than the original hardware. Connection to the physical DSSI hardware is neither possible nor planned for future releases.
This version of the DSSI emulation for CHARON-VAX supports up to 3 VAX nodes in a virtual DSSI cluster and handles a maximum cluster size of 8 nodes. A single virtual DSSI network supports up to 256 storage elements.
To use a single CHARON-VAX system with DSSI emulation, either one or both of the following two elements must be configured:
- A DSSI storage element (disk or tape).
A DSSI storage controller. Currently an emulated HSD50 storage controller is provided. The emulated HSD50 supports physical host drives, CD-ROM drives, physical tapes, removable disks, virtual disks and virtual tapes.
To create a cluster of DSSI interconnected CHARON-VAX systems, the DSSI hardware topology is emulated by establishing TCP/IP channels between the emulated SHAC host adapters on each CHARON-VAX system (The use of TCP/IP for the interconnects makes the cluster in principle routable in a WAN). Virtual HSD50 storage controllers are then connected to every SHAC host adapter in the virtual DSSI 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.
When a tape or disk image connected to an virtual HSD50 storage 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.
The emulated DSSI subsystem has many configurable parameters when multiple nodes on a single DSSI bus are to be connected. Incorrect configuration, in particular non-identical specification of emulated HSD50 disks in the DSSI nodes, is likely to cause data corruption. It is advisable to start any field test by implementing a single node.
SHAC host adapter
To connect an emulated VAX 4000 model 106, 108, 700 and 705 node to a virtual DSSI network, the CHARON-VAX configuration must load at least one emulated SHAC host adapter.
Emulated VAX 4000 models 106, 108, 700 and 705 have two pre-loaded SHAC host adapters named "PAA" and "PAB". There is no need to load any extra instances of SHAC in the configuration file.
Note: VAX/VMS running on an emulated VAX 4000 model 106 or 108 node enumerates the emulated SHAC host adapters and assigns them the VMS internal names "PAA" and "PAB". It is recommended, for clarity, to keep the same naming scheme in the CHARON-VAX configuration file for these emulated SHAC host adapters.
A virtual SHAC has the following configuration parameters:
port
Parameter | port[N] N=0…7 |
---|---|
Type | Numeric |
Value | An integer value that specifies the TCP/IP port number on which the emulated SHAC host adapter listens for connections from another emulated SHAC host adapter with DSSI node id: N. Possible values are from 1024 through 32767. Initially not set. |
host
Parameter | host[N] N=0…7 |
---|---|
Type | Text String |
Value | A string value that specifies the TCP/IP hostname (and optionally the TCP/IP port number) to connect to another emulated SHAC host adapter with DSSI node id: N. The syntax for the string is “host-name[:port-no]”, with possible values for port-no in the range of 1024 through 32767. Initially not set. |
scs_node_name
Parameter | scs_node_name[N] N=0…7 |
---|---|
Type | Text String |
Value | A string value that specifies the SCSNODENAME of the emulated storage element. This string can contain up to 6 characters. Possible characters are uppercase letters A through Z and integers 0 through 9. Initially set to an arbitrary value that is guaranteed to be unique within the running emulated VAX 4000 model 106, 108, 700 or 705 node. |
scs_system_id
Parameter | scs_system_id[N] N=0…7 |
---|---|
Type | Numeric |
Value | An integer value that specifies the SCSSYSTEMID of the emulated storage element. Initially set to an arbitrary value that is guaranteed to be unique within the running emulated VAX 4000 model 106, 108, 700 or 705 node. |
mscp_allocation_class
Parameter | mscp_allocation_class[N] N=0…7 |
---|---|
Type | Numeric |
Value | An integer value that specifies the ALLOCLASS of the emulated storage element. Possible values are from 0 through 255. Initially set to 0 which means no allocation class assigned. |
container
Parameter | container[N] N=0…7 | ||
---|---|---|---|
Type | Text String | ||
Value | A string value that specifies the container of the storage element with DSSI node id: N and MSCP unit number: N. This storage element might be either a (virtual) disk or tape. In VMS, running on an emulated VAX 4000 model 106 or 108 node, these storage elements appear as DSSI disks (DIAN:) or DSSI (TF86) tapes (MIAN:). Possible values of the parameter are strings in one of the following forms:
This parameter is initially not set, thus creating NO storage elements on the bus with corresponding DSSI node id. |
media_type
Parameter | media_type[N] N=0…7 | |
---|---|---|
Type | Text String | |
Value | Overrides default (automatically determined) MSCP media type of the device. Syntax:
where:
If not specified, the device name is set to “DI”, and the device type is selected based on disk size for the disk storage elements. For tape storage elements, the device name and type are set to “MI” and “TF86”, respectively. Initially not specified. |
geometry
Parameter | geometry[N] N=0…7 | |
---|---|---|
Type | Text String | |
Value | This formatted string value specifies the explicit geometry of the disk storage element with DSSI 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:
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: Syntax:
where:
|
use_io_file_buffering
Parameter | use_io_file_buffering[N] N=0…7 | |
---|---|---|
Type | Text String | |
Value | Instructs CHARON-VAX to enable host operating system I/O cache on reading/writing operations. The following values are possible:
Note that this caching has a significant effect only in case of mapping to disk and tape containers, not physical drives. When enabled, host operating system I/O cache may significantly improve I/O performance of the virtual system. At the same time maintaining I/O cache requires additional host resources (CPU and memory) which may negatively affect overall performance of the virtual system. Initially is set to "false". Example:
|
These parameters are configured with the "set" command.
Example: Standalone VAX system with 2 virtual DSSI disks on a PAA SHAC controller
|
The emulated VAX 4000 model 106 or 108 can then boot VMS with the following command:
>>> BOOT DIA0 |
After logging into VMS, the “SHOW DEVICE D” command displays the following:
|
HSD50 storage controller
To connect a storage controller to the virtual DSSI network, the CHARON-VAX configuration file must load at least one emulated HSD50 storage controller. In most cases one emulated HSD50 storage controller per virtual DSSI network is enough. The CHARON-VAX configuration file must supply a unique reference name for that instance. Even though this name is only valid within the configuration file, it is recommended, for clarity, to use the VMS SCSNODENAME as the instance name.
The line below loads an emulated HSD50 storage controller, assigns it the instance name SCSNODE and connects it to the primary built-in DSSI controller:
load HSD50 MYDISKS dssi_host=PAA |
The HSD50 emulation has the following configuration parameters:
dssi_host
Parameter | dssi_host |
---|---|
Type | Text String |
Value | A string value that specifies the instance name of an emulated SHAC host adapter serving the virtual DSSI network. If this value is not set, CHARON-VAX will try to locate the host adapter automatically. This automatic lookup works only if the CHARON-VAX configuration has exactly one instance of an emulated SHAC host adapter. |
dssi_node_id
Parameter | dssi_node_id |
---|---|
Type | Numeric |
Value | An integer value that specifies the address of an emulated HSD50 storage controller on the virtual DSSI network. Possible values are from 0 through 7 (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 HSD50 storage controller. The string can contain as many as 6 characters. Possible characters are uppercase letters: A through Z, and the integers: 0 through 9. Initially set to the name of the emulated HSD50 controller. Therefore, the name of the emulated HSD50 controller should follow the above rules. |
scs_system_id
Parameter | scs_system_id |
---|---|
Type | Numeric |
Value | An integer value that specifies the SCSSYSTEMID of the emulated HSD50 storage controller. Initially set to an arbitrary value that is guaranteed to be unique within the running emulated VAX 4000 model 106, 108, 700 and 705 node. |
mscp_allocation_class
Parameter | mscp_allocation_class |
---|---|
Type | Numeric |
Value | An integer value that specifies the ALLOCLASS of the emulated HSD50 storage controller. Possible values are 0 through 255 (initially set to 0). |
container
Parameter | container[N] N=0…9999 | ||
---|---|---|---|
Type | Text String | ||
Value | A string value that specifies the container of the storage element with MSCP unit number: N. This storage element might be either a (virtual) disk or tape. In VMS running on an emulated VAX 4000 node, these storage elements appear as HSX00 disks (DUAN:) or HST00 tapes (MUAN:). Possible values of the parameter are strings in one of the following forms:
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 the default (automatically determined) MSCP media type of the device. Syntax:
where:
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. Initially 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 DSSI 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:
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: Syntax:
where:
|
use_io_file_buffering
Parameter | use_io_file_buffering[N] N=0…9999 | |
---|---|---|
Type | Text String | |
Value | Instructs CHARON-VAX to enable host operating system I/O cache on reading/writing operations. The following values are possible:
Note that this caching has a significant effect only in case of mapping to disk and tape containers, not physical drives. When enabled, host operating system I/O cache may significantly improve I/O performance of the virtual system. At the same time maintaining I/O cache requires additional host resources (CPU and memory) which may negatively affect overall performance of the virtual system. Initially is set to "false". Example:
|
Example:
load HSD50 DISKS dssi_host=PAA dssi_node_id=5 |
The configuration file below emulates a VAX 4000 Model 108 node with one HSD50 storage controller serving two disks and another instance of an HSD50 controller that serves a tape drive to the VAX over a virtual DSSI:
|
In this example we emulate two HSD50 instances. They are both connected to the same virtual DSSI bus, therefore we must assign them different DSSI node ID values.
The emulated VAX 4000 Model 108 can boot VMS with the following command:
>>> BOOT DUA0 |
After logging into VMS, the “SHOW DEVICE D” and "SHOW DEVICE M" command displays the following:
|