DECram for OpenVMS User's Manual


Previous Contents Index


Chapter 2
DECram Disk Configuration

DECram Version 3.0 is designed specifically to take advantage of some of the advanced capabilities, such as clustering and Galaxy shared memory, of the newest Alpha systems. For example, one of the major differences between Version 2.3 and Version 3.0 capabilities is that Version 3.0 moves the virtual device addressing from the S1 address into the S2 address space. This change allows for the creation and addressing of devices larger than 2.0 gigabytes (GBs). Because Version 3.0 was engineered with many new features available on AlphaServer systems, the VAX/VMS system is not able to fully utilize all of the new features found in Version 3.0. Therefore, VAX/VMS systems will continue to be supported only on Version 2.3 of DECram because they cannot use those new features. DECRAM V3.0 is fully compatible with DECRAM V2.3. There can be any combination of these two versions of DECRAM in a VMScluster.

Any Alpha-based system can be easily upgraded to DECram Version 3.0. With Version 3.0 you can use the new DECRAM command interface or continue using the same familiar commands from SYSMAN for creating, initializing, and mounting DECram disks.

In DECRAM Version 3.0, you will find that a disk is configured using the DECRAM> user interface to create and format the Random Access Memory (RAM) disk. The INITIALIZE command is then used to write the OpenVMS cluster file system to the RAM disk.

The following sections describe how these utilities and commands are used to configure a DECram disk. Where applicable, and for the sake of clarity, reference is made to both versions for issuing the commands.

2.1 Preparing to Configure a DECram Disk

Before creating a DECram disk, the system manager must determine the size of the DECram disk to be created. Each disk block allocated to a DECram device uses 516 bytes of memory. See Section 2.2.2 for information on how to allocate space. In addition, the system manager should assess the need for multiple DECram units based on application and user demands.

The system manager must allocate main memory from the system for the DECram disk. Therefore, a substantial amount of additional system memory may be required, depending on the size of files to be placed on the RAM disk. 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.

DECRAM Version 3.0 disks are created and formatted by the DECRAM> prompt and are initialized using the DCL INITIALIZE (INIT) command. If you are configuring DECram Version 3.0 or later on OpenVMS Alpha (Version 7.2-1H1 and later), you can generate a DECram startup procedure to set up the disk and copy any required files to it. Usually, this procedure is called from the system startup procedure SYS$MANAGER:SYSTARTUP_VMS.COM.

It is important to remember to check for disk errors after issuing any DECRAM command. Not all errors are returned to the user interface. Errors specific to a device are sent to the system errorlog. Type SHOW DEVICE MD at the DCL prompt to see if there were any device errors generated as a result of DECram command. You will need to use an errorlog analyzer tool to recover the error. However, the errors are logged in ASCII file format so you could search for errors with an MD-E-FAILURE prefix in the SYS$SYSROOT:[SYSERR]ERRLOG.SYS file.

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 available on the OpenVMS Documentation CD-ROM), the DECram disk uses system memory, taken from the free page list, as device storage. You can specify the amount of memory required during the configuration procedure.

On OpenVMS Alpha systems (Version 7.2-1H1 or later) running DECram Version 3.0, the only requirements are that a DECram disk must have 516 bytes of free page list per block (512 bytes) of disk space allocated.

2.2 Configuring DECram Disks

Under DECram Version 3.0, you can configure a local DECram disk using either the command procedures for DECram Version 2.3 or the new command procedures for Version 3.0 using the DECRAM> interface.

To configure a DECram disk under Version 3.0, you must perform the following tasks:

Shadowed DECram Disks

You can configure shadowed DECram disks on OpenVMS Cluster members running OpenVMS VAX Version 5.5 or later, or OpenVMS Alpha Version 6.1 or later.

The shadowing of a DECram disk to a real physical disk is strongly recommended when using OpenVMS Alpha Version 7.3 and Version 7.2-1H1. The reason for this recommendation is to avoid a loss of data during an incomplete write operation. DECram writes data a block at a time. If the system experiences a power loss or other interruption of service and the system is in the process of writing, the block write would not complete successfully and the data would be lost. There is no way to recover the block of information because DECram data is volatile. One way to protect against this condition is to shadow the DECram disk with a physical disk so that data can be saved to a non-volatile medium and be recovered.

See the Volume Shadowing for OpenVMS manual for complete information about creating and using host-based shadow sets.

2.2.1 Creating a DECram Disk

The method used to create a DECram disk depends on which version of DECram and the OpenVMS operating system you are running, as shown in Table 2-1.

Table 2-1 Creating a DECram Disk
Platform OpenVMS Version Type of Disk Support Section to Read
DECram Version 3.0 or later
VAX All versions Version 3.0 not supported Not Applicable
Alpha Version 7.21H1 and later
Versions prior to Version 7.2-1H1
Local and shared
Version 3.0 not supported
Section 2.2.1.2 Not Applicable

2.2.1.1 OpenVMS Alpha All VMS Versions to Create Local Disks

For Alpha systems running a version of OpenVMS prior to Version 7.2-1H1, you must continue to use the System Management Utility SYSMAN. However, if you upgrade to DECram Version 3.0, then you may either continue to use the SYSMAN utility or use the DECRAM> command interface.

For example: Under the DECram Version 3.0 software, you can use the DECRAM> interface by issuing the following command:

$ DECRAM CREATE DISK ddcuuuuu: /CAPACITY=blocks /MEMORY=type [/qualifier]

Or continue to use the SYSMAN command:

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

where:

ddcuuuuu: represents the device name.

dd

The device code is always MD for a disk device.

c

The controller designator can be any letter, A through Z.

uuuuu

The unit number can be any value from 0 to 32767.

Example:


$ RUN SYS$SYSTEM:SYSMAN 
SYSMAN> IO CONNECT MDA0:/DRIVER=SYS$MDDRIVER/NOADAPTER 
SYSMAN> EXIT   

The command in this example creates device MDA0 and connects it to the DECram driver (MDDRIVER).

See the OpenVMS System Management Utilities Reference Manual for more information on the SYSMAN command IO CONNECT.

2.2.1.2 OpenVMS Alpha Version 7.2-1H1 and Later: Using DECram Version 3.0 (or Later) to Create Local and Shared Disks

DECram Version 3.0 allows you to create disks that can be shared by other nodes in the cluster. Detailed information for creating local and shared disks using the CREATE command and associated qualifiers can be found in Section 2.2.2.2.

2.2.2 Allocating and Deallocating Space for a DECram Disk

Under DECram Version 3.0, there is no longer a limit on system space per block of disk space allocated.

A Galaxy configuration is required for creating a DECRAM shared disk. A stand-alone system in a Galaxy can access the shared disk but a Galaxy and a VMScluster is required to access a shared disk from multiple instances in the Galaxy or multiple ndoes in the VMScluster. Therefore, shared disks are supported only on OpenVMS Alpha Version 7.2-1H1 (or later) on systems that are capable of supporting Galaxy shared memory.

For more information on local or shared disks for DECram Version 3.0 (or later), see Section 2.2.2.2.

2.2.2.1 Allocating and Deallocating Space Using INITIALIZE

You can allocate or deallocate memory space for a local DECram disk by using the DCL command INITIALIZE:


$ INITIALIZE ddcuuuuu: volume-label /SIZE=n

where:

ddcuuuuu:

The device name used in the SYSGEN command CONNECT to create the device (see Section 2.2.1.1).

volume-label

A unique disk label up to 12 characters maximum.

/SIZE=n

The amount of memory (in blocks or 512 byte chunks) to be allocated to this device.

Restriction

On OpenVMS Alpha systems prior to Version 7.2-1H1, the n value of the /SIZE qualifier 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.

This restriction does not apply to OpenVMS Alpha Version 7.2-1H1 and later, where the maximum size of a DECram disk has been increased to 8,388,608 blocks. To exceed that size you must also create multiple DECram devices and bind them in a volume set.

Deallocating Disk Space

To deallocate memory used by a DECram disk, specify /SIZE=0 in a subsequent INITIALIZE command. This returns all memory resources to the system.

Warning

If you initialize a DECram disk, all data on the disk is lost.

Refer to the online help available through DECram or see the OpenVMS DCL Dictionary for more information on the INITIALIZE command.

Example:


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

The command in this example initializes the device MDA0 with a size of 300 blocks. The /INDEX=BEGINNING qualifier places the index file for the volume's directory structure at the beginning of the volume. The volume label is FASTRAMDISK. The following command deallocates the same disk by setting /SIZE to 0.


$ INITIALIZE MDA0 FASTRAMDISK /SIZE=0 

INITIALIZE Error Messages

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

Initialization Failure and Recovery

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

2.2.2.2 Allocating and Deallocating Space Using DECram Version 3.0 and Later

With DECram Version 3.0 and later, you can allocate space for a local DECram disk or, on OpenVMS Alpha Version 7.2-1H1 (or later), for a disk in Galaxy shared memory. Local memory is accessible only from the local node or instance. Shared memory is accessible from any Galaxy instance that attaches to the shared memory section.

To allocate space, you must have the following privileges: AUDIT, CMKRNL, SYSLCK, SYSPRV, and PHY_IO.

Enter the following command from the DCL prompt:

$ DECRAM CREATE DISK device-name /CAPACITY=blocks /MEMORY=type [/qualifier]

where:

device-name

The name of the virtual memory disk that you want to create or modify in local memory or in Galaxy shared memory.

The disk name takes the form ddcuuuuu, where dd is always MD, the controller c can be a letter from A through Z, and the disk unit number uuuuu can be any number in the range 0 through 32767 (for example, MDC256).

/CAPACITY=blocks

This required qualifier specifies the size in blocks (512 bytes=1 block) of the virtual disk to be created or modified. The capacity block limit in DECram Version 3.0 is now 8,388,608 blocks.

/MEMORY=type

This is a required qualifier with no default. You must specify the memory type as either LOCAL or SHARED. The type of memory created will depend on the type of data structures needed to support the applications and users on that system. Once you have created a specific memory type, there is overhead memory that is not deallocated when the DECram disk size is set to zero.

/[NO]ALLOCLASS=class-number

This optional qualifier specifies an allocation class to be permanently associated with the controller. This qualifier is allowed for SHARED memory type disks only. The default allocation class value is 99.

Note

Once you use /ALLOCLASS to associate a controller letter with a specific allocation class, this association remains in effect as long as the shared memory section and the MDRECOVER.DAT file both exist.

/[NO]PERSIST

This optional qualifier controls whether or not the disk is restored after a reboot. The default qualifier, if not stated, is /PERSIST.

Following are the three ways to restore a disk:

/[NO]SERVE

This optional qualifier controls whether or not disk serving is enabled for the OpenVMS Cluster system. The default qualifier, if not stated, is to /NOSERVE.

Once a disk has been specified as /SERVE, it cannot be selected as /NOSERVE. If you create disks on one node with the /NOSERVE qualifier and then try to mount that disk cluster wide with the MOUNT/CLUSTER command then the process where the MOUNT/CLUSTER command was issued will hang. A DECram disk can be changed from NOSERVE to SERVE status at any time by issuing the original DECram CREATE DISK command with the SERVE qualifier. If you intend to do a cluster-wide mount then you must create the DECram disk using the /SERVE qualifier.

A DECram disk can be changed to be served to the cluster at any time by issuing the same DECRAM CREATE DISK command with the /SERVE qualifier. It is not necessary to delete the DECram disk first. This is the only attribute that can be modified while the disk size is greater than zero.

/[NO]WRITEBUFFERED

When specified, this optional parameter helps reduce write recovery time after a power failure or system crash (default is NOWRITEBUFFERED). You can also employ other application recovery techniques and OpenVMS Volume Shadowing to reduce write recovery time after a power failure.

Note

While this parameter provides for higher levels of availability, it significantly slows down I/O to the DECram disks. This parameter is NOT currently implemented in DECram Version 3.0. It is included to make you aware that this option will be available and can be used with volume shadowing to reduce the write recovery time after an interruption of service. See Section 2.2 for more information related to this topic.

Examples:


$ DECRAM CREATE DISK MDB150 /CAPACITY=600 /MEMORY=SHARED /ALLOCLASS=5 

The command in this example creates the shared disk MDB150 with a size of 600 blocks. The shared disk controller is permanently associated with allocation class 5.

The following example deallocates the same disk by setting the /CAPACITY qualifier to 0.


$ DECram CREATE DISK MDB150 /CAPACITY=0 /MEMORY=SHARED /ALLOCLASS=5 

Warning

When deallocating, you must specify the command line qualifiers in exactly the same way shown in the example above when creating the DECram disk except with the qualifier /CAPACITY=0. If you do not do this, you will get an unsupported error message and the disk will NOT be deallocated.

In general an unsupported error message, %SYSTEM-E-UNSUPPORTED, unsupported operation or function, means that you have entered an invalid command and/or command qualifier. You should review commands and qualifiers in DECram help and then re-enter the new command and/or qualifier.

The following example initializes a RAM disk:


$ INIT MDB150 FASTRAMDISK 

2.2.2.2.1 Special Notes for Shared Disks During Allocation and Deallocation

Note

Shared disks only need to be initialized once, the first time they are created.

When a DECram shared disk is created on one instance it automatically appears on all other instances in the Galaxy if at least one shared disk has been created on each of the instances in the Galaxy. For example, if DECram was installed on each instance in the Galaxy with the shared disk option during installation then one shared disk would have been created on each node.

You cannot change the size of a shared disk while other nodes are attached to it. You must set the size of the shared disk to zero on all nodes before you can change the size of a shared disk.

DECram recovers shared disks after a power failure and attaches them to existing shared memory regions. This instantly restores DECram data that was available prior to the crash. The recovery data is located in a file called MDRECOVER.DAT and works best if this file is located on a common VMS system disk. If each node has it's own MDRECOVER.DAT file then it might not restore the same disks as other Galaxy instances. If a common system disk is not possible then it is up to the system manager to keep the multiple copies of the MDRECOVER.DAT file consistent by copying the master to all instances at SYS$COMMONH:[SYSMGR]MDRECOVER.DAT.

The DECram version 3.0 driver does not support VMS FAST IO, (i.e., the IO$_PERFORM QIO function).

2.2.3 Mounting a DECram Disk

The method for mounting a DECram disk varies, depending on whether the disk is local or shared, as follows:

2.2.4 Mounting a Local DECram Disk

You can mount a local DECram disk using the following syntax of the DCL command MOUNT:

$ MOUNT/NOCACHE device-name: volume-label

device-name

The device name used to create the device in the SYSMAN command IO CONNECT on Alpha systems or at the DECRAM> prompt by issuing the CREATE/MEM=LOCAL qualifiers (see Section 2.2.1).

volume-label

The unique disk label used in the INITIALIZE command.

Example


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

Note

Data on the DECram disk is preserved if you dismount and then mount the disk.

See the OpenVMS System Management Utilities Reference Manual for more information on the MOUNT command.


Previous Next Contents Index