[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
Title: | DCLREVIEW |
|
Moderator: | HYLNDR::SYSTEM |
|
Created: | Sun Apr 19 1987 |
Last Modified: | Fri May 23 1997 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 773 |
Total number of notes: | 5391 |
770.0. "OpenVMS Snapshot Services" by MOVIES::PARSONS () Thu Apr 17 1997 11:20
Product OpenVMS Snapshot Services Version 1.0
contact name Judy Parsons
email address MOVIES::PARSONS
DTN 7-824-3318
role OpenVMS technical writer
Product Summary
OpenVMS Snapshot Services is a new product that will ship as a
SIP (Separately Integrated Product) with OpenVMS Alpha Version
7.2.
OpenVMS Snapshot Services gives you online back up for the data
stored in your Files-11 volumes. It lets you make instantaneous
virtual copies (snapshots) of your data. You can make a virtual
copy while your users are accessing and updating their data. You
can then use your existing backup tools to back up the virtual
copy online, while your users access and update the real thing.
OpenVMS Snapshot Services also gives you:
o The ability to test software on live data, for example, you
can use it to test year 2000 applications
o Online hardware upgrade (via the ability to add and remove
units from a snapshot pool)
o Ability to carve up a large disk into smaller units so that
the file system can make better use of the avaialable disk
space
For more information on OpenVMS Snapshot Services, see the
functional specification:
AVOLUB::DISK$PUBLIC02:[OFST.SCD.DOCS]FS-SNAPCAPDISK.PS
Command Summary
___________________________________________________________
New_Command_____Description________________________________
ADD /POOL Adds storage units to a snapshot pool
BIND /DISK Binds a disk in a snapshot pool to a
virtual DG device
BIND /POOL Binds a snapshot pool to a virtual DG
device
CREATE /DISK Creates a disk in a snapshot pool, either
by creating a brand new empty disk of
a specified capacity or by taking a snapshot
of an existing disk
CREATE /POOL Creates a snapshot pool on one or more
storage units
DELETE /DISK Deletes a disk from a snapshot pool
REMOVE /POOL Removes storage units from a snapshot pool
UNBIND /DISK Unbinds a disk in a snapshot pool from a
virtual DG device
UNBIND /POOL Unbinds a snapshot pool from a virtual DG
________________device_____________________________________
___________________________________________________________
Existing
Command_________Description________________________________
INITIALIZE The new /POOL qualifier initializes a
storage unit for use in a snapshot pool
MOUNT The new /POOL qualifier mounts a storage
unit for use in a snapshot pool
SET DEVICE The new /FULL_ACTION qualifier changes the
full action of a snapshot pool, and the new
/NAME qualifier changes the name of a disk
in a snapshot pool
___________________________________________________________
Syntax Description: New Commands
ADD /POOL
Adds storage units to a snapshot pool.
Requires OPER and VOLPRO privileges.
Format
ADD /POOL pool-DGdevice storage-unit[,...]
Parameters
pool-DGdevice
The pool that you want to add the storage units to.
You must have previously used the BIND /POOL command to
bind the pool to a virtual DG device on your computer. This
parameter is either the name of the device, for example,
DGP9, or a logical name that points to it.
storage-unit[,...]
The storage units that you want to add to the pool. Each
storage-unit is either the name of a device (for example,
DKA100 or DSA12) or a logical name that points to a device
name. Each unit must be initialized with the Files-11 ODS-2
file system, and must be mounted on your computer with the
/POOL qualifier.
If any of the units is already in a pool, that pool must
not be bound to a DG device on any computer in your OpenVMS
Cluster.
The maximum number of units you can have in a pool is 40.
Description
The ADD /POOL command adds one or more storage units to a
snapshot pool, increasing the number of free segments in
the pool.
Before you use the ADD /POOL command, set up each of the
storage units that you are adding as follows:
1. Initialize the unit using the INITIALIZE command with
the /POOL qualifier.
You can skip this step if the unit has already been set
up for a pool, in other words, if it already contains a
pool and you are now erasing that pool to add the unit
to a different pool.
2. Mount the unit using the MOUNT command with the /POOL
qualifier.
Example
$ADD /POOL DGP9: DKA700:
This command adds the SCSI unit DKA700 to the pool that is
currently bound to the DGP9 device.
BIND /DISK
Allows users on your computer to access a disk in a
snapshot pool by creating a virtual DG device on your
computer and binding the disk to it.
Requires OPER and VOLPRO privileges.
Format
BIND /DISK disk-DGdevice pool-DGdevice diskname
Parameters
disk-DGdevice
The DG device that you want to bind the disk to.
This parameter must have the format DGcn, where c is any
letter of the alphabet except Z and n is any integer in the
range 0 to 9999. It must not include the allocation class.
We recommend that you use the letter, c, to identify which
family the disk belongs to, and the number, n, to identify
its relationship within the family. For example, DGA1
is the founder member of family A. DGA11 and DGA12 were
created by taking snapshots of DGA1, and DGA111 was created
by taking a snapshot of DGA11.
The new device automatically inherits its allocation class
from the SD_ALLOCLASS system parameter.
The DG device must not already exist on your computer.
If the DG device already exists on another computer in your
OpenVMS Cluster, it must be bound to the same disk on that
computer. You can't bind a disk to different devices on
different computers in an OpenVMS Cluster.
pool-DGdevice
The pool that contains the disk that you want to bind.
You must have previously used the BIND /POOL command to
bind the pool to a virtual DG device on your computer. This
parameter is either the name of the device (for example,
DGP9) or a logical name that points to it.
diskname
The name of the disk that you want to bind.
Each disk in a snapshot pool has a name that is unique
within that pool. You specify the name when you create the
disk, using the CREATE /DISK command, and you can change
the name later, using the SET DEVICE command with the /NAME
qualifier.
Description
The BIND /DISK command allows users on your computer to
access a disk in a snapshot pool by creating a virtual DG
device on your computer and binding the disk to it.
The BIND /DISK command fails if the specified disk is
currently being MSCP served to your computer.
Qualifiers
/CLUSTER
/NOCLUSTER (default)
Use this qualifier if you want to bind the disk on every
computer in your OpenVMS Cluster. It effectively issues
a BIND /DISK command on every computer in your OpenVMS
Cluster.
Examples
1. $BIND /DISK DGA1: DGP9: "Judy"
This command binds the disk Judy to the DGA1 device
on the local computer. Judy is in the pool that is
currently bound to DGP9. The command uses quotes to
stop the name, Judy, being converted to uppercase.
2. $BIND /DISK DGA11: DGP9: "Judy__2.10.97"
This command binds the disk Judy__2.10.97 to the DGA11
device on the local computer.Judy__2.10.97 is in the
pool that is currently bound to DGP9. The command uses
quotes to stop the name, Judy__2.10.97, being converted
to uppercase.
BIND /POOL
Allows users on your computer to access a snapshot pool by
creating a virtual DG device on your computer and binding
the pool to it.
Requires OPER and VOLPRO privileges.
Format
BIND /POOL pool-DGdevice storage-unit[,...]
Parameters
pool-DGdevice
The DG device that you want to bind the pool to. This
parameter must have the format DGcn, where c is any letter
of the alphabet except Z and n is any integer in the range
0 to 9999. It must not include the allocation class. We
recommend that you use the letter P for all of your pools,
so that you can easily identify them when you use the SHOW
DEVICES command.
The new device automatically inherits its allocation class
from the SD_ALLOCLASS system parameter.
The DG device must not already exist on your computer.
If the DG device already exists on another computer in your
OpenVMS Cluster, it must be bound to the same pool on that
computer. You can't bind a pool to different devices on
different computers in an OpenVMS Cluster.
storage-unit[,...]
The storage units that are in the pool that you want to
bind.
Each storage-unit is either the name of a device (for
example, DKA100 or DSA12) or a logical name that points
to a device name. Every storage unit in the pool must
be mounted on your computer with the /POOL qualifier,
including any units not listed here.
Description
The BIND /POOL command creates a new virtual DG device on
your computer and binds a snapshot pool to it, allowing
users on your computer to:
o Create a new disk in the pool, using the CREATE /DISK
command
o Bind an existing disk in the pool, using the BIND /DISK
command
o Delete a disk from the pool, using the DELETE /DISK
command
o Add a unit to and remove a unit from the pool, using the
ADD /POOL and REMOVE /POOL commands
Snapshots must be enabled on your computer; the value of
the SD_ALLOCLASS system parameter must be non-zero.
Qualifiers
/AUTOMATIC
/NOAUTOMATIC (default)
By default, the BIND /POOL command fails if the second
parameter does not list all of the storage units in the
pool.
If you use the /AUTOMATIC qualifier, the BIND /POOL command
reads the first unit in the list to find out the device
names of the other storage units in the pool.
If the device name of any storage unit in the pool has
changed since the pool was last bound, you must use the
/NOAUTOMATIC qualifier (the default) and list the device
names of all the storage units in the pool.
/CLUSTER
/NOCLUSTER (default)
Use this qualifier if you want to bind the pool on every
computer in your OpenVMS Cluster. It effectively issues
a BIND /POOL command on every computer in your OpenVMS
Cluster.
Examples
1. $BIND /POOL DGP4: DSA41:, DSA42:
This command binds a pool to the DGP4 device on the
local computer. The pool is made up of two shadow sets,
DSA41 and DSA42.
2. $BIND /POOL DGP9: DKA200: /AUTOMATIC
This command binds a pool to the DGP9 device on the
local computer. The pool is made up of three SCSI disks,
DKA100, DKA200, and DKA300, but only one of these device
names is specified on the command line. The /AUTOMATIC
qualifier makes the command read that unit to find out
the other two device names.
CREATE /DISK
Creates a disk in a snapshot pool. You can either use the
/CAPACITY qualifier to create a brand new empty disk of a
specified capacity, or you can use the /SNAPSHOT qualifier
to take a snapshot of an existing disk in the pool.
Requires OPER and VOLPRO privileges.
Format
CREATE /DISK pool-DGdevice diskname
Parameter
pool-DGdevice
The pool that you want to create the new disk in.
You must have previously used the BIND /POOL command to
bind the pool to a virtual DG device on your computer. This
parameter is either the name of the device, for example,
DGP9, or a logical name that points to it.
diskname
The name of the new disk.
The name can be up to 32 characters long, and can contain
any printable ASCII characters.
Description
The CREATE /DISK command creates a disk in a snapshot pool.
You can either use the /CAPACITY qualifier to create a
brand new empty disk of a specified capacity, or you
can use the /SNAPSHOT qualifier to take a snapshot of an
existing disk in the pool.
If you use the /CAPACITY qualifier, the new disk starts a
new family; it is the founder member of the family. If you
use the /SNAPSHOT qualifier, the new disk is in the same
family as the existing disk.
You can have up to 8 different families in a pool.
Use the BIND /DISK command to bind the new disk to a DG
device so that users can access it.
Qualifiers
/CAPACITY=blocks
This qualifier is compulsory if you do not use the
/SNAPSHOT qualifier. It specifies the capacity of the new
disk in blocks.
The nearest number of whole segments are allocated to the
new disk; the number of free segments in the pool decreases
by that number.
You cannot use the /CAPACITY qualifier with the /SNAPSHOT
qualifier.
/RECORD
/NORECORD (default)
This qualifier is only allowed with the /SNAPSHOT
qualifier.
This controls whether the event of taking the snapshot
is recorded, which affects what is saved when you do
incremental backups.
/SNAPSHOT=disk-DGdevice
Use this qualifier to create a new disk by taking a
snapshot of an existing disk in the pool.
You must have previously used the BIND /DISK command to
bind the existing disk to a virtual DG device on your
computer; disk-DGdevice is either the name of the device
(for example, DGA1) or a logical name that points to it.
The CREATE /DISK command creates a new disk that is a
virtual copy of this disk. It is in the same family and has
the same capacity, and to begin with it contains exactly
the same data but takes up no disk space. It only starts to
take up disk space when you make changes to either its own
contents or to the contents of the original disk.
You cannot have more than 12 members in a family.
The /SNAPSHOT qualifier is not allowed with the /CAPACITY
qualifier. When you use the /SNAPSHOT qualifier, the
capacity of the new disk is always equal to that of the
original disk.
Examples
1. $CREATE /DISK DGP9: "Judy" /CAPACITY=1000000
This command creates a brand new empty disk called Judy
in the pool that is currently bound to DGP9. The new
disk has a capacity of 1,000,000 blocks. The command
uses quote marks to stop the name, Judy, being converted
to uppercase.
2. $BIND /DISK DGA1: DGP9: "Judy"
$CREATE /DISK DGP9: "Judy__2.10.97" /SNAPSHOT=DGA1:
In this example, the CREATE /DISK command creates a disk
called Judy__2.10.97 in the pool that is currently
bound to DGP9. It creates the new disk by taking a
snapshot of the disk Judy, which is currently bound
to DGA1.
CREATE /POOL
Creates a snapshot pool on one or more storage units.
Requires OPER and VOLPRO privileges.
Format
CREATE /POOL storage-unit[,...]
Parameter
storage-unit[,...]
The storage units on which you want to create the new pool.
Each storage-unit is either the name of a device (for
example, DKA100 or DSA12) or a logical name that points
to a device name. Each unit must be initialized with the
Files-11 ODS-2 file system, and must be mounted on your
computer with the /POOL qualifier.
If any of the units is already in a pool, that pool must
not be bound to a DG device on any computer in your OpenVMS
Cluster.
The maximum number of units you can have in a pool is 40.
Description
The CREATE /POOL command creates a snapshot pool on the
specified storage units. Use the BIND /POOL command to bind
the new pool to a virtual DG device, then use the CREATE
/DISK command to create a disk in it.
Before you use the CREATE /POOL command, set up each of the
storage units as follows:
1. Initialize the unit using the INITIALIZE command with
the /POOL qualifier.
2. Mount the unit using the MOUNT command with the /POOL
qualifier.
Snapshots must be enabled on your computer; the value of
the SD_ALLOCLASS system parameter must be non-zero.
Qualifiers
/FULL_ACTION=FAIL
/FULL_ACTION=STALL (default)
This qualifier controls whether writes to the pool should
stall (the default) or fail if the pool subsequently runs
out of free segments and becomes full.
If the number of free segments drops to zero, the pool
cannot satisfy any write I/O requests that require a
segment copy operation, including requests to delete,
create and rename files. These requests are either stalled
or they are failed with the DEVICEFULL error status.
If the pool becomes full, you must increase the number of
free segments in the pool by either:
o Deleting one of the disks from the pool, using the
DELETE /DISK command
o Adding another storage unit to the pool, using the ADD
/POOL command
You can use the SET DEVICE command with the /FULL_ACTION
qualifier to change the pool's full action. Use SHOW
DEVICES /FULL to check its current setting.
/SEGMENT_SIZE=blocks
Use this qualifier to specify the segment size of the pool
in blocks. The segment size can be in the range 10 to 1,000
blocks; by default it is 64 blocks.
A segment is the smallest unit that is copied when you take
a snapshot of a disk in the pool and then update one block
of either the original disk or its snapshot.
Examples
1. $CREATE /POOL DKA100:, DKA200:, DKA300:
This command creates a pool on three SCSI disks, DKA100,
DKA200, and DKA300.
2. $CREATE /POOL DSA41:, DSA42:
This command creates a pool on two shadow sets, DSA41
and DSA42.
3. $CREATE /POOL DPA51:, DPA52:, DPA53:, DPA54:
This command creates a pool on four partitions of a RAID
5 array, DPA51, DPA52, DPA53, and DPA54.
DELETE /DISK
Deletes a disk from a snapshot pool.
Requires OPER and VOLPRO privileges.
Format
DELETE /DISK pool-DGdevice diskname
Parameter
pool-DGdevice
The pool that contains the disk that you want to delete.
You must have previously used the BIND /POOL command to
bind the pool to a virtual DG device on your computer. This
parameter is either the name of the device, for example,
DGP9, or a logical name that points to it.
diskname
The name of the disk that you want to delete.
Each disk in a snapshot pool has a name that is unique
within that pool. You specify the name when you create the
disk using the CREATE /DISK command, and you can change
the name later, using the SET DEVICE command with the /NAME
qualifier.
The disk must not be bound to a DG device on any computer
in your OpenVMS Cluster.
If the disk is the founder member of a family, it must
be the only member of the family. You cannot delete the
founder member until you have deleted all of the other
members of its family.
Description
The DELETE /DISK command deletes a disk from a snapshot
pool. It frees up the segments used by the disk that are
not shared with any other disks in its family; the number
of free segments in the pool increases by the Delfree value
of the disk you deleted.
Example
$DELETE /DISK DGP9: "Judy__2.10.97"
This command deletes the disk called Judy__2.10.97 from
the pool that is currently bound to the DGP9 device.
REMOVE /POOL
Removes storage units from a snapshot pool.
Requires OPER and VOLPRO privileges.
Format
REMOVE /POOL pool-DGdevice storage-unit[,...]
Parameter
pool-DGdevice
The pool that you want to remove the storage units from.
You must have previously used the BIND /POOL command to
bind the pool to a virtual DG device on your computer. This
parameter is either the name of the device, for example,
DGP9, or a logical name that points to it.
storage-unit[,...]
The storage units that you want to remove from the pool.
Each storage-unit is either the name of a device (for
example, DKA100 or DSA12) or a logical name that points
to a device name.
Description
The REMOVE /POOL command removes one or more storage units
from a snapshot pool. It can take some time, because it
copies all the data on the units being removed to other
units in the pool.
The REMOVE /POOL command first works out how many segments
it needs to copy, then it allocates or reserves that number
of segments on the remaining storage units so that no one
else can use them.
If your computer fails while the REMOVE /POOL command is
executing, when it reboots you may find some but not all
of the specified storage units removed from the pool. The
remove operation is atomic on a storage unit by storage
unit basis; each unit is either removed from the pool, or
it is not removed from the pool.
Example
$REMOVE /POOL DGP9: DKA700:
This command removes the unit DKA700 from the pool that is
currently bound to the DGP9 device.
UNBIND /DISK
Unbinds a disk in a snapshot pool from a virtual DG device
on your computer, stopping users on your computer from
being able to access the disk.
Requires the OPER privilege.
Format
UNBIND /DISK disk-DGdevice
Parameter
disk-DGdevice
The disk that you want to unbind.
This parameter is either the name of the virtual DG device
to which it is currently bound (for example, DGA1) or a
logical name that points to that device name.
The DG device must not be mounted on your computer or
have an I/O channel assigned to it by any process on your
computer.
Description
The UNBIND /DISK command stops users on your computer from
being able to access a disk in a snapshot pool. It unbinds
the disk from the virtual DG device on your computer and
deletes the DG device on your computer.
Example
$UNBIND /DISK DGA1:
This command unbinds the disk currently bound to DGA1,
stopping users on the local computer from accessing the
disk.
UNBIND /POOL
Unbinds a snapshot pool from a virtual DG device on your
computer.
Requires the OPER privilege.
Format
UNBIND /POOL pool-DGdevice
Parameter
pool-DGdevice
The pool that you want to unbind. This parameter is either
the name of the virtual DG device to which it is currently
bound (for example, DGP9) or a logical name that points to
that device name.
Description
The UNBIND /POOL command unbinds a snapshot pool from a
virtual DG device on your computer. It stops users on your
computer from being able to:
o Create a new disk in the pool, using the CREATE /DISK
command
o Bind an existing disk in the pool, using the BIND /DISK
command
o Delete a disk from the pool, using the DELETE /DISK
command
o Add a unit to or remove a unit from the pool, using the
ADD /POOL and REMOVE /POOL commands
The UNBIND /POOL command deletes the DG device on your
computer. It fails if any disk in the pool is currently
bound on any computer in your OpenVMS Cluster.
When the pool is unbound, you can dismount its storage
units, using the DISMOUNT command.
Example
$UNBIND /POOL DGP9:
This command unbinds the pool currently bound to DGP9 on
the local computer.
Syntax Description: New Qualifiers for Existing Commands
INITIALIZE
Qualifiers
/POOL
Requires the VOLPRO privilege.
Use this qualifier if you want to create a snapshot pool
on the specified device. It is shorthand for the following
six qualifiers, which you need to use when you initialize a
unit for use in a snapshot pool:
/HOMEBLOCKS=CONTIGUOUS
/INDEX=BEGINNING
/MAXIMUM_FILES=12
/NOHIGHWATER
/STRUCTURE_LEVEL=2
/SYSTEM
The /POOL qualifier saves you having to type these six
qualifiers.
Example
1. $ INITIALIZE DKA100: VOL1 /POOL
This command initializes a unit for use in a pool.
MOUNT
Qualifiers
/POOL
Requires the OPER privilege.
This qualifier prepares a volume for use in a snapshot
pool.
Example
1. $ MOUNT DKA100: VOL1 /POOL
This command mounts a unit that is in a snapshot pool.
SET DEVICE
Qualifiers
/FULL_ACTION=FAIL
/FULL_ACTION=STALL
Requires OPER and VOLPRO privileges.
This qualifier applies only to snapshot pool virtual DG
devices. It controls whether writes to the pool should
stall or fail if the pool subsequently runs out of free
segments and becomes full.
You must have previously used the BIND /POOL command to
bind the pool to a virtual DG device on your computer. The
parameter of the SET DEVICE command must be either the name
of the device (for example, DGP9) or a logical name that
points to it.
For more information, see the CREATE /POOL command's
description of the /FULL_ACTION qualifier.
/NAME=new-diskname
Requires OPER and VOLPRO privileges.
This qualifier applies only to disks in snapshot pools.
Each disk in a snapshot pool has a name that is unique
within that pool. You specify the name when you create the
disk, using the CREATE /DISK command.
This qualifier changes the name of the disk. You must have
previously used the BIND /DISK command to bind the disk to
a virtual DG device on your computer. The parameter of the
SET DEVICE command must be either the name of the device
(for example, DGA1) or a logical name that points to it.
Examples
1. $SET DEVICE DGP4: /FULL_ACTION=FAIL
This command sets the full action to Fail for the
snapshot pool that is currently bound to the DGP4
device.
2. $SET DEVICE DGA1: /NAME="Judy Parsons"
This command changes the name of a disk in a snapshot
pool. It changes the name of the disk that is currently
bound to DGA1. It uses quote marks to stop the new name,
Judy Parsons, being converted to uppercase.
T.R | Title | User | Personal Name | Date | Lines |
---|
770.1 | | TLE::REAGAN | All of this chaos makes perfect sense | Wed Apr 23 1997 16:15 | 49 |
| Sorry, I haven't gotten around to this until now. It got buried on
my desk.
1) Technically, you say the following are "new commands", but really
they are additions to existing commands, yes?
CREATE /DISK Creates a disk in a snapshot pool, either
by creating a brand new empty disk of
a specified capacity or by taking a snapshot
of an existing disk
CREATE /POOL Creates a snapshot pool on one or more
storage units
DELETE /DISK Deletes a disk from a snapshot pool
2) Ah, the dreaded "Snapshot" word. This word has been used several
times since the early years of VMS along with "checkpoint". I don't
have any particular comment other than "good luck trying to overcome
the years of mythical meaning to 'snapshot' with OpenVMS".
3) This just screams for a single management tool to do the various
jobs. It seems odd to me to have a top-level DCL command like ADD
(I know, I'm usually arguing in the other direction), etc.
Given the complex set of operations that a system manager will have
to do (bind things, add things, create things, init things, etc.),
it seems to me that you will always be doing many of these commands
at the same time. Also since only a privileged system manager/operator
will do them, grouping them into a single entity like we have for
managing DFS disks or LAT services or system management functions
(ie, SYSMAN) seems more reasonable to me than a whole bunch of
"independent" DCL commands.
4) /FULL_ACTION. That caught me off guard. I couldn't even guess
what you meant by it until I read the words. How about something
like SET AUDIT's /FAILURE_MODE? That is a similar concept about
what to do when some resource is exhausted. It has CRASH, IGNORE,
and WAIT. Perhaps you can have /FAILURE_MODE=(ERROR|WAIT)?
Besides that, I don't really have a problem with the rest of the DCL.
Without reading the functional spec, I think the multiple concepts
presented here might be confusing without some "master" administrator
utility that might prompt you along and present a visualization of
what you are doing.
-John
|
770.2 | OpenVMS Snapshot Services | MOVIES::PARSONS | | Mon Apr 28 1997 08:40 | 117 |
| Hi John,
Well I never got to see you when I was in ZK two weeks ago - sorry.
The week just rushed by; it was a crazy blurr of meetings! Maybe next
time...
Thanks for your comments. My comments are marked >>
Judy
Sorry, I haven't gotten around to this until now. It got buried on
my desk.
1) Technically, you say the following are "new commands", but really
they are additions to existing commands, yes?
>> Yes, you're quite right. The three commands you list below are not
>> really new commands - well it depends on how you define "new
>> command". What I meant was that they will be presented to
>> customers as separate commands in the documentation in the same way
>> that CREATE /DIRECTORY is presented as a different command from
>> CREATE, and SET HOST /DTE is presented as a different command from
>> SET HOST, and INITIALIZE /QUEUE is presented as a different command
>> from INITIALIZE.
CREATE /DISK Creates a disk in a snapshot pool, either
by creating a brand new empty disk of
a specified capacity or by taking a snapshot
of an existing disk
CREATE /POOL Creates a snapshot pool on one or more
storage units
DELETE /DISK Deletes a disk from a snapshot pool
2) Ah, the dreaded "Snapshot" word. This word has been used several
times since the early years of VMS along with "checkpoint". I don't
have any particular comment other than "good luck trying to overcome
the years of mythical meaning to 'snapshot' with OpenVMS".
>> Product management are very keen on the word snapshot because
>> that's what everyone else is in the world is calling this
>> technolgy. I've already pointed out to them that in OpenVMS this
>> word has already been ascribed other meanings. I must say that I
>> think this is a case where we should go with the rest of the world
>> and use standard terminlogy. In other words I agree with prod
>> man, but I'll forward your comment to them.
3) This just screams for a single management tool to do the various
jobs. It seems odd to me to have a top-level DCL command like ADD
(I know, I'm usually arguing in the other direction), etc.
Given the complex set of operations that a system manager will have
to do (bind things, add things, create things, init things, etc.),
it seems to me that you will always be doing many of these commands
at the same time. Also since only a privileged system manager/operator
will do them, grouping them into a single entity like we have for
managing DFS disks or LAT services or system management functions
(ie, SYSMAN) seems more reasonable to me than a whole bunch of
"independent" DCL commands.
>> I agree and argued this case months ago, but product management
>> were very opposed on the grounds that they want this thing to
>> appear to be well integrated into OpenVMS and not like a layered
>> product (as in Spiralog or the NTDS Open Disk Services for Windows
>> NT). I will raise this with them again, but am not optimistic
>> that they will change their minds.
4) /FULL_ACTION. That caught me off guard. I couldn't even guess
what you meant by it until I read the words. How about something
like SET AUDIT's /FAILURE_MODE? That is a similar concept about
what to do when some resource is exhausted. It has CRASH, IGNORE,
and WAIT. Perhaps you can have /FAILURE_MODE=(ERROR|WAIT)?
>> I think it caught you off guard because it's something you (and
>> OpenVMS customers) have never come across before. Nothing else has
>> a feature remotely like this; this is something totally
>> alien to OpenVMS customers, and we need to make sure we teach them
>> about it well.
>>
>> /FULL_ACTION controls what happens when the new abstraction
>> called the "pool" gets full - we can either stall I/Os to the
>> disks in the "pool" or we can fail those I/Os. When the pool is
>> full it's no use deleting files (and an attempt to delete a file
>> may either stall or fail, depending on which full action you
>> chose). There are only two ways out of a pool full scenario: you
>> must either delete a whole "disk" (as in nuke a file system volume)
>> or you must add a storage unit to the pool to increase the pool's
>> capacity.
>>
>> The concept of fullness (in our case pool fullness) is a standard
>> feature of snapshot technology - when you have multiple "versions"
>> of a volume sharing the same (finite number of) disk blocks, you
>> can run out of space, although your file system says there's
>> plenty of free space. Snapshot technology introduces some strange
>> new concepts, which are the price you pay for the good things the
>> technology gives you.
>>
>> I think /FAILURE_MODE is confusing because it could be to do with
>> what happens when an underlying storage unit fails. I think
>> /FULL_ACTION will make it easier for me to describe the new
>> concepts...
Besides that, I don't really have a problem with the rest of the DCL.
Without reading the functional spec, I think the multiple concepts
presented here might be confusing without some "master" administrator
utility that might prompt you along and present a visualization of
what you are doing.
>> Funny you should mention that! ARGUS, as in OpenVMS Management
>> Station, are currently working on putting a nice visual front end
>> onto OpenVMS Snapshot Services! Meanwhile, there's the DCL, for
>> the masochists and the people who need to write command scripts.
-John
|
770.3 | | TLE::REAGAN | All of this chaos makes perfect sense | Mon Apr 28 1997 10:30 | 34 |
| >> I agree and argued this case months ago, but product management
>> were very opposed on the grounds that they want this thing to
>> appear to be well integrated into OpenVMS and not like a layered
>> product (as in Spiralog or the NTDS Open Disk Services for Windows
>> NT). I will raise this with them again, but am not optimistic
>> that they will change their minds.
Tell product managers to their job and let engineers do their job :-)
Having a separate interface doesn't mean you aren't integrated. Look
at tools like INSTALL, SYSGEN, SYSMAN, AUTHORIZE, etc. Just because
you have a single DCL verb and a sub-system doesn't mean you aren't
integrated. What would people think if we add ADD/USER as a top level
DCL command instead of being inside of AUTHORIZE? Would that make
it any more integrated? Any more useful?
>> I think it caught you off guard because it's something you (and
>> OpenVMS customers) have never come across before. Nothing else has
>> a feature remotely like this; this is something totally
>> alien to OpenVMS customers, and we need to make sure we teach them
>> about it well.
>>
Well, as I mentioned SET AUDIT has almost the exact case (at least to
me), namely, what to do when a critical resource is gone.
I suppose the word FAILURE might be scary to some people, but
when I read /FULL_ACTION, I read the word "FULL" like I do
when I see SHOW DEVICE/FULL, not the word "FULL" like you wanted
me to read it.
-John
|
770.4 | | QUARK::LIONEL | Free advice is worth every cent | Mon Apr 28 1997 12:53 | 10 |
| The big problem with tacking on various features to existing verbs is that it
makes it very confusing for customers to find all of the relevant commands.
It makes MUCH more sense for there to be one "master" command with subcommands
(and even its own help library).
I agree with John that using generic verbs such as ADD and CREATE are a bad
idea (and I don't think ADD exists - I'd object to it being created for this
purpose.)
Steve (not a DCLRB member)
|