Anchor | TopMSCPPage | TopMSCPPage|||
---|---|---|---|---|
Anchor | ||||
|
Include Page | ||||
---|---|---|---|---|
|
...
Table of Contents | ||
---|---|---|
|
General description
KZPBA PBXDA is a PCI SCSI serial lines adapter based on the QLogic ISP1040 Fast Wide SCSI adapter chip for HP Alpha.
In CHARON-AXP environment it supports up to 120 disks and tapes.
For systems with more than 16 heavily used units it is recommended to configure several virtual KZPBA PCI SCSI adapters and distribute the heavily loaded units evenly between the adapters.
Loading KZPBA storage adapter
Syntax for loading KZPBA storage adapter:
...
Example:
...
In AlphaStation 400 configuration use the following syntax for KZPBA storage adapter loading:
...
AccelePort 2R 920, 4R 920, 8R 920 and Xem DIGI adapters.
Include Page | ||||
---|---|---|---|---|
|
Loading PBXDA serial lines adapter
Syntax for loading PBXDA (AccelePort 2r 920) serial lines adapter:
|
Syntax for loading PBXDA_BA (AccelePort 4r 920) serial lines adapter:
|
Syntax for loading PBXDA_BB (AccelePort 8r 920) serial lines adapter:
|
Syntax for loading PBXDA_AC (AccelePort Xem) serial lines adapter:
|
Example:
load PBXDA/DIGI TXA |
The adapter instance name ("PKATXA
" in the example above) is used then for parametrization, for example:
set PKA containerTXA line[6022]="/Mydisks/vms_distributive.vdiskdev/tty0" |
Specifies SCSI ID of KZPBA PCI SCSI Adapter in a range 0..7
By default the "scsi_id" configuration parameter is set to 7.
Example:
set PKA scsi_id=0 |
host, port
...
The numbers in the square brackets represent SCSI ID and LUN of the devices line number on the virtual KZPBA SCSI bus.
They have the following format: XXYY, where:
Parameter | Range | Description |
---|---|---|
XX | 0..15 | SCSI ID |
YY | 00..07 | LUN |
By default KZPBA adapter uses first available PCI slot. If instead some particular slot is needed, refer to this section for details of specific placement of PCI peripherals on CHARON-AXP PCI bus.
By default each loaded KZPBA SCSI PCI adapter has SCSI ID=7. This setting can be changed with "scsi_id" parameter, for example:
set PKA scsi_id=0 |
CHARON-AXP HP Alpha models may have one or two KZPBA adapters preloaded.
...
Configuration parameters
The KZPBA PCI SCSI adapter emulation has the following configuration parameters:
scsi_id
...
PBXDA adapter starting from 0.
Controller type | Maximum number of lines |
---|---|
PBXDA | 2 |
PBXDA_BA | 4 |
PBXDA_BB | 8 |
PBXDA_AC | 16 |
Info |
---|
All the parameters described in the "Placement of peripheral devices on PCI bus", such as "bus", "device", "function", "irq", "irq_bus" are applicable for PBXDA controller. |
Div | ||
---|---|---|
| ||
Note | |
---|---|
DIGI drivers for OpenVMS and Tru64 are sensitive to PBXDA location on PCI, therefore it is recommended to fix PBXDA location with explcit configuration. For example:
|
Include Page | ||||
---|---|---|---|---|
|
Configuration parameters
The PBXDA serial lines adapter emulation has the following configuration parameters:
port
Parameter | port |
---|---|
Type | Text String |
Value |
...
These parameters are used in SCSI cluster configurations.
Parameter | Description |
---|---|
host | Specifies remote end-point (remote host name and, optionally, TCP/IP port on remote host) of SCSI connection between this KZPBA PCI SCSI adapter and remote KZPBA PCI SCSI adapter on some host. |
port | Specifies local end-point (TCP/IP port on local host) of SCSI connection between this KZPBA PCI SCSI adapter and remote KZPBA PCI SCSI adapter on some host. |
...
Specifies a local port for incoming telnet connections By default the "port" configuration option is not specified. Syntax:
|
...
|
...
Example:
|
...
|
...
|
...
container[N]
N is "XXYY" number, where:
...
line
Parameter | line |
---|---|
Type | Text |
...
Possible values of the parameter are strings in one of the following forms:
...
- "/dev/sd<L>" where "L" is letter, for example "/dev/sdb"
- "/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"
Please note that existing data on such a disk may be destroyed, depending on how it is used in the emulator.Note "/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.
These disks must not be formatted by the host OS.
Example:
set PKA container[0]="/dev/disk/by-id/ata-ST1000DM003-9YN162_S1D01QJ4"
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.
Example:
set PKA container[0]="/dev/sdc1"
.
...
- "/dev/dm-<N>"
- "/dev/mapper/mpath<N>"
- "/dev/mapper/disk<N>"
Be careful not to destroy all the information from the disk dedicated to CHARON-AXP by mistake.These disks must not be formatted by the host OS.
Example:
set PKA container[100]="/dev/dm-0"
.
...
"/dev/loop<N>"
Example:
set PKA container[200]="/dev/loop0" |
...
"/dev/sg<N>"
Example:set PKA container[300]="/dev/sg0"
.
...
- "/dev/sr<N>"
- "/dev/cdrom"
"/dev/cdrom<N>"
Example:set PKA container[400]="/dev/sr0"
.
...
- [<drive>":\"<path-name>"\"]<file-name>[".iso"]
Mapping may also include the full path (recommended), for example: "/my_disks/vms_distributive.iso"Example:
set PKA container[600]="/my_disks/vms_distributive.iso"
.
...
- [<drive>":\"<path-name>"\"]<file-name>[".vdisk"]
These files can be created from scratch with "mkdskcmd" utility. Data and OS disk backups are transferred from the original system via tapes or network and restored into these container files.Mapping may also include the full path, for example: "/my_disks/my_boot_disk.vdisk"
Example:
set PKA container[401]="my_dka401.vdisk"
.
...
These files are created automatically.
Mapping may also include a full path (recommended), for example: "/my_tapes/backup.vtape"
Warning |
---|
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:
|
Example:
set PKA container[500]="my_mka500.vtape" |
How the Emulator Maps Guest-OS Operations to the Virtual Tape Drive
Guest-OS operations | Emulator Action |
---|---|
Open device for reading | Create a container file if none exists. open for reading and lock container file |
Open device for writing | Create a container file if necessary; open for writing and lock the container file |
Unload (eject) tape from drive | Close a container file if open and unlock it - this allows copy/move/delete operations on CHARON host |
...
The container file associated with a virtual tape drive can be compared to the tape cartridge used in a physical tape drive. Both store the data written to the tape device by the guest OS.
The size of virtual tape container files is limited only by space available in the emulator host file system.
Prerequisite to the examples below: a virtual tape device has been configured in the CHARON configuration file and it is not in use by the guest OS.
To perform backup:
- The tape device may be issued the "unload" command and the container-file moved/deleted to insure proper status
- Initialize the tape device using standard guest OS procedure.
- Perform backup.
- Issue "unload" command to the tape device in the guest OS.
- On the emulator host, move the *.vtape container file containing backup data for storage or further backup.
To restore from a backup:
...
CHARON does not support muti-volume backup for tape images. If some mutli-volume set (in form of tape images) has to be restored it is recommended to configure several tape drives in CHARON configuration file, assign each tape image to each tape drive and use them in the following way (OpenVMS example):
$ BACKUP MKA100:BACKUP.BCK,MKA200,MKA300,MKA4000/SAVE_SET DKA0:... |
This parameter is initially not set, thus creating NO storage elements on the controller.
media_type
...
media_type[N]
N is "XXYY" number, where:
- XX - SCSI ID (0..15)
- YY - LUN (00..07)
...
Text String
...
Instructs CHARON-AXP to use the supplied value as the PRODUCT field in the SCSI INQUIRY data returned to a software running on virtual HP Alpha system in response to SCSI INQUIRY command.
If not specified, CHARON-AXP attempts to guess the SCSI INQUIRY data based on virtual SCSI device type and underlying container (which is specified in the corresponding container configuration parameter).
Initially is not specified.
Example:
set PKA media_type[0]="HSZ70" |
removable
...
removable[N]
N is "XXYY" number, where:
- XX - SCSI ID (0..15)
- YY - LUN (00..07)
...
When set to "true", the removable configuration parameter instructs CHARON-AXP to report the corresponding virtual SCSI device as removable.
By default the removable configuration parameter is set to "false".
Example:
set PKA removable[400]=true |
Note that virtual SCSI tapes and CD-ROM devices are always reported as removable regardless of the "removable" configuration parameter.
geometry
...
geometry[N]
N is "XXYY" number, where:
- XX - SCSI ID (0..15)
- YY - LUN (00..07)
...
Text String
...
This formatted string value specifies the explicit geometry of the disk storage element. This parameter is not applicable to tape storage elements.
The string format is <X>”/”<Y>[“/”<Z>] or <X>”,”<Y>[“,”<Z>][“,”<B>] where:
Parameter | Description |
---|---|
X | The number of sectors per track |
Y | The number of tracks per cylinder |
Z | 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. This is an optional parameter. |
B | The total size of the disk (in blocks) reported to the guest OS. If omitted it is calculated automatically. This is an optional parameter. |
If this parameter is not set, CHARON-AXP will configure the geometry based on the most probable disk type.
Initially not set.
...
It is possiblle to specify each parameter independently of another one. The following syntax is used for that:
set PKA geometry[300]="*,*,*,16777210" |
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:
"<image-size>[, <early-warning-zone-size>]" |
where:
Parameter | Description |
---|---|
image-size | The tape size in MB |
early-warning-zone-size | The size (in KB) of the space left on the tape when a warning to the OS is issued. If omitted, 64K is assumed. |
Example:
set PKA geometry[603] = "255/255" |
use_io_file_buffering
...
use_io_file_buffering[N]
N is "XXYY" number, where:
- XX - SCSI ID (0..15)
- YY - LUN (00..07)
...
When set to "true", instructs CHARON-AXP to enable host operating system I/O cache on reading/writing operations.
Note that this caching has a significant effect only in case of mapping to disk and tape containers, not physcial 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:
set PKA use_io_file_buffering[603]=true |
io_queue_depth
...
io_queue_depth[N]
N is "XXYY" number, where:
- XX - SCSI ID (0..15)
- YY - LUN (00..07)
...
Specifies KZPBA I/O requests (read or write) for a given unit in a range 2..128
Setting this parameter enables KZPBA instance to run up-to the specifiied numbers of I/O requests (read or write) for unit N in parallel, thus improving the performance.
The default value set by controller is optimal for most of the cases. It may be needed to enlarge this number if guest OS I/O queue for a certain unit contains too much pending entries. In this case the value should be equal to an average size of the queue, collected statistically.
Please do not set this parameter without clear understanding the purpose.
By default parallel execution of I/O requests is disabled.
Example:
set PKA io_queue_depth[603]=4 |
min_n_of_threads
...
min_n_of_threads
...
Instructs KZPBA I/O to reserve a given number of working threads in a range 1..64, thus improving the performance.
All units of KZPBA instance share the I/O threads.
The default value is equal to number of units plus 2.
For optimization it is possible to set this parameter to sum of the "io_queue_depth" parameters for each unit plus 2. This assumption seems optimal for most of the cases.
Please do not set this parameter without clear understanding the purpose.
Example:
set PKA min_n_of_threads=16 |
Empty disk images are created with the "mkdskcmd" utility. Tape images ("*.vtape") will be created automatically if they don't exist (no utility needed).
CHARON-AXP is able to boot from disk images of any OpenVMS/Alpha and Tru64 version.
Info |
---|
The virtual KZPBA storage controller examines the file extension Configured physical devices or tape/disk images that do not exist on the host system will, in general, cause OpenVMS/Alpha 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. |
...
string | |||||||||||||
Value | A defined TTY port on host system:
Example:
|
---|
Include Page | ||||
---|---|---|---|---|
|
"ttyY" notation specifics
Note that the "ttyY
" notation can have different forms depending on the nature of the device used:
Mapping | Type | Commentary | ||
---|---|---|---|---|
"/dev/tty<N>" where N is from 0 to 11 | Linux virtual tty | Those tty devices must be free from the Linux "getty/mgetty" and similar programs (specified in "/etc/inittab") Example:
| ||
"/dev/ttyS<N>" where N is a number | Onboard serial lines | Example:
| ||
"/dev/tty<XXX>" where XXX is a complex letter/number notation | Proprietary (depending on a driver) devices | Example for a first port of a MOXA card:
Example for a first port of a DIGI card:
| ||
"/dev/ttyUSB<N>" where N is a number | Modem or USB serial lines adapters | Example:
|
Include Page | ||||
---|---|---|---|---|
|