Table of Contents
Introduction
CHARON-VAX provides two SCSI controllers for SCSI and SCSI/QBUS models of VAX.
Hardware disks, disk images, hardware tapes, tape images, floppy devices and CD-ROM devices can be connected to these SCSI controllers. Each device has to be configured to connect to a specific SCSI address in CHARON-VAX.
Use the following emulated device types to map real peripherals to the emulated SCSI devices:
Type of mapping | Description |
---|---|
virtual_scsi_disk | For disk image containers and physical disks |
virtual_scsi_tape | For tape image containers |
physical_scsi_device | For physical SCSI devices on the host. This instance type can be used for any SCSI device: disk drives, tape drives or SCSI CD-ROM/DVD-ROM drives. |
CHARON-VAX disks/tape devices can be SCSI disks/tape devices connected to the host system or disk/tape containers that are presented to the operating system environment as files.
Two SCSI controllers are provided ("PKA" and "PKB") in CHARON-VAX, with 7 addresses each.
Beyond the capabilities of the hardware VAX 3100/9x and 4000/10x, CHARON-VAX/XX implements extended SCSI addressing. Each of the seven device addresses of a SCSI controller supports up to eight disks/tape images. Thus the number of disks supported becomes 2 Controllers*7 addresses*8 Disks/Tapes, a total of 112 disks/tapes.
SCSI devices with the same ID but different LUNs (logical units) appear in the VAX console with different names. The naming convention is as follows:
Each SCSI device has the name of the form "xKct0n:", where:
- "x" stands for device type (D means disks, M means magnetic tapes, G is reserved by VAX/VMS for special purposes)
- "c" stands for controller letter (A - the first controller, B - the second controller, ...)
- "t" stands for SCSI device ID (usually 0 through 6, and 7 is allocated by the controller itself)
- "n" stands for a particular logical unit number LUN.
Most of the 'normal' SCSI devices have only one logical unit - 0. Therefore, under normal conditions, disks in VAX/VMS appear as DKA0 (which is really DKA000), DKA100, DKA200, ..., tapes - MKA0 (which is really MKA000), MKA100, MKA200, ... As soon as there is a disk/tape device with LUNs 0 and 1, VMS handles them as, let us say, DKA300 and DKA301 (MKA300 and MKA301) respectively.
The boot ROM of CHARON-VAX detects SCSI devices with multiple LUNs and builds proper device names for them ("show dev" at the VAX console prompt to see a list). This list is passed to VAX/VMS at boot time. VAX/VMS creates devices only for logical unit 0 for each device detected in the boot ROM. Add additional logical units by using the following SYSGEN command:
$ MCR SYSGEN CONNECT DKxxx/NOADAPTER |
where DKxxx (MKxxx) stands for the correct VAX/VMS name of the logical unit to be connected. You can find this name in the SRM console with the "show scsi" command. Add the MCR command to the VAX/VMS "SYSTARTUP_VMS.COM" file to ensure it is executed on each startup.
Also note that the following rules are applied for logical units.
- Each SCSI device must implement logical unit 0.
A SCSI device must implement all logical unit numbers between the highest and the lowest numbers implemented.
Empty disk images can be created with the "mkdskcmd utility".
CHARON-VAX is able to boot disk images of any VAX/VMS version (starting with 4.5 or higher for MicroVAX II or VAX 3600 and VMS 5.5-2 or higher for the VAX4000).
Mapping to host resources
Load a mapping device with the "load" command. Specify the name of the device instance, the emulated SCSI bus to connect the device to and the SCSI identifier of the CHARON-VAX device.
Parameter | Type | Value |
---|---|---|
scsi_bus | Identifier | Name of emulated SCSI disk controller: "pka" or "pkb" |
scsi_id | Numeric | A value between 0 and 7. This is the ID number of the emulated SCSI device. The SCSI adapter is preloaded with address 7. If required, set it to another value in the range of 0-7 from the VAX console. |
There is no direct correspondence between the host hardware SCSI ID and these CHARON-VAX SCSI addresses. Set the correspondence between physical SCSI addresses on the host system and the CHARON-VAX SCSI bus ID in the configuration file.
Syntax:
load <instance type>/<module name> <instance name> scsi_bus=<bus name> scsi_id=<number> |
Example:
|
CHARON-VAX/XX has only one preloaded SCSI adapter with the name PKA. If a second adapter (PKB) is required then add the following line to the configuration file before loading and configuring any device on the second SCSI adapter PKB:
include kzdda.cfg |
"kzdda.cfg" loads the second SCSI adapter.
OpenVMS vers. 5.5-2H4 or above is required to use the "pkb" controller.
"virtual_scsi_disk"
Use "virtual_scsi_disk" mapping for disk containers and physical disks. This is the most convenient way of connecting disks to SCSI adapters of CHARON-VAX
"virtual_scsi_disk" has the following parameters:
Parameter | Type | Value |
---|---|---|
container[N] N=0…7 | Text String | A string containing the full path to a disk container. N stands for logical unit number. The first unit must be 0 with no gaps in subsequent numbering.. If only the name of the disk container is specified, CHARON-VAX will look for the container in "/opt/charon/bin". |
media_type[N] N=0…7 | Text String | Overrides PRODUCT ID in the default SCSI INQUIRY data. Valid values may contain uppercase letters, decimal figures, spaces. Length of string shall not exceed 16 characters. If not specified, synthetic SCSI INQUIRY data is returned containing PRODUCT ID selected based on disk size. Initially left unspecified. |
geometry[N] N=0…7 | Text String | This formatted string value specifies the explicit geometry of the disk storage element 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[N] N=0…7 | boolean | Enables use of host OS I/O buffering. Initially set to “NO” (buffering disabled). |
removable[N] N=0…7 | boolean | Enables the logical unit to appear as a removable SCSI disk drive. Initially set to “NO” (fixed, non-removable). |
Example:
|
If only one LUN is configured, the LUN number can be omitted:
|
When a virtual SCSI disk image is dismounted in VMS, it is no longer read by CHARON and may be copied. This capability can be useful when designing back-up and restore procedures. If copying CHARON-VAX disk images while CHARON-VAX is running, take care to minimize the risk of overloading the host system.
Unlike MSCP controlled disk images, a disk image connected to a SCSI controller as a virtual SCSI disk CANNOT be replaced by another disk image unless "removable" parameter is set for this particular disk image.
Example of CD-ROM ISO image usage:
|
"virtual_scsi_tape"
Use "virtual_scsi_tape" for tape containers. This is the most convenient way of connecting tapes to SCSI adapters of CHARON-VAX.
"virtual_scsi_tape" has the following parameters:
Parameter | Type | Value | ||
---|---|---|---|---|
container[N] N=0…7 | Text String | A string containing the full path to a tape container. If the specified tape image does not exist, CHARON-VAX creates it. N stands for logical unit number. The first unit must be 0 with no gaps in subsequent numbering. If only the name of the tape container is specified, CHARON-VAX will look for the container in "/opt/charon/bin". | ||
media_type[N] N=0…7 | Text String | Overrides PRODUCT ID in the default SCSI INQUIRY data. Valid values may contain uppercase letters, decimal figures, spaces. Length of string shall not exceed 16 characters. By default the PRODUCT ID returned is “TLZ04” | ||
geometry[N] N=0…7 | Text String | Specifies size of the tape image and (optionally) size of "early-warning" area at the end of tape image. Syntax:
where:
Example:
|
Example:
|
If only one LUN is configured, the LUN number can be omitted:
|
"physical_scsi_device"
Use "physical_scsi_device" to connect any host SCSI device to CHARON-VAX.
"physical_scsi_device" has the following parameters:
Parameter | Type | Value | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
container[N] N=0…7 | Text String | A string containing the device name to map to the emulator. N stands for logical unit number. It must begin from 0 and have no gaps in subsequent numbering. If there is only one logical unit the number can be omitted.
This parameter is initially not set, thus creating NO storage elements on the controller | ||||||||||||
media_type[N] N=0…7 | Text String | Overrides PRODUCT ID in the default SCSI INQUIRY data. Valid values may contain uppercase letters, decimal figures, spaces. Length of string shall not exceed 16 characters. If not specified, synthetic SCSI INQUIRY data is returned containing PRODUCT ID selected based on disk size. Initially left unspecified. | ||||||||||||
geometry[N] N=0…7 | Text String | This formatted string value specifies the explicit geometry of the disk storage element 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[N] N=0…7 | boolean | Enables use of host OS I/O buffering. Initially set to “NO” (buffering disabled). | ||||||||||||
removable[N] N=0…7 | boolean | Enables the logical unit to appear as removable SCSI disk drive. Initially set to “NO” (fixed, non-removable). | ||||||||||||
disconnect_timeout[N] N=0…7 | Numeric | Sets logical unit disconnect timeout. This parameter helps if a connected SCSI device performs a given SCSI command for a very long time. The default value depends on the type of the SCSI device attached. For example for a disk it is 10 seconds, for a tape - an hour. If the type of the device is not known the timeout is 1 hour. Example (the timeout is 48 days):
|
Example:
|
This example associates an unallocated SCSI drive "/dev/sdb" with physical_scsi_device "pka_0".