Table of Contents
Introduction
CHARON-VAX provides two SCSI controllers for the 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 |
---|---|
For disk image containers and physical disks | |
For tape image containers | |
For host CD-ROM and *.iso images | |
SCSI Controllers#physical_scsi_device | For physical tapes and other SCSI devices connected to a host |
CHARON-VAX disk/tape devices can be SCSI disk/tape devices connected to a 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 disk/tape images. Thus the number of disks supported becomes 2x 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 in the form of "xKct0n:", where:
- "x" stands for the device type (D means disks, M means magnetic tapes, G is reserved by VAX/VMS for special purposes)
- "c" stands for the controller letter (A - the first controller, B - the second controller, ...)
- "t" stands for the 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 as MKA0 (which is really MKA000), MKA100, MKA200, ...
As soon as there is a disk/tape device with LUNs 0 and 1, VMS identifies them as, for example, 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.
To display a list of devices on the VAX console (SRM), enter ">>> show device
" .
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. To add additional logical units, use the following SYSGEN command:
$ MCR SYSGEN CONNECT DKxxx/NOADAPTER |
where DKxxx (or MKxxx) stands for the correct VAX/VMS name of the logical unit to be connected. You can find its name from the SRM console using the ">>> show scsi
" command.
This command is not boot persistent, so it must be included in the VAX/VMS "SYSTARTUP_VMS.COM" file to ensure it is executed with 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 from 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.
scsi_bus
Parameter | scsi_bus |
---|---|
Type | Identifier |
Value | Name of the emulated SCSI disk controller: "pka" or "pkb" |
scsi_id
Parameter | scsi_id |
---|---|
Type | Numeric |
Value | 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 the 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, named: 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.icfg |
"kzdda.icfg" loads the second SCSI adapter.
OpenVMS version 5.5-2H4, or above, is required to use the "pkb" controller.
virtual_scsi_disk
Use the "virtual_scsi_disk" mapping for disk containers and physical disks. This is the most convenient way of connecting disks to SCSI adapters in CHARON-VAX
The "virtual_scsi_disk" mapping has the following parameters:
container
Parameter | container[N] N=0…7 |
---|---|
Type | Text String |
Value | A string containing the device name to map to the emulator.
This parameter is initially not set, thus creating NO storage elements on the controller |
media_type
Parameter | media_type[N] N=0…7 |
---|---|
Type | Text String |
Value | Overrides the PRODUCT ID in the default SCSI INQUIRY data. Valid values may contain uppercase letters, integers and spaces. The length of the string cannot exceed 16 characters. If not specified, synthetic SCSI INQUIRY data is returned containing a PRODUCT ID selected based on the disk size. Initially left unspecified. |
geometry
Parameter | geometry[N] N=0…7 |
---|---|
Type | Text String |
Value | 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
Parameter | use_io_file_buffering[N] N=0…7 |
---|---|
Type | Boolean |
Value | Enables use of the host OS I/O buffering. Initially set to “false” (buffering disabled). |
removable
Parameter | removable[N] N=0…7 |
---|---|
Type | Boolean |
Value | Enables the logical unit to appear as a removable SCSI disk drive. Initially set to “false” (fixed, non-removable). |
In the table above N stands for logical unit number. The first unit must be 0 with no gaps in subsequent numbering.
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 open 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.
Please note:
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:
set pka_0 container = "/charon/disks/my_removable_disk.vdisk"
set pka_0 removable = true
virtual_scsi_tape
Use "virtual_scsi_tape" for tape containers. This is the most convenient way of connecting tapes to SCSI adapters in CHARON-VAX.
"virtual_scsi_tape" has the following parameters:
container
Parameter | container[N] N=0…7 |
---|---|
Type | Text String |
Value | A string containing the full path to a tape container. If the specified tape image does not exist, CHARON-VAX creates it. If only the name of the tape container is specified, CHARON-VAX will look for the container in the folder CHARON is running from. Please note If the "CHARON Guest Utilities for OpenVMS" (CHARONCP) package is used there is a possibility not to specify the exact tape container on CHARON start since it can be specified later using the package. In this case the syntax is:
|
media_type
Parameter | media_type[N] N=0…7 |
---|---|
Type | Text String |
Value | Overrides PRODUCT ID in the default SCSI INQUIRY data. Valid values may contain uppercase letters, integers and spaces. Length of this string cannot exceed 16 characters. By default the PRODUCT ID returned is "TLZ04" |
geometry
Parameter | geometry[N] N=0…7 |
---|---|
Type | Text String |
Value | Specifies the size of the tape image and (optionally) the size of the "early-warning" area at the end of the tape image. Syntax:
where:
Example:
|
In the table above N stands for logical unit number. The first unit must be 0 with no gaps in subsequent numbering.
Example:
|
If only one LUN is configured, the LUN number can be omitted:
|
virtual_scsi_cdrom
Use "virtual_scsi_cdrom" to connect IDE or SATA host CD-ROM or *.iso file to CHARON-VAX.
"virtual_scsi_cdrom" has the following parameters:
container
Parameter | container[N] N=0…7 |
---|---|
Type | Text String |
Value | A string containing the device name to map to the emulator.
This parameter is initially not set, thus creating NO storage elements on the controller |
media_type
Parameter | media_type[N] N=0…7 |
---|---|
Type | Text String |
Value | Overrides the PRODUCT ID in the default SCSI INQUIRY data. Valid values may contain uppercase letters, integers and spaces. The length of the string cannot exceed 16 characters. If not specified, synthetic SCSI INQUIRY data is returned containing a PRODUCT ID selected based on the disk size. Initially left unspecified. |
geometry
Parameter | geometry[N] N=0…7 |
---|---|
Type | Text String |
Value | 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
Parameter | use_io_file_buffering[N] N=0…7 |
---|---|
Type | boolean |
Value | Enables use of the host OS I/O buffering. Initially set to “false” (buffering disabled). |
In the table above N stands for logical unit number. The first unit must be 0 with no gaps in subsequent numbering. If only one LUN is configured, the LUN number can be omitted
Example:
|
This example associates an unallocated CD-ROM drive "/dev/sr0" with virtual_scsi_cdrom "pka_0".
physical_scsi_device
Use "physical_scsi_device" to connect any host "raw" SCSI device to CHARON-VAX. This mapping type is suitable only for tape drives and other specific SCSI devices connected to CHARON host.
"physical_scsi_device" has the following parameters:
container
Parameter | container[N] N=0…7 |
---|---|
Type | Text String |
Value | A string containing the device name to map to the emulator.
|
media_type
Parameter | media_type[N] N=0…7 |
---|---|
Type | Text String |
Value | Overrides the PRODUCT ID in the default SCSI INQUIRY data. Valid values may contain uppercase letters, integers and spaces. The length of the string cannot exceed 16 characters. If not specified, synthetic SCSI INQUIRY data is returned containing a PRODUCT ID selected based on the disk size. Initially left unspecified. |
geometry
Parameter | geometry[N] N=0…7 |
---|---|
Type | Text String |
Value | 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
Parameter | use_io_file_buffering[N] N=0…7 |
---|---|
Type | boolean |
Value | Enables use of the host OS I/O buffering. Initially set to “false” (buffering disabled). |
removable
Parameter | removable[N] N=0…7 |
---|---|
Type | boolean |
Value | Enables the logical unit to appear as a removable SCSI disk drive. Initially set to “false” (fixed, non-removable). |
disconnect_timeout
Parameter | disconnect_timeout[N] N=0…7 |
---|---|
Type | Numeric |
Value | 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 with 48 days timeout:
|
In the table above N stands for logical unit number. The first unit must be 0 with no gaps in subsequent numbering. If only one LUN is configured, the LUN number can be omitted.
Example:
|
This example associates a host tape device "/dev/sg3" with physical_scsi_device "pka_0".