Previous | Contents | Index |
A DECram disk is configured using the same utilities and DCL commands,
such as the System Generation utility (SYSGEN) and INITIALIZE, used to
configure any OpenVMS-supported disk. The following sections describe
how these utilities and commands are used somewhat differently to
configure a DECram disk.
2.1 Preparing to Configure a DECram Disk
Before creating a DECram disk, the system manager must determine the size of the disk. Each disk block allocated to a DECram device uses one pagelet of memory. See Section 2.2.2 for information on how to allocate space.
Because main memory must be allocated for the DECram disk, a substantial amount of additional memory is generally required. The amount of memory dedicated to a DECram disk is determined by the amount of memory required for a particular application and the system resources required for the DECram disk. Section 2.1.1 describes the system resources required for DECram disks.
On an OpenVMS VAX system, you can generate a DECram startup procedure to set up the disk and copy any required files to it. Usually, this procedure would be called from the system startup procedure SYS$MANAGER:SYSTARTUP_V5.COM. The DECram kit provides example procedures RAMDISK$STARTUP.COM and SCRATCHRAM$STARTUP.COM in SYS$EXAMPLES. These procedures show how to set up a DECram disk.
On an OpenVMS Alpha system, you can generate a DECram startup procedure to set up the disk and copy any required files to it. Usually, this procedure would be called from the system startup procedure SYS$MANAGER:SYSTARTUP_VMS.COM. The DECram kit provides example procedures RAMDISK$STARTUP.COM and SCRATCHRAM$STARTUP.COM in SYS$EXAMPLES. These procedures show how to set up a DECram disk.
SYS$EXAMPLES also contains DECRAM$CONFIG, which is a command procedure used to automatically create and initialize a DECram disk. Appendix A shows an example of using the DECRAM$CONFIG procedure.
Sample configuration templates for both OpenVMS VAX and OpenVMS Alpha systems are provided in Appendix A.
In most cases, creating a DECram disk on an OpenVMS VAX system requires
increasing the system
parameter SPTREQ. See Section 2.1.1 for information on modifying the
SPTREQ parameter.
2.1.1 Resource Requirements
The DECram for OpenVMS device driver is a set of routines and tables that the OpenVMS operating system uses to process an I/O request for a DECram disk device. In addition to the nonpaged pool requirements for the driver and the I/O database structures (see the OpenVMS VAX Device Support Manual), a DECram device requires additional system resources.
The DECram disk uses system memory, taken from the free list, as device storage. You specify the amount of memory required during the configuration procedure.
For an OpenVMS VAX system, a DECram disk requires one page of system space per block of disk space allocated.
For an OpenVMS Alpha system, a DECram disk requires one pagelet of system space per block of disk space allocated.
A DECram disk on an OpenVMS VAX system requires additional System Page Table Entries (SPTEs). The number of SPTEs is determined by the size of the DECram disk to be created. All SPTEs must be available contiguously or the configuration procedure will fail.
Additional SPTEs for a DECram disk can be created by increasing the size of system parameter SPTREQ. Use the following algorithm to determine the SPTREQ increase:
(Size of DECram disk in blocks + 127)/128 + 128 = SPTREQ increase
For example, the algorithm determines an SPTREQ increase of 207 is required for a DECram disk of 10,000 blocks:
((10,000+127)/128)+128 = 207
If the current value of SPTREQ is inadequate for a given disk, the system must be rebooted to allow for a larger value. Therefore, Compaq recommends that you increase the SPTREQ value to a multiple of 128. Consequently, the increase for this example should be 256; the amount of memory wasted would be negligible.
To increase SPTREQ by 256, edit the file SYS$SYSROOT:[SYSEXE]MODPARAMS.DAT and add the following line:
ADD_SPTREQ 256
You must then run AUTOGEN using the following command:
$ @SYS$UPDATE:AUTOGEN GETDATA REBOOT |
The SPTREQ value now includes the increase required for the DECram disk.
If more than one DECram disk is created, use the algorithm to determine the initial SPTREQ increase for each disk. Then increase each initial value to a multiple of 128. The sum of the individual SPTREQ increases is the total amount required to accommodate all the disks.
On an OpenVMS Alpha system, the System Page Table is dynamically expandable so no preallotment of SPTEs is required. The use of SPTEs for DECram devices on OpenVMS Alpha systems is:
SPTEs/DECram Device = (((Device Size/16384) +1) +18)
2.2 Configuring a DECram Disk
To configure a DECram disk, you must create, initialize, and mount the
device. Section 2.2.1 shows how to create a DECram disk, Section 2.2.2
shows how to initialize the disk, and Section 2.2.3 shows how to mount
the disk. The configuration template in Appendix A provides an
example of these functions.
2.2.1 Creating a DECram Disk
To create the DECram device on an OpenVMS VAX or Alpha system, use one of the following commands:
On a VAX system, use the SYSGEN command CONNECT/NOADAPTER:
SYSGEN> CONNECT ddcuu/DRIVER=MDDRIVER/NOADAPTER |
On an Alpha system, use the System Management utility (SYSMAN) command IO CONNECT ddcuu[:]
SYSMAN> IO CONNECT ddcuu:/DRIVER=SYS$MDDRIVER/NOADAPTER |
ddcuu represents the device-name.
dd
Is always MD for a disk device.c
Represents any letter A through Z.uu
Represents any 1- or 2-digit numeric value.
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 MDA0/DRIVER=MDDRIVER/NOADAPTER SYSGEN> EXIT |
Example for an OpenVMS Alpha System
$ RUN SYS$SYSTEM:SYSMAN SYSMAN> IO CONNECT MDA0:/DRIVER=SYS$MDDRIVER/NOADAPTER SYSMAN> EXIT |
The commands in these examples create the device MDA0 and connect it to the DECram driver (MDDRIVER).
See the OpenVMS System Management Utilities Reference Manual: M--Z for more information on the SYSGEN
CONNECT/NOADAPTER and the SYSMAN IO CONNECT device-name commands.
2.2.2 Allocating and Deallocating Space for a DECram Disk
A DECram disk requires one page of system space per block of disk space allocated. To allocate space for a 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.2.1).volume-label
A unique disk label./SIZE=n
The amount of memory dedicated to this device.
Note that n cannot exceed 524,280 blocks on a VAX. 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. Alpha systems for V7.0 OpenVMS releases and above do not have this restriction - the maximum size of a Ramdisk has been increased to 32Gb.
$ INITIALIZE/INDEX=BEGINNING MDA0 FASTRAMDISK /SIZE=300 |
The command in this example initializes the device MDA0 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.
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.
Data on the DECram disk is lost if you reinitialize the disk. |
The following error messages can be returned for the DCL command INITIALIZE:
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: A--M for more information on the INITIALIZE command.
2.2.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 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. |
To mount a DECram disk, use the following format with the DCL command MOUNT:
MOUNT/NOCACHE device-name: volume-label |
device-name
The device-name used in either the SYSGEN command CONNECT or the SYSMAN command IO CONNECT to create the device (see Section 2.2.1).volume-label
The unique disk label used in the INITIALIZE command.
$ MOUNT/NOCACHE MDA0: FASTRAMDISK |
The command in this example mounts the device MDA0. The /NOCACHE qualifier disables caching limits established at system generation time. The volume label is FASTRAMDISK.
The configuration template in Section A.1 contains an example of the MOUNT command.
Data on the DECram disk is preserved if you dismount and then mount the disk. |
See the OpenVMS System Management Utilities Reference Manual: M--Z for more information on the MOUNT command.
2.3 Determining 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 either the SYSGEN command CONNECT or the SYSMAN command IO CONNECT to create the device (see Section 2.2.1)./FULL
Displays a complete list of information about the device.
$ SHOW DEVICES MDA0 /FULL |
The command in this example determines what, if any, resources are allocated to the device MDA0.
If no resources are allocated, the system returns this response:
Disk MDA0:, device type unknown, is online, file-oriented device,shareable. 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 MDA0:, device type unknown, is online, file-oriented device,shareable. 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:
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.4 Configuring an MSCP Served DECram Disk
To configure an MSCP served DECram disk, you must create, initialize, and mount the device. Section 2.4.1 shows how to create an MSCP served DECram disk. Section 2.4.2 shows how to initialize the disk. Section 2.4.3 shows how to mount the disk. The configuration template in Section A.1 provides an example of these functions.
The capability for configuring MSCP served DECram disks is only
supported on OpenVMS Cluster members using OpenVMS VAX Versions V5.5 or
higher, and OpenVMS Alpha Version 6.1 or higher.
2.4.1 Creating an MSCP Served DECram Disk
To create an MSCP served DECram device on an OpenVMS VAX or Alpha system, use one of the following commands:
On OpenVMS VAX, use the System Generation utilily (SYSGEN) command CONNECT/NOADAPTER as follows:
SYSGEN> CONNECT ddcuuuu/DRIVER=MDDRIVER/NOADAPTER |
On OpenVMS Alpha, use the System Management utility (SYSMAN) command IO CONNECT ddcuu[:] as follows:
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 between 1000 and 1999.
When you create a served 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 this example 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
CONNECT/NOADAPTER and the SYSMAN IO CONNECT device-name commands.
2.4.2 Allocating and Deallocating Space for an MSCP Served DECram Disk
A DECram disk requires 512 bytes of system space per block of disk space allocated. To allocate space for a DECram disk, use the following format 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.4.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.
$ INITIALIZE/INDEX=BEGINNING MDA1000 FASTRAMDISK /SIZE=300 |
The command in this example initializes the device MDA1000 with a size of 300 blocks, and places the index file for the volume's directory structure at the beginning of the volume. The volume label is FASTRAMDISK.
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 MSCP served or shadowed 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.
Data on the DECram disk is lost if you reinitialize the disk. |
The following error messages can be returned for the DCL command INITIALIZE:
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: A--M for more information on the INITIALIZE command.
2.4.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 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 use of system space. |
To mount an MSCP served DECram disk, use the following format with the DCL command MOUNT:
MOUNT/NOCACHE device-name: volume-label |
device-name
The device-name used in either the SYSGEN command CONNECT or the SYSMAN command IO CONNECT to create the device. See Section 2.4.1.volume-label
The unique disk label used in the INITIALIZE command.
$ MOUNT/NOCACHE MDA1000: FASTRAMDISK |
The command in this example mounts the device MDA1000. The /NOCACHE qualifier disables caching limits established at system generation time. The volume label is FASTRAMDISK.
The configuration template in Section A.1 contains an example of the MOUNT command.
Data on the DECram disk is preserved if you dismount and then mount the disk. |
See the OpenVMS System Management Utilities Reference Manual: M--Z for more information on the MOUNT command.
Previous | Next | Contents | Index |