It is currently Thu Mar 28, 2024 8:03 am


All times are UTC - 8 hours [ DST ]




Post new topic Reply to topic  [ 1 post ] 
Author Message
 Post subject: HOWTO: GT.M/OpenVMS Production Instance - 1: Storage
PostPosted: Sun Aug 21, 2011 5:08 pm 
User avatar

Joined: Mon Nov 01, 2010 1:39 pm
Posts: 51
Real Name: John Willis
Began Programming in MUMPS: 01 Apr 2010
HOWTO: GT.M Production Instance on OpenVMS/Alpha
Part 1: Physical Storage

In this article, we will begin to set up a production-grade instance of GT.M on OpenVMS/Alpha. This instance of GT.M will have journaling enabled, as well as having an optimized data storage configuration. We will assume that GT.M has already been installed with the defaults, and that the GTM system logicals from GTM$DIST:GTMLOGICALS.COM are defined.

Conventions
User-supplied parameters will be enclosed in brackets, i.e. <my-parameter>. Where these appear, you will be expected to replace the bracketed parameter with the appropriate values for your system.

The bracketed parameters are listed below:

Code:
<home-device>      The OpenVMS volume containing the instance user's home directory
<journal-device>   The OpenVMS volume containing the instance's journal files
<data-device>      The OpenVMS volume containing the instance's global directory and data files
<image-device>      The OpenVMS volume containing the instance's object files (*.O;*)
<instance-user>      The username of the instance user
<instance-user-name>   The name (i.e. "Test User", "Development User", or "Production User") of the instance user
<group-number>      The group number component of the instance user's UIC
<user-number>      The user number component of the instance user's UIC


Instance User

This is the user account under which the GT.M instance will be configured. Multiple instances on the same machine may be defined by setting up multiple instance users.

Physical Storage

This setup will require four storage volumes, in addition to any system and data volumes already in use on your system. Each volume may actually consist of multiple devices in a RAID set. Thus, when we refer to a storage volume, it may refer to any number or configuration of physical storage devices. Storage volumes have names like "DKA400:" or "DKC0:" in OpenVMS.

Please choose four storage volumes that are otherwise unused, as this procedure will destroy all existing data on the four volumes chosen.

Home Volume
Referred to as <home-device> in the DCL examples that follow, the home volume contains the instance user's home directory. The instance user's home directory will contain two subdirectories, one named "R" and one named "P". The "R" subdirectory ("ROUTINES") will contain the source files for any apps defined on the system, and will be writable only by SYSTEM. The "P" subdirectory ("PATCHES") will contain source code and object files for locally-generated routines and modifications. When executing MUMPS routines in this configuration, routines stored in "P" will override routines stored in "R", when both routines have the same filename.

When choosing a RAID configuration for the Home Volume, the configuration should favor fault tolerance over speed, and be optimized for sequential I/O.

For this phase of the procedure, and until otherwise specified, I will assume that you are logged into the SYSTEM account.

Let us begin by initializing and mounting the Home Volume, as shown below:

Code:
$ INITIALIZE <home-device>: GTMHOME
$ MOUNT/SYSTEM <home-device> GTMHOME


Next, we will set up the Journal Volume.

Journal Volume
Referred to as <journal-device> in the DCL examples that follow, the journal volume contains the GT.M journal files for this instance. The journal files provide increased availability for the instance by facilitating recovery when power outages or other events prevent the GT.M database files from being properly quiesced (or "run down" in GT.M parlance).

When choosing a RAID configuration for the Journal Volume, the configuration should favor fault tolerance over speed, and be optimized for sequential I/O, as journal files are only appended to, or read from beginning to end.

We will now initialize and mount the Journal Volume, as shown below:

Code:
$ INITIALIZE <journal-device>: GTMJNL
$ MOUNT/SYSTEM <journal-device> GTMJNL


Next, we will set up the Data Volume.

Data Volume
Referred to as <data-device> in the DCL examples that follow, the data volume contains the GT.M global directory and data files for this instance. This is where GT.M will store MUMPS globals, and is arguably the most important volume of all.

When choosing a RAID configuration for the Data Volume, the configuration should balance fault tolerance and speed, and be optimized for random access I/O, as GT.M data will be accessed from unpredictable positions within the data files.

Let's initialize and mount the Data Volume, as shown below:

Code:
$ INITIALIZE <data-device>: GTMDATA
$ MOUNT/SYSTEM <data-device> GTMDATA


Finally, we will set up the Image Volume.

Image Volume
Referred to as <image-device> in the DCL examples that follow, the image volume contains the GT.M object files for this instance. These are the actual binaries that will be run by the GT.M environment.

When choosing a RAID configuration for the Image Volume, the configuration should favor speed over fault tolerance, as access times for the object files will directly affect your application's load times and performance, and object files can typically be regenerated from their respective sources.

Time to initialize and mount the Image Volume, as shown below:

Code:
$ INITIALIZE <image-device>: GTMIMG
$ MOUNT/SYSTEM <image-device> GTMIMG


That's it for Part 1! Stay tuned for the next part, in which we will create the instance user's account and the necessary directories.


Top
Offline Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 1 post ] 

All times are UTC - 8 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 16 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Theme created StylerBB.net