# DECram for OpenVMS User's Manual

Previous | Contents | Index

# 2.5 Determining MSCP Served DECram Device Resources

You can determine if resources have been allocated to a DECram disk by using the DCL command SHOW DEVICES:

    SHOW DEVICES device-name /FULL

> ### device-name

> The device-name used in the SYSGEN command CONNECT (for VAX systems only) or the SYSMAN command IO CONNECT (for Alpha systems only) to create the device. (See Section 2.4.1.)

> ### /FULL

> Displays a complete list of information about the device.

Example

    $ SHOW DEVICES MDA1000 /FULL

The command in this example determines what, if any, resources are allocated to the device MDA1000.

If no resources are allocated, the system returns this response:

    Disk MDA1000:, device type unknown, is online, file-oriented device,shareable,
    served to cluster via MSCP Server.

    Error count                    0    Operations completed             137793
    Owner process                 ""    Owner UIC                         [0,0]
    Owner process ID        00000000    Dev Prot    S:RWED,O:RWED,G:RWED,W:RWED
    Reference count                0    Default buffer size                 512

If resources are allocated, the system returns this response:

    Disk MDA1000:, device type unknown, is online, file-oriented device,shareable,.
    served to cluster via MSCP Server.
    Error count                    0    Operations completed             137815
    Owner process                 ""    Owner UIC                         [0,0]
    Owner process ID        00000000    Dev Prot    S:RWED,O:RWED,G:RWED,W:RWED
    Reference count                0    Default buffer size                 512
    Total blocks                 304    Sectors per track                     1
    Total cylinders               38    Tracks per cylinder                   8

Note that, when resources are allocated, numbers are indicated for the following:

- Total blocks
- Total cylinders
- Sectors per track
- Tracks per cylinder

Also note that the response to the SHOW DEVICES/FULL command indicates device type unknown with OpenVMS Version 5.2 and subsequent versions. The device type DT$_RAM_DISK is not currently known by the SHOW DEVICES command in OpenVMS Version 5.2 and subsequent versions.

See the OpenVMS DCL Dictionary: N--Z for more information on the SHOW DEVICES command.

# 2.6 Configuring a Host-Based Shadowed DECram Disk

To configure a host-based shadowed DECram disk, you must create and initialize the device. Section 2.6.1 shows how to create a shadowed DECram disk. Section 2.6.2 shows how to initialize the disk. Section 2.6.3 shows how to mount the disk as a host-based shadow set member. Volume Shadowing for OpenVMS provides complete information for the creation and use of host-based shadow sets.

The capability for configuring shadowed DECram disks is supported only on OpenVMS Cluster members using OpenVMS VAX Version V5.5 or higher and OpenVMS Alpha Version 6.1 or higher.

The capability for shadowing a DECram disk to a real physical or real partitioned disk is only supported on OpenVMS Alpha Version 7.1 or above.

## 2.6.1 Creating a Shadowed DECram Disk

To create a shadowed DECram device on an OpenVMS VAX or OpenVMS Alpha system, use one of the following commands:

On OpenVMS VAX, use the System Generation utilily (SYSGEN) command CONNECT/NOADAPTER:

    SYSGEN> CONNECT ddcuuuu/DRIVER=MDDRIVER/NOADAPTER

On OpenVMS Alpha, use the System Management utility (SYSMAN) command IO CONNECT ddcuu[:]

    SYSMAN> IO CONNECT ddcuu:/DRIVER=SYS$MDDRIVER/NOADAPTER

where:

ddcuuuu represents the device-name.

> ### dd

> Is always MD for a disk device.

> ### c

> Represents any letter A to Z.

> ### uuuu

> Represents a 4-digit numeric value of between 1000 and 1999, inclusive.

Note In creating a shadowed DECram device, the numeric value used in the device name must be between 1000 and 1999.

The CONNECT command creates a DECram device and loads the DECram driver. Only the I/O database structures required for the device are created by the CONNECT command.

Example for an OpenVMS VAX System

    $ RUN SYS$SYSTEM:SYSGEN
    SYSGEN> CONNECT MDA1000/DRIVER=MDDRIVER/NOADAPTER
    SYSGEN> EXIT

The commands in these examples create the device MDA1000 and connect it to the DECram driver (MDDRIVER).

See the OpenVMS System Management Utilities Reference Manual: M--Z for more information on the SYSGEN command CONNECT/NOADAPTER device-name.

## 2.6.2 Allocating and Deallocating Space for a Shadowed DECram Disk

A DECram disk requires 512 bytes of system space per block of disk space allocated. To allocate space for a shadowed DECram disk, use the following syntax for the DCL command INITIALIZE:

    $ INITIALIZE device-name volume-label /SIZE=n

> ### device-name

> The device-name used in the SYSGEN command CONNECT to create the device. See Section 2.6.1.

> ### volume-label

> A unique disk label.

> ### /SIZE=n

> The amount of memory in blocks dedicated to this device.

Note that n cannot exceed 524,280 blocks. If you need a logically contiguous device with a size greater than 524,280 blocks, you must create multiple DECram devices and bind them in a volume set.

Example

    $ INITIALIZE/INDEX=BEGINNING MDA1000 FASTRAMDISK /SIZE=300

The command in this example initializes the device MDA1000 with a size of 300 blocks. /INDEX=BEGINNING places the index file for the volume's directory structure at the beginning of the volume. The volume label is FASTRAMDISK.

On successful completion of initialization, you must execute a supplied command procedure SYS$MANAGER:DECRAM$SETSHAD to set the disk so it can be shadowed. Failure to execute this command procedure will prevent the disk from being included in a host-based shadow set created on this OpenVMS Cluster member.

Example

    $ @SYS$MANAGER:DECRAM$SETSHAD

Prior to attempting to deallocate the space used by a shadowed DECram disk, you must execute the supplied command procedure SYS$MANAGER:DECRAM$SETRAM to reset the disk so that the space can be returned to the system. Failure to use this procedure causes an error to be returned from the INITIALIZE command.

Example

    $ @SYS$MANAGER:DECRAM$SETRAM

To deallocate memory space used by a DECram disk, specify /SIZE=0 with the DCL command INITIALIZE. This command returns all the memory resources previously allocated to the DECram disk to the system.

A maximum of 31 shadowed or MSCP served DECram devices is allowed for each controller, that is, a total of 806 devices can have space allocated to them concurrently on any one server in an OpenVMS Cluster.

Note Data on the DECram disk is lost if you reinitialize the disk.

The following error messages can be returned for the DCL command INITIALIZE:

- %INIT-F-INSFSPTS, insufficient SPTEs available
  The number of SPTEs is insufficient for this disk. Increase the value of the system parameter SPTREQ.
- %INIT-F-INSFMEM, insufficient dynamic memory
  There is insufficient memory to initialize a disk of the size specified. Specify a smaller disk or add more memory.
- %INIT-F-ILLOPT, qualifier(s) not appropriate to this device
  The command procedure SYS$MANAGER:DECRAM$SETRAM has not been executed. Execute the procedure and retry the INITIALIZE command.
- %INIT-F-DUPUNIT, duplicate unit number detected by MSCP controller
  The name of the device being initialized in not unique, that is, another device with this name exists in the OpenVMS Cluster. Specify a unique name for the device in order to initialize it successfully.

See Section 2.1.1 for the amount of memory and number of SPTEs required for a DECram disk. The configuration template in Section A.1 shows the use of the INITIALIZE command.

See the OpenVMS DCL Dictionary for more information on the INITIALIZE command.

### 2.6.2.1 Initialization Failure and Recovery

If the initialization fails due to insufficient resources, you can attempt recovery by performing one or more of the following steps:

- On an OpenVMS VAX system, adjust the value of SPTREQ and run the AUTOGEN procedure. See Section 2.1.1.
- Acquire more space by deallocating other DECram disks no longer required. See Section 2.6.2.
- Create a smaller DECram disk. See Section 2.6.2.
- Increase main memory or use a node with greater memory.

Note On an OpenVMS Alpha system, an initialization error for insufficient SPTEs indicates that the dynamically expandable System Page Table has reached its maximum size. The only workaround available for this is to reduce the overall system use of system space.

## 2.6.3 Mounting a Shadowed DECram Disk - DECram to DECram

To mount a shadowed DECram disk, use the following format with the DCL command MOUNT:

    MOUNT DScuu/shadow=($n$device-name:) volume-label

> ### c

> Represents any letter A to Z.

> ### uu

> Represents any 1- or 2-digit numeric value.

> ### n

> Represents the allocation class for this OpenVMS Cluster member

> ### device-name

> The full device-name returned by SHOW DEVICE device-name used in the SYSGEN command CONNECT (for VAX systems only) or the SYSMAN command IO CONNECT (for Alpha systems only) to create the device. See Section 2.6.1.

> ### volume-label

> The unique disk label used in the INITIALIZE command.

Example

    $ MOUNT DSA0/SHADOW=($2$MDA1000:) FASTRAMDISK

The command in this example mounts the host-based shadow set DSA0 with the single member $2$MDA1000. The volume label is FASTRAMDISK.

Note Data on the shadowed DECram disk is preserved if you dismount and then mount the the host-based shadow set.

See Volume Shadowing for OpenVMS for more information on allocation class and the MOUNT command. OpenVMS System Management Utilities Reference Manual: M--Z contains additional information on the MOUNT command.

## 2.6.4 Mounting a Shadowed DECram Disk - DECram to Physical Disk or Partition

Note Check with your support organization to determine whether you have the appropriate Volume Shadowing for OpenVMS remedial kit loaded on your systems. Shadowing changes, not included in OpenVMS Version 7.2, were required to make this work. These changes are included in a remedial kit. Do not attempt to use this functionality without the remedial kit loaded on your systems.

DECram can be used to shadow real physical devices or partitions, provided there is enough physical memory available. You would do this in any situation where, in addition to data integrity, application speed and performance are also important.

For reads, the shadowing code will read from the DECram disk. Writes will be written to all devices and so will be much slower than a write to a DECram disk only. On power failure, the data is safe because it is stored on physical media.

Assuming that you have an existing shadow set that you know has more reads than writes, placing a DECram disk in the shadow set can dramatically improve overall performance.

### 2.6.4.1 Creating the DECram Disk

Use the following command to determine the total number of disk blocks your physical device (or existing DSA device) has; this is the size you must use to create your DECram disk:

    SHOW DEVICE/FULL $n$device-name:

Use the INITIALIZE command to create your DECram disk with exactly the total block number of pages. Then use the MOUNT command to add the DECram disk to the shadow set and initiate the shadow copy to the DECram disk. These commands are shown in the following example.

    $ show dev dsa640/full

    Disk DSA640:, device type MSCP served SCSI disk, is online, mounted, file-
        oriented device, shareable, available to cluster, error logging is enabled.

        Error count                    0    Operations completed               8107
        Owner process                 ""    Owner UIC                      [SYSTEM]
        Owner process ID        00000000    Dev Prot            S:RWPL,O:RWPL,G:R,W
        Reference count                1    Default buffer size                 512
    **  Total blocks             1027362    Sectors per track                    85
        Total cylinders              756    Tracks per cylinder                  16

        Volume label            "TST640"    Relative volume number                0
        Cluster size                   3    Transaction count                     1
        Free blocks              1027203    Maximum files allowed            128420
        Extend quantity                5    Mount count                           2
        Mount status              System    Cache name       "_$84$DKC200:XQPCACHE"
        Extent cache size             64    Maximum blocks in extent cache   102720
        File ID cache size            64    Blocks currently in extent cache      0
        Quota cache size               0    Maximum buffers in FCP cache       4610
        Volume owner UIC        [SYSTEM]    Vol Prot    S:RWCD,O:RWCD,G:RWCD,W:RWCD

      Volume Status:  subject to mount verification, file high-water marking, write-
          back caching enabled.
      Volume is also mounted on CSG6.

    Disk $4$DUA640:, device type MSCP served SCSI disk, is online, member of shadow
        set DSA640:, error logging is enabled.

        Error count                    0    Shadow member operation count      8126
        Host name               "HSJ50R"    Host type, avail              HSJ5, yes
        Alternate host name     "HSJ50G"    Alt. type, avail              HSJ5, yes
        Allocation class               4

    Disk $4$DUA642:, device type MSCP served SCSI disk, is online, member of shadow
        set DSA640:, error logging is enabled.

        Error count                    0    Shadow member operation count      8134
        Host name               "HSJ50R"    Host type, avail              HSJ5, yes
        Alternate host name     "HSJ50G"    Alt. type, avail              HSJ5, yes
        Allocation class               4

    $ init $84$MDA1642:/size=1027362 TST640

    $ mount/cluster dsa640/shad=$84$MDA1642: TST640
    %MOUNT-I-MOUNTED, TST640 mounted on _DSA640:
    %MOUNT-I-SHDWMEMCOPY, _$84$MDA1642: (CSG84) added to the shadow set with a copy operation
    %MOUNT-I-ISAMBR, _$4$DUA642: (HSJ50R) is a member of the shadow set
    %MOUNT-I-ISAMBR, _$4$DUA640: (HSJ50R) is a member of the shadow set

    $ show dev dsa640

    Device                  Device           Error    Volume         Free  Trans Mnt
     Name                   Status           Count     Label        Blocks Count Cnt
    DSA640:                 Mounted              0  TST640         1027203     1   5
    $4$DUA640:    (HSJ50R)  ShadowSetMember      0  (member of DSA640:)
    $4$DUA642:    (HSJ50R)  ShadowSetMember      0  (member of DSA640:)
    $84$MDA1642:   (CSG84)  ShadowCopying        0  (copy trgt DSA640:   1% copied)

    $

### 2.6.4.2 Mounting a Shadowed DECram Disk

To mount a shadowed DECram disk, use the following format with the DCL command MOUNT, using the existing shadow set device name:

    MOUNT DScuu/shadow=($n$device-name:) volume-label

> ### c

> Represents any letter A to Z.

> ### uu

> Represents any 1- or 2-digit numeric value.

> ### n

> Represents the allocation class for this OpenVMS Cluster member

> ### device-name

> The full device-name returned by SHOW DEVICE device-name used in the SYSGEN command CONNECT (for VAX systems only) or the SYSMAN command IO CONNECT (for Alpha systems only) to create the device. See Section 2.6.1.

> ### volume-label

> The unique disk label used in the INITIALIZE command.

Example

    $ MOUNT DSA0/SHADOW=($2$MDA1000:,$2$DUA546) FASTRAMDISK

The command in this example mounts the host-based shadow set DSA0 with the members $2$MDA1000 and $2$DUA546. The volume label is FASTRAMDISK.

See the Volume Shadowing for OpenVMS for more information on allocation class and the MOUNT command. OpenVMS System Management Utilities Reference Manual: M--Z contains additional information on the MOUNT command.

# 2.7 Determining Shadowed DECram Device Resources

You can determine if resources have been allocated to a DECram disk by using the DCL command SHOW DEVICES:

    SHOW DEVICES device-name /FULL

> ### device-name

> The device-name used in the SYSGEN command CONNECT (for VAX systems only) or the SYSMAN command IO CONNECT (for Alpha systems only) to create the device. See Section 2.6.1.

> ### /FULL

> Displays a complete list of information about the device.

Example

    $ SHOW DEVICES MDA1000 /FULL

The command in this example determines what, if any, resources are allocated to the device MDA1000.

If no resources are allocated, the system returns this response:

    Disk MDA1000:, device type unknown, is online, file-oriented device,shareable,
    served to cluster via MSCP Server.

    Error count                    0    Operations completed             137793
    Owner process                 ""    Owner UIC                         [0,0]
    Owner process ID        00000000    Dev Prot    S:RWED,O:RWED,G:RWED,W:RWED
    Reference count                0    Default buffer size                 512

If resources are allocated and the device is available to be a shadow set member, the system returns this response:

    Disk MDA1000:, device type (type not yet identified), is online, file-oriented
    device,shareable, served to cluster via MSCP Server.
    Error count                    0    Operations completed             137815
    Owner process                 ""    Owner UIC                         [0,0]
    Owner process ID        00000000    Dev Prot    S:RWED,O:RWED,G:RWED,W:RWED
    Reference count                0    Default buffer size                 512
    Total blocks                 304    Sectors per track                     1
    Total cylinders               38    Tracks per cylinder                   8

Note that, when resources are allocated, numbers are indicated for the following:

- Total blocks
- Total cylinders
- Sectors per track
- Tracks per cylinder

Also note that the response to the SHOW DEVICES/FULL command indicates device type unknown with OpenVMS Version 5.2 and subsequent versions. The device type DT$_RAM_DISK is not currently known by the SHOW DEVICES command in OpenVMS Version 5.2 and subsequent versions.

See the OpenVMS DCL Dictionary: N--Z for more information on the SHOW DEVICES command.

Previous | Next | Contents | Index