Skip to content
This repository
Fetching contributors…

Cannot retrieve contributors at this time

file 86 lines (75 sloc) 4.893 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
Rake scripts and ruby files to support installation and management of several
MagLev server instances.

The original project is at http://github.com/ottobehrens/gemstone-scripts

The scripts provide the following services:

* create, manage and destroy MagLev server instances
* start, stop and show status of MagLev server instances
* Manage environment variables needed for each MagLev server instance
* backup and restore MagLev repositories

By default, these scripts assume / setup / manage the following
directories:

|--------------------------------------------------+-------------------------|
| The installation directory. | $MAGLEV_HOME |
| | |
| There need be only one of these per computer. | |
| It contains the install of MagLev and GemStone. | |
| It is the source of the new extents. Many | |
| MagLev server instances share the common code | |
| here. The VM code, ruby libraries and | |
| documentation live here. | |
|--------------------------------------------------+-------------------------|
| The config directory. | $MAGLEV_HOME/etc/conf.d |
| | |
| Contains a .conf file for each MagLev server. | |
| The list of currently managed servers is | |
| derived from the .conf file names in this | |
| directory. | |
|--------------------------------------------------+-------------------------|
| Per-server repository | $MAGLEV_HOME/data |
| | |
| Each server gets a named directory under | |
| here that holds the extent and tranlogs | |
| for just that server. | |
|--------------------------------------------------+-------------------------|
| The base log directory | $MAGLEV_HOME/log |
| | |
| Each named server gets its own named directory | |
| under here for log files. | |
|--------------------------------------------------+-------------------------|
| Directory to hold lock files for all servers | $MAGLEV_HOME/locks |
|--------------------------------------------------+-------------------------|
| Directory to hold backup files for all servers | $MAGLEV_HOME/backups |
|--------------------------------------------------+-------------------------|

Many of the directories will have sub-directories or files based on the
"name" of the MagLev server.

So, for a server named "devel", we'd have:

|--------------+-------------------------------------|
| Install Dir | $MAGLEV_HOME |
|--------------+-------------------------------------|
| Config File | $MAGLEV_HOME/etc/conf.d/devel.conf |
|--------------+-------------------------------------|
| Log Dir | $MAGLEV_HOME/log/devel |
|--------------+-------------------------------------|
| Data Dir | $MAGLEV_HOME/data/devel |
|--------------+-------------------------------------|
| Extent Dir | $MAGLEV_HOME/data/devel/extent |
|--------------+-------------------------------------|
| Tranlog Dir | $MAGLEV_HOME/data/devel/tranlog |
|--------------+-------------------------------------|
| Locks Dir | $MAGLEV_HOME/locks |
|--------------+-------------------------------------|
| Backup Dir | $MAGLEV_HOME/backups |
|--------------+-------------------------------------|

The following environment variables are setup:

|------------------+---------------------------------|
| GEMSTONE | $MAGLEV_HOME/gemstone |
|------------------+---------------------------------|
| GEMSTONE_NAME | devel |
|------------------+---------------------------------|
| GEMSTONE_LOGDIR | $MAGLEV_HOME/log/gemstone/devel |
|------------------+---------------------------------|
| GEMSTONE_DATADIR | $MAGLEV_HOME/data/devel |
|------------------+---------------------------------|

Each MagLev server name represents a separate MagLev server instance.
All of these share a GemStoneInstallation (a version of the GemStone
product installed on the machine, e.g., GemStone 3.0.0 Build: 64bit-21842)
Something went wrong with that request. Please try again.