KZPBA PCI SCSI adapter

Table of Contents

General description

KZPBA is a PCI SCSI 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.

(info) 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:

load KZPBA <name>

Example:

load KZPBA PKA


In AlphaStation 400 configuration use the following syntax for KZPBA storage adapter loading:

load KZPBA PKB irq_bus=isa

The adapter instance name ("PKA" in the example above) is used then for parametrization, for example:

set PKA container[602]="/Mydisks/vms_distributive.vdisk"

The numbers in the square brackets represent SCSI ID and LUN of the devices on the virtual KZPBA SCSI bus.

They have the following format: XXYY, where:

ParameterRangeDescription
XX0..15SCSI ID
YY00..07LUN

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

(info) 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

Parameterscsi_id
TypeNumeric
Value

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=6

host, port

Parameterhost, port
TypeText String
Value

These parameters are used in SCSI cluster configurations:

  • 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.

By default the "host" and "port" configuration options are not specified.

Syntax:

port[connection-number]=<local port> host[connection-number]="<host-name{:tcpip-port-no}>"

Where: connection-number = remote_scsi_id * 100 + lun_id

Example - 2 members cluster on the same Charon server - Node 1:

set PKA scsi_id=6
set PKA port[700]=11067 host[700]="localhost:11076"

Example - 2 members cluster on the same Charon server - Node 2:

set PKA scsi_id=7
set PKA port[600]=11076 host[600]="localhost:11067"


container

Parameter

container[N]

N is "XXYY" number, where:

  • XX - SCSI ID (0..15)
  • YY - LUN (00..07)
Type

Text String

Value

Possible values of the parameter are strings in one of the following forms:

  • Physical disk
    • "/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"
      (warning) Please note that existing data on such a disk may be destroyed, depending on how it is used in the emulator.

      "/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"

      .

  • Multipath disk
    • "/dev/dm-<N>" 
    • "/dev/mapper/mpath<N>" 
    • "/dev/mapper/disk<N>" 
      (warning) 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".
      .

  • Loop (virtual block) devices
    • "/dev/loop<N>"

      Example:
      set PKA container[200]="/dev/loop0"


  • Direct mapping to some SCSI device, for example, a SCSI disk, tape reader or tape changer
    • "/dev/sg<N>" (do not use /dev/st<N> devices, only /dev/sg<N> for tape drives)

      Example:

      set PKA container[300]="/dev/sg0"

      .

  • CD-ROM device
    • "/dev/sr<N>"
    • "/dev/cdrom" 
    • "/dev/cdrom<N>"

      Example:

      set PKA container[400]="/dev/sr0"

      .

  • ISO file for reading distribution CD-ROM image
    • [<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"

      .
  • File representing a physical disk of the HP Alpha system (disk image)
    • [<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"

    • File representing the tape (tape image)
      • [<path-name>/]<path-name>"\"]<file-name>".vtape"

        These files are created automatically. 

        Mapping may also include a full path (recommended), for example: "/my_tapes/backup.vtape" 

        If the "CHARON Guest Utilities for OpenVMS" (CHARONCP) package is used the syntax is different. Please read the corresponding chapter.

        Example:

        set PKA container[500]="my_mka500.vtape"

        How the Emulator Maps Guest-OS Operations to the Virtual Tape Drive:

        Guest-OS operationsEmulator Action
        Open device for readingCreate a container file if none exists. open for reading and lock container file
        Open device for writingCreate a container file if necessary; open for writing and lock the container file
        Unload (eject) tape from driveClose 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.

        (warning) 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:

        1. The tape device may be issued the "unload" command and the container-file moved/deleted to insure proper status 
        2. Initialize the tape device using standard guest OS procedure.
        3. Perform backup.
        4. Issue "unload" command to the tape device in the guest OS.
        5. On the emulator host, move the *.vtape container file containing backup data for storage or further backup.

        To restore from a backup:

        1. The tape device may be issued the "unload" command to insure proper status.
        2. On the emulator host, move or copy a *.vtape container file containing backup data onto the filename specified in the CHARON configuration file.
        3. Perform restore.
        4. Issue the "unload" command to the tape device in the guest OS.
        5. Delete or move the container file in preparation for the next vtape operation.

        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

Parameter

media_type[N]

N is "XXYY" number, where:

  • XX - SCSI ID (0..15)
  • YY - LUN (00..07)
Type

Text String

Value

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

Parameter

removable[N]

N is "XXYY" number, where:

  • XX - SCSI ID (0..15)
  • YY - LUN (00..07)
TypeBoolean
Value

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

(info) Note that virtual SCSI tapes and CD-ROM devices are always reported as removable regardless of the "removable" configuration parameter.


geometry

Parameter

geometry[N]

N is "XXYY" number, where:

  • XX - SCSI ID (0..15)
  • YY - LUN (00..07)
Type

Text String

Value

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:

  • X corresponds to the number of sectors per track
  • Y corresponds to the number of tracks per cylinder
  • Z corresponds to 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 corresponds to 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:

  • image-size corresponds to the tape size in MB
  • early-warning-zone-size corresponds to 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

Parameter

use_io_file_buffering[N]

N is "XXYY" number, where:

  • XX - SCSI ID (0..15)
  • YY - LUN (00..07)
TypeBoolean
Value

When set to "true", instructs CHARON-AXP to enable host operating system I/O cache on read/write operations.

(info) 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:

set PKA use_io_file_buffering[603]=true

io_queue_depth

Parameter

io_queue_depth[N]

N is "XXYY" number, where:

  • XX - SCSI ID (0..15)
  • YY - LUN (00..07)
TypeNumeric
Value

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 specified 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 of the purpose.

By default parallel execution of I/O requests is disabled.

Example:

set PKA io_queue_depth[603]=4


min_n_of_threads

Parameter

min_n_of_threads

TypeNumeric
Value

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

When a tape or disk image connected to an emulated KZPBA controller is dismounted by OpenVMS, it is disconnected from CHARON-AXP and can be manipulated. It can 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-AXP disk images while CHARON-AXP is running, please take care to minimize the risk of overloading a heavily loaded CHARON-AXP 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 ("*.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.

The virtual KZPBA storage controller examines the file extension (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 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.



© Stromasys, 1999-2024  - All the information is provided on the best effort basis, and might be changed anytime without notice. Information provided does not mean Stromasys commitment to any features described.