Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The DSSI storage subsystem for the VAX 4000 Models 106, 108, 700 and 705 emulators is based on the emulation of SHAC host adapters and the ability to route SCS cluster information between data packets between the emulated SHAC host adapters of multiple nodes via separate TCP/IP links.

...

To create a cluster of DSSI interconnected CHARON-VAX systems, the DSSI hardware topology is emulated by establishing TCP/IP channels between the emulated SHAC host adapters of each CHARON-VAX system (The use of TCP/IP for the interconnects makes the cluster in principle routable in a WAN). The emulated HSD50 storage Virtual HSD50 storage controllers are then connected to every SHAC host adapter in the virtual DSSI network.

Cluster operation requires (virtual) disks that are simultaneously accessible by all CHARON-VAX nodes involved. This can be implemented for instance by using a properly configured iSCSI initiator / target structure or a fiber channel storage back-end. Disks on a multiport SCSI switch are not acceptable, as a SCSI switch does not provide true simultaneous access to multiple nodes

(info) When a tape or disk image connected to an virtual HSD50 storage 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.

Warning

The emulated DSSI subsystem has many configurable parameters when multiple nodes on a single DSSI bus are to be connected. Incorrect configuration, in particular non-identical specification of emulated HSD50 disks in the DSSI nodes, is likely to cause data corruption. It is advisable to start any field test by implementing a single node.

...

Note that VAX/VMS running on an emulated VAX 4000 model 106 or 108 node enumerates the emulated SHAC host adapters and assigns them the VMS internal names "PAA" and "PAB". It is recommended for clarity to keep the same naming scheme in the CHARON-VAX configuration file for these emulated SHAC host adapters.The SHAC emulation has

These parameters are configured with the "set" command.

A virtual SHAC has the following configuration parameters:

...

port

Parameter

...

...

Value

port[N]

N=0…7

TypeNumeric
Value

An integer value that specifies the TCP/IP port number at which the emulated SHAC host adapter listens for connections from another emulated SHAC host adapter with DSSI node id N.

Possible values are from 1024 through 32767.

Initially not set.

host

Parameter

host[N]

N=0…7

Type

Text String

Value

A string value that specifies the TCP/IP host name (and optionally the TCP/IP port number) to connect to another emulated SHAC host adapter with DSSI node id N.

The syntax for the string is “host-name[:port-no]”, with possible values for port-no in the range from 1024 through 32767.

Initially not set.

scs_node_name

Parameter

scs_node_name[N]

N=0…7

Type

Text String

Value

A string value that specifies the SCSNODENAME of the emulated storage element. The string is up to 6 characters long. Possible characters are uppercase letters A through Z , figures 0 through 9.

Initially set to an arbitrary value that is guaranteed to be unique within the running emulated VAX 4000 model 106, 108, 700 or 705 node.

scs_system_id

Parameter

scs_system_id[N]

N=0…7

...

TypeNumeric
Value

An integer value that specifies the SCSSYSTEMID of the emulated storage element.

Initially set to an arbitrary value that is guaranteed to be unique within the running emulated VAX 4000 model 106, 108, 700 or 705 node.

 

mscp_allocation_class

Parameter

mscp_allocation_class[N]

N=0…7

...

TypeNumeric
Value

An integer value that specifies the ALLOCLASS of the emulated storage element.

Possible values are from 0 through 255.

Initially set to 0 which means no allocation class assigned.

container

...

Parameter

container[N]

N=0…7

...

Character

Type

Text String

Value

A string value that specifies the container of the storage element with DSSI node id N and MSCP unit number N. This storage element might be either a (virtual) disk or tape. In VMS running on an emulated VAX 4000 model 106 or 108 node, these storage elements appear as DSSI disks (DIAN:) or DSSI (TF86) tapes (MIAN:).

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

...

  • Physical disk drives

    ...

    Description
      • "/dev/

    ...

      • sd<L>", where

    ...

      • L is letter
      • "/dev

    ...

    This parameter is initially not set, thus creating NO storage elements on the bus with corresponding DSSI node id.

    ...

    media_type[N]

    N=0…7

    ...

    Text String

    ...

    Overrides default (automatically determined) MSCP media type of the device.

    Syntax:

    "<device-name>,<device-type>"

    where:

    • <device-name> is one of “DU”, “MU”, “DK”, “MK”, “SCSI”, “DI”, “MI”, “DSSI”, “DJ”, “MJ”

    • <device-type> is of the form “LLD” or “LLLD”, where “L” is letter from A through Z, and “D” is decimal number from 0 through 99

    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 [N]

    N=0…7

    ...

    Text String

    ...

    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.storage elements.

    The string format is <X>”/”<Y>[“/”<Z>] where:

    1. X is number of sectors on track

    2. Y is number of tracks on cylinder

    3. Z (optional) is 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

    If this parameter is not set, CHARON-VAX will configure the geometry based on the most probable disk type.

    Initially not set.

    The syntax 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> is the tape size in MB

    • <early-warning-zone-size> is a size (in KB) of a space left on the tape when a warning to the OS is issued. If omitted, 64K is assumed.

    ...

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

        Note

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

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

        .

    • Physical tape drives

      • "/dev/sg<X>", where X is 0, 1, …
        .
    • Floppy drives
      • "/dev/fd<X>", where X is 0, 1, …
        .
    • CD-ROM drives (read-only)
      • "/dev/cdrom<X>" or
      • ("/dev/sr<X>"), where X is 0, 1, …
        .
    • Multipath disks
      • "/dev/dm-<N>"
      • "/dev/mapper/mpath<N>"
      • "/dev/mapper/disk<N>"
        .
    • CHARON-VAX disk images
      • [<path-name>"/"]<file-name>[".vdisk"]
        .
    • CHARON-VAX tape images
      • [<path-name>"/"]<file-name>".vtape"
        .

    This parameter is initially not set, thus creating NO storage elements on the bus with corresponding DSSI node id.

    media_type

    Parameter

    media_type[N]

    N=0…7

    Type

    Text String

    Value

    Overrides default (automatically determined) MSCP media type of the device.

    Syntax:

    "<device-name>,<device-type>"

    where:

    • <device-name> is one of “DU”, “MU”, “DK”, “MK”, “SCSI”, “DI”, “MI”, “DSSI”, “DJ”, “MJ”

    • <device-type> is of the form “LLD” or “LLLD”, where “L” is letter from A through Z, and “D” is decimal number from 0 through 99

    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

    ...

    Mapping

    ...

    Description

    ...

    Parameter

    geometry [N]

    N=0…7

    ...

    Boolean

    ...

    Enables use of host OS I/O buffering.

    Initially set to “NO” (buffering disabled).

    These parameters are configured with the "set" command.
     

    Example of a Standalone VAX system with 2 disks on a PAA SHAC controller:

    set session hw_model="VAX_4000_Model_108"
    set session log="example1.log"
    set toy container="example1.dat"
    set rom container="example1.rom"

    load operator_console OPA0

    set PAA container[0]="/charon/disks/dia0-rz24-vms-v6.2.vdisk"
    set PAA container[1]="/charon/disks/dia1-rz24-vms-v6.2.vdisk"

    The emulated VAX 4000 model 106 or 108 can then boot VMS with the following command:

    >>> BOOT DIA0

    After logging into VMS, the “SHOW DEVICE” command displays the following:

    $ show devices d

    Device                 Device           Error   Volume         Free  Trans Mnt
      Name                  Status           Count    Label        Blocks Count Cnt
    004200$DIA0:           Mounted              0   DSSI01         32022   147   1
    004201$DIA1:           Online               0

     

    Back to Table of Contents

    HSD50 storage controller

    To connect a storage controller to the virtual DSSI network, the CHARON-VAX configuration file must load at least one emulated HSD50 storage controller. In most cases one emulated HSD50 storage controller per virtual DSSI network is enough. The CHARON-VAX configuration file must supply a unique reference name for that instance. Even though this name is only valid within the configuration file, it is recommended for clarity to use the VMS SCSNODENAME as the instance name.

    The line below loads an emulated HSD50 storage controller, assigns it the instance name SCSNOD and connects it to the primary built-in DSSI controller:

    load HSD50 MYDISKS dssi_host=PAA

    The HSD50 emulation has the following configuration parameters:

     

    ...

    Parameter

    ...

    Type

    ...

    Value

    ...

    dssi_host_name

    ...

    Text String

    ...

    A string value that specifies the instance name of an emulated SHAC host adapter serving the virtual DSSI network.

    If this value is not set, CHARON-VAX will try to locate the host adapter automatically. This automatic lookup works only if the CHARON-VAX configuration has exactly one instance of an emulated SHAC host adapter.

    ...

    dssi_node_id

    ...

    Numeric

    ...

    An integer value that specifies the address of an emulated HSD50 storage controller on the virtual DSSI network.

    Possible values are from 0 through 7 (initially set to 0).

    ...

    scs_node_name

    ...

    Text String

    ...

    A string value that specifies the SCSNODENAME of the emulated HSD50 storage controller.

    The string is up to 6 characters long. Possible characters are uppercase letters A through Z, figures 0 through 9.

    Initially set to the name of the emulated HSD50 controller. Therefore, the name of emulated HSD50 controller should follow the above rules.

    ...

    scs_system_id

    ...

    Numeric

    ...

    An integer value that specifies the SCSSYSTEMID of the emulated HSD50 storage controller.

    Initially set to an arbitrary value that is guaranteed to be unique within the running emulated VAX 4000 model 106, 108, 700 and 705 node.

    ...

    mscp_allocation_class

    ...

    Numeric

    ...

    An integer value that specifies the ALLOCLASS of the emulated HSD50 storage controller.

    Possible values are from 0 through 255 (initially set to 0).

    ...

    container[N]

    N=0…9999

    ...

    Character

    A string value that specifies the container of the storage element with MSCP unit number N. This storage element might be either a (virtual) disk or tape. In VMS running on an emulated VAX 4000 node, these storage elements appear as HSX00 disks (DUAN:) or HST00 tapes (MUAN:).

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

    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.storage elements.

    The string format is <X>”/”<Y>[“/”<Z>] where:

    1. X is number of sectors on track

    2. Y is number of tracks on cylinder

    3. Z (optional) is 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

    If this parameter is not set, CHARON-VAX will configure the geometry based on the most probable disk type.

    Initially not set.

    The syntax 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> is the tape size in MB

    • <early-warning-zone-size> is a size (in KB) of a space left on the tape when a warning to the OS is issued. If omitted, 64K is assumed.

    use_io_file_buffering

    Parameter

    use_io_file_buffering[N]

    N=0…7

    TypeBoolean
    Value

    Enables use of host OS I/O buffering.

    Initially set to “NO” (buffering disabled).

    ...


    Example

    Standalone VAX system with 2 virtual DSSI disks on a PAA SHAC controller:

     

    set session hw_model="VAX_4000_Model_108"

    load operator_console OPA0

    set PAA container[0]="/charon/disks/dia0-rz24-vms-v6.2.vdisk"
    set PAA container[1]="/charon/disks/dia1-rz24-vms-v6.2.vdisk"

    The emulated VAX 4000 model 106 or 108 can then boot VMS with the following command:

    >>> BOOT DIA0

    After logging into VMS, the “SHOW DEVICE” command displays the following:

    $ show devices d

    Device                 Device           Error   Volume         Free  Trans Mnt
      Name                  Status           Count    Label        Blocks Count Cnt
    004200$DIA0:           Mounted              0   DSSI01         32022   147   1
    004201$DIA1:           Online               0

     

    Back to Table of Contents

    HSD50 storage controller

    To connect a storage controller to the virtual DSSI network, the CHARON-VAX configuration file must load at least one emulated HSD50 storage controller. In most cases one emulated HSD50 storage controller per virtual DSSI network is enough. The CHARON-VAX configuration file must supply a unique reference name for that instance. Even though this name is only valid within the configuration file, it is recommended for clarity to use the VMS SCSNODENAME as the instance name.

    The line below loads an emulated HSD50 storage controller, assigns it the instance name SCSNOD and connects it to the primary built-in DSSI controller:

     

    load HSD50 MYDISKS dssi_host=PAA

    The HSD50 emulation has the following configuration parameters:

    dssi_host

    Parameter

    dssi_host

    Type

    Text String

    Value

    A string value that specifies the instance name of an emulated SHAC host adapter serving the virtual DSSI network.

    If this value is not set, CHARON-VAX will try to locate the host adapter automatically. This automatic lookup works only if the CHARON-VAX configuration has exactly one instance of an emulated SHAC host adapter.

    dssi_node_id

    Parameter

    dssi_node_id

    Type

    Numeric

    Value

    An integer value that specifies the address of an emulated HSD50 storage controller on the virtual DSSI network.

    Possible values are from 0 through 7 (initially set to 0).

    scs_node_name

    Parameterscs_node_name
    Type

    Text String

    Value

    A string value that specifies the SCSNODENAME of the emulated HSD50 storage controller.

    The string is up to 6 characters long. Possible characters are uppercase letters A through Z, figures 0 through 9.

    Initially set to the name of the emulated HSD50 controller. Therefore, the name of emulated HSD50 controller should follow the above rules.

    scs_system_id

    Parameterscs_system_id
    TypeNumeric
    Value

    An integer value that specifies the SCSSYSTEMID of the emulated HSD50 storage controller.

    Initially set to an arbitrary value that is guaranteed to be unique within the running emulated VAX 4000 model 106, 108, 700 and 705 node.

    mscp_allocation_class

    Parametermscp_allocation_class
    TypeNumeric
    Value

    An integer value that specifies the ALLOCLASS of the emulated HSD50 storage controller.

    Possible values are from 0 through 255 (initially set to 0).

    container

    Parameter

    container[N]

    N=0…9999

    Type

    Text String

    Value

    A string value that specifies the container of the storage element with MSCP unit number N. This storage element might be either a (virtual) disk or tape. In VMS running on an emulated VAX 4000 node, these storage elements appear as HSX00 disks (DUAN:) or HST00 tapes (MUAN:).

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

    • Physical disk drives
      • "/dev/sd<L>", where L is letter
      • "/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"

        Note

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

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

    • Physical tape drives
      • "/dev/sg<X>", where X is 0, 1, …

    ...


      • .
    • Floppy drives
      • "/dev/fd<X>", where X is 0, 1, …

    ...


      • .
    • CD-ROM drives (read-only)
      • "/dev/cdrom<X>"

    ...

      • ("/dev/sr<X>"), where X is 0, 1, …

    ...


      • .
    • Multipath disks
      • "/dev/dm-<N>"

    ...

      • "/dev/mapper/mpath<N>"

    ...

      • "/dev/mapper/disk<N>"

    ...


      • .
    • CHARON-VAX disk images
      • [<path-

    ...

      • name>"/

    ...

      • "]<file-name>[

    ...

      • ".

    ...

      • vdisk"]

    ...

      • .
    • CHARON-VAX

    ...

    • tape images
      • [<path-

    ...

      • name>"/

    ...

      • "]<file-

    ...

      • name>".

    ...

      • vtape"
        .

    This parameter is initially not set, thus creating NO storage elements on the controller

    media_type

    Parameter

    media_type[N]

    N=

    ...

    0…9999

    TypeText String
    Value

    Overrides default (automatically determined) MSCP media type of the device.

    Syntax:

    "<device-name>,<device-type>"

    where:

    • <device-name> is one of “DU”, “MU”, “DK”, “MK”, “SCSI”, “DI”, “MI”, “DSSI”, “DJ”, “MJ”

    • <device-type> is of the form “LLD” or “LLLD”, where “L” is letter from A through Z, and “D” is decimal number from 0 through 99

    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:

    1. X is number of sectors on track

    2. Y is number of tracks on cylinder

    3. Z (optional) is 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

    If this parameter is not set, CHARON-VAX will configure the geometry based on the most probable disk type.

    Initially not set.

    The syntax 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> is the tape size in MB

    • <early-warning-zone-size> is a size (in KB) of a space left on the tape when a warning to the OS is issued. If omitted, 64K is assumed.

    use_io_file_buffering

    Parameter

    use_io_file_buffering[N]

    N=0…9999

    TypeBoolean
    Value

    Enables use of host OS I/O buffering.

    Initially set to “NO” (buffering disabled).

    Example

    ...

     

    load HSD50 DISKS dssi_host=PAA dssi_node_id=5

    The configuration file below emulates a VAX 4000 Model 108 node, one HSD50 storage controller serving two disks and another instance of an HSD50 controller that serves a tape drive to the VAX over a virtual DSSI:

    set session hw_model="VAX_4000_Model_108

    ...

    "

    ...

    load operator_console OPA0

    load HSD50 DISKS dssi_host=PAA dssi_node_id=1

    set DISKS container[0]="/charon/disks/dua0-rz24-vms-v6.2.vdisk"
    set DISKS container[1]="/charon/disks/dua1-rz24-vms-v6.2.vdisk"

    load HSD50 TAPES dssi_host=PAA dssi_node_id=2

    set TAPES container[3]="/dev/sg5"

    In this example we emulate two HSD50 instances. Since they are both connected to the same virtual DSSI bus, we must assign them different DSSI node id values.

    The emulated VAX 4000 Model 108 can then boot VMS with the following command:

    >>> BOOT DUA0

    After logging into VMS, the “SHOW DEVICE” command displays the following:

    $ show devices d

    Device                 Device           Error    Volume         Free  Trans Mnt
      Name                  Status           Count     Label        Blocks Count Cnt
    DISKS$DUA0:           Mounted              0      DSSI01       31932   147   1
    DISKS$DUA1:           Online               0
    $ show devices m

    Device                 Device           Error    Volume         Free  Trans Mnt
     Name                  Status           Count     Label        Blocks Count Cnt
    TAPES$MUA3:           Online               0

    Back to Table of Contents