Table of Contents
Introduction
CHARON-VAX provides MSCP controllers for hardware disks (including floppy and CD/DVD) and disks images. TMSCP controllers provide support for hardware tapes and tape images.
MSCP and TMSCP controllers are added to the configuration using the "load" command. The individual units are defined by using the container parameter.
MSCP devices appear in VMS as DUA for the first controller and DUB for the second controller, etc.
TMSCP devices appear in VMS as MUA, MUB, etc.
When adding multiple MSCP or TMSCP controllers, follow Qbus addressing conventions.
When a tape or disk image connected to an emulated TMSCP or MSCP 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. When copying CHARON-VAX disk images while CHARON-VAX is running, please take care to minimize the risk of overloading a heavily loaded CHARON-VAX host system. For example using a sequential series of simple ftp binary copies is less resource intensive and thus less disruptive than multiple, simultaneous copies.
Empty disk images are created with the "mkdskcmd" utility. Tape images (vtapes) will be created if they don't exist.
CHARON-VAX is able to boot disk images of any VAX/VMS version (for VAX/VMS starting with 4.5 or higher for MicroVAX II or VAX 3600 and VAX/VMS 5.5-2 or higher for the VAX4000).
RQDX3 Controller
The CHARON-VAX QBUS system provides support for RQDX3 disk controllers. The original RQDX3 disk controller is capable of serving up to 4 disk units. CHARON-VAX extends this limit so that the RQDX3 disk controller can be configured with up to 256 disk units. Normally all 256 disks can be connected to one MSCP disk controller but, if an application does intensive simultaneous I/O to more than 16 disks on one MSCP controller, it is recommended to configure additional RQDX3 controllers.
Use the following command to load an instance of an RQDX3 disk controller:
load RQDX3/RQDX3 <logical name> |
Example:
load RQDX3/RQDX3 DUA |
address
Parameter | address |
---|---|
Type | Numeric |
Value | Specifies the CSR address. The address must be a valid QBUS 22-bit wide address in IO space. Initial value is 017772150 which is the factory setting for the RQDX3 disk controller. Use the "address" parameter for loading several instances of RQDX3. The "address" parameter value must be unique for every instance of the controller. |
max_n_of_units
Parameter | max_n_of_units |
---|---|
Type | Numeric |
Value | Specifies the maximum number of units supported by the controller. Possible values are 4…9999. Default is 9999. |
container
Parameter | container[N] N=0…9999 |
---|---|
Type | Text String |
Value | Specifies the location of the disk container. It can be either the name of a ".vdisk" file or the name of a physical disk:
|
media_type
Parameter | media_type[N] N=0…9999 |
---|---|
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 “DU”, and the device type is selected based on disk size. 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 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. |
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). |
Example 1:
|
In the above example, "rx23.vdisk" will be seen in VMS as DUA0, "/dev/sdb" as DUA1 and "/dev/cdrom" as DUB5.
Example 2:
|
In the above example, "rx23.vdisk" will be seen in VMS as DIA0 and "/dev/sdc2" as DIA1.
TQK50 and TUK50 Controllers
The CHARON-VAX QBUS system provides support for the TQK50 tape controller. UNIBUS systems support the TUK50 tape controller.
The original TQK50/TUK50 tape controller is capable of serving only 1 tape unit. CHARON-VAX extends the limit to 10000 tape units.
Use the following commands to load an instance of a TQK50/TUK50 tape controller:
|
Example:
|
The TQK50/TUK50 controllers have the following configuration parameters, which can be specified with the "set" command:
address
Parameter | address |
---|---|
Type | Numeric |
Value | Specifies the CSR address. The address must be a valid QBUS 22-bit wide address in IO space for TQK50 and a valid QBUS 18-bit wide address in I/O space for TUK50. The initial values are 017774500 (TQK50) and 0774500 (TUK50) which is the factory setting for those tape controllers. Use the "address" parameter to load several instances of TQK50/TUK50. The "address" parameter value must be unique for each instance of TQK50/TUK50. |
container
Parameter | container[N] N=0…9999 |
---|---|
Type | Text String |
Value | Specifies the location of the tape container. It can be either the name of a ".vtape" (".mtd") file or the name of a physical tape drive: "dev/sg<N>"– for the local physical tape drive. |
media_type
Parameter | media_type[N] N=0…9999 |
---|---|
Type | Text String |
Value | Overrides default (automatically determined) TMSCP media type of the device. Syntax:
where:
If not specified, the device name is set to “MU”, and the device type is set to “TK50” Initially not specified. |
geometry
Parameter | geometry[N] N=0.9999 |
---|---|
Type | Text String |
Value | Specifies the size of the tape image and (optionally) the size of an "early-warning" area at the end of tape image. Syntax:
where:
Example:
|
Example:
|
Multi-volume tape images may be handled as follows:
|
Once this configuration is established, the following VMS command (for example) could be used:
$ BACKUP MUA0:BACKUP.SAV,MUA1,MUA2,MUA3/SAVE_SET DUA0:... |
KDM70 Controller
KDM70 is an MSCP/TMSCP disk and tape controller for the VAX 6000.
The CHARON-VAX virtual KDM70 controller supports 9999 disks and tapes instead of the 8 disk limitation of the original hardware. This design modification has the advantage of using only one XMI slot for up to 9999 disk and tape devices.
The I/O behavior of the virtual KDM70 is as follows:
Up to 16 connected disks operate in parallel without any I/O performance degradation.
For systems with more than 16 heavily used disks, configure two controllers and distribute the heavily loaded disks evenly.
As in the hardware KDM70, VMS can be booted only from the first 10 devices on the KDM70 (DU0 - DU9).
Hardware KDM70's do not support tape drives. The virtual KDM70's support a transparent extension for data tapes (boot from tape is not supported).
The line below loads an emulated KDM70 storage controller:
load KDM70/KDM70 PUA |
The KDM70 emulation has the following configuration parameters:
xmi_node_id
Parameter | xmi_node_id |
---|---|
Type | Numeric |
Value | Specifies the XMI slot in which virtual KDM70 controller is placed. For CHARON-VAX/66X0 a free slot between 10 (A) and 14 (E) must be chosen. |
container
Parameter | container[N] N=0…9999 |
---|---|
Type | Text String |
Value | 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 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. 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 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 described above is applicable only to disk storage elements. If the container is a tape image, the following format is used instead: Syntax:
where:
|
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). |
Example:
Create a KDM70 (T)MSCP controller in XMI slot 10:
|
Configure on this controller a system disk to show up as DUA0: in VMS:
|
Configure a user disk to show up as DUA1: in VMS:
|
Configure the first SCSI tape drive connected to the host to show up as MUA4: in VMS:
|
The file my_tape.vtape in the default directory is used by VMS as MUA5:
|
The first host system CD-ROM can be used to read VMS CDs and shows up as DUA9:
|
The host system floppy drive "/dev/fd0' can be used inVMS as DUA10:
|
(vdisk
or vtape
) to distinguish between a disk image and a tape image, Configured physical devices or tape/disk images that do not exist on the host system will, in general, cause VAX/VMS to report the unit offline. In some cases this will result in a VMS BUG CHECK. In this case, an error message will be written to the log file.KDB50 Controller
KDB50 is an MSCP controller for the VAX 6000. The CHARON-VAX virtual KDB50 controller supports up to 9999 disks instead of the 4 disk limitation of the original hardware. This design modification has the advantage of using only one VAXBI slot for up to 9999 disk and tape devices.
- Up to 16 connected disks operate in parallel without any I/O performance degradation.
- For systems with more than 16 heavily used disks, configure two controllers and distribute the heavily loaded disks evenly.
- Like the hardware KDB50, VMS can boot only from the first 10 devices on the KDB50 (DU0 - DU9).
The line below loads an emulated KDB50 storage controller:
load KDB50 PUA |
The KDB50 emulation has the following configuration parameters:
vax_bi_node_id
Parameter | vax_bi_node_id |
---|---|
Type | Numeric |
Value | Specifies the VAXBI slot in which the virtual KDB50 controller is placed. For CHARON-VAX a free slot between 1 (1) and 15 (F) must be chosen.Initially set to 14. |
container
Parameter | container[N] N=0…9999 |
---|---|
Type | Text String |
Value | 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 default (automatically determined) MSCP media type of the device. Syntax:
where:
|
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 MSCP unit number N. This parameter is not applicable to tape storage elements.T he string format is <X>”/”<Y>[“/”<Z>] where:
|
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). |
Example:
Create a KDB50 MSCP controller in VAX BI slot 1:
load KDB50/KDB50 PUA vax_bi_node_id=1 |
Configure on this controller a system disk to show up as DUA0: in VMS:
set PUA container[0]="/charon/disks/vms72-66X0.vdisk" |
Configure a user disk to show up as DUA1: in VMS:
set PUA container[1]="/charon/disks/usertest.vdisk" |
The first host system CD-ROM can be used to read VMS CDs and shows up as DUA9:
set PUA container[9]="/dev/sr0" |
The host system floppy drive `/dev/fd0` can be used in VMS as DUA10:
set PUA container[10]="/dev/fd0" |