Introducing CONTIGVOL in VOLUTIL [ COMMUNICATOR 3000 MPE/iX General Release 5.0 (Core Software Release C.50.00) ] MPE/iX Communicators
COMMUNICATOR 3000 MPE/iX General Release 5.0 (Core Software Release C.50.00)
Introducing CONTIGVOL in VOLUTIL
by Rajanarayanan Subbiah
Commercial Systems Division
Product Overview
A new command, CONTIGVOL in the VOLUTIL utility, has been included in
MPE/iX Release 5.0 to help you create the required number of contiguous
free sectors on LDEV 1 for UPDATE to succeed, and also to create
contiguous free space on any specific volume. This command can be
executed only by users with CV capability.
NOTE CONTIGVOL is not meant to be used as a disk management or
defragmentation tool.
The CONTIGVOL command moves extents within the volume or outside the
specified volume (but within the volume set, volclass, or volume) subject
to the restrictions placed on the files, to which the individual extents
may belong. All the volumes in the volume set to which this volume
belongs, must be mounted and online and DSTAT must indicate that the
volumes in the volumeset are mounted in either a MEMBER or MASTER state.
CONTIGVOL can be run online, but by its very nature, may cause "out of
disk space" errors on the specified volume. When you run CONTIGVOL on
any volume in the system volume set, it is recommended that there be
minimum activity on the system. On private volumes, it is recommended
that there be minimum file creation activity on the specified volume.
\ \ \ Important Details \ Please Read If your disk is too fragmented,
CONTIGVOL may not be able to give
you the amount of free space you
need. The CONTIGVOL command does
not guarantee that the required
free space will be created.
CONTIGVOL has two modes of operation: VINIT-mode and BLOCK-mode. The
specification of the SIZE parameter ensures block-mode.
* VINIT-Mode
If no SIZE is specified, CONTIGVOL operates in this mode. All
file extents on the specified volume are then candidates to be
moved. An attempt is made to move the extents to lower sector
addresses on the same volume. This behavior is similar to the
VINIT-cond on MPE V. If the UNRESTRICTED option is specified, then
extents may be moved to other volumes in the volume set.
_________________________________________________________________
NOTE It may be necessary to run CONTIGVOL in VINIT-Mode more than
once until no more extents can be moved, to achieve better
results.
_________________________________________________________________
* BLOCK-Mode
When the SIZE parameter is specified, CONTIGVOL tries to create a
contiguous block of free space at least as large as SIZE, on the
specified volume. In this mode, extents may be moved to higher or
lower sector addresses as required. If the UNRESTRICTED option is
specified, then extents may optionally be moved to other volumes
in the volume set.
It is better to determine in advance, the exact size of the
contiguous free space required.
_________________________________________________________________
NOTE Extents belonging to open files will not be moved.
_________________________________________________________________
A different SIZE specification may result in entirely different
results in terms of size of the largest contiguous free space.
In both modes, the option TIMEOUT may be specified. This is the maximum
wall time in minutes after which CONTIGVOL should terminate. This
enables setting up jobs to be run for a specific number of minutes on a
regular basis. CONTIGVOL can be aborted interactively with a CTRL-Y, or
by a "break/Abort". A job running CONTIGVOL can be safely aborted.
Related Information
The SHOWUSAGE command in VOLUTIL can be used in conjunction with
CONTIGVOL to display the extent information on a particular volume.
SHOWUSAGE displays the sizes of free, permanent and transient sectors on
a volume.
User Interface
The parameters supported by the CONTIGVOL command in VOLUTIL are
described as follows:
Syntax
CONTIGVOL [VOL=]{[sname:] vname} [[SIZE=] sectors] [[TIMEOUT=] minutes]
{ldev }
[;TRANSIENTOK] [; UNRESTRICTED]
Parameters
The CONTIGVOL command currently takes 5 parameters.
VOL The LDEV number or the name of the volume to be
condensed. Required.
SIZE The required contiguous free space in sectors. If
this parameter is not specified, then it would try to
move all extents in the volume to lower sector
addresses much like VINIT-cond in MPE V, or to other
volumes in the volume set, based on file
restrictions, and the UNRESTRICTED option. The
specification of this parameter determines whether
the command operates in the BLOCK-mode or the
VINIT-mode.
Default: VINIT-mode, all extents are considered for
a move. Optional.
TIMEOUT The maximum wall time in minutes after which the
command should terminate. If this parameter is
omitted then the command runs to completion.
Default: No Timeout. Optional.
TRANSIENTOK Specifies that the contiguous chunk could include
transient space (valid only for volumes in the
mpexl_system_volume_set). This option is expected to
be used if CONTIGVOL is run prior to an UPDATE on
LDEV 1. Optional.
Default: No transient.
UNRESTRICTED Specifies that extents MAY be moved to other volumes
in a volume set based on file restrictions.
Default: Restricted to the same volume. Optional.
NOTE Extents will never be moved in such a way that they violate any of
the Volume_set, Volume_class, Volume restrictions placed on the
file to which they belong.
\ \ \ Important Details \ Please Read
* Only one CONTIGVOL command
can be executed at any time
on the system. A second
invocation on any volume
would wait until the
previous invocation
completes.
* Since the free space
created by executing
CONTIGVOL is not reserved
by any means, it is your
responsibility to ensure
that there is minimal file
(creation) activity on this
volume set before, during
and after (if the free
space is needed for a
specific reason) running
this command.
Examples
The following examples show the usage of the CONTIGVOL command and the
different types of results. They also demonstrate the messages displayed
under different scenarios.
Example 1.
You want to do a VINIT-cond like condense on LDEV 2, to create a large
contiguous free space.
__________________________________________________________________________________
| |
| |
| volutil: contigvol 2; |
| |
| *Verify: 863392 contiguous sectors available on ldev 2. Continue [Y/N] ?y |
| Processing Labels on Ldev 3 ...... |
| Processing Labels on Ldev 2 ...... |
| Processing Labels on Ldev 1 ...... |
| Percent Complete 20 |
| Percent Complete 40 |
| Percent Complete 60 |
| Percent Complete 80 |
| Maximum Contiguous Sectors Free 1229408 |
| |
__________________________________________________________________________________
Example 2.
You are about to do an UPDATE and need to condense LDEV 1 to create the
largest contiguous free space on LDEV 1. Extents may be moved to other
volumes.
_________________________________________________________________________________
| |
| |
| volutil: contigvol 1; unrestricted |
| *Verify: 95392 contiguous sectors available on ldev 1. Continue [Y/N] ?y |
| Processing Labels on Ldev 3 ...... |
| Processing Labels on Ldev 2 ...... |
| Processing Labels on Ldev 1 ...... |
| Percent Complete 20 |
| Percent Complete 40 |
| Percent Complete 60 |
| Percent Complete 80 |
| Maximum Contiguous Sectors Free 229408 |
| |
_________________________________________________________________________________
Example 3.
You try to create 1 million sectors of free space on LDEV 12. No extents
may be moved out of this volume. CONTIGVOL returns an error indicating
that there are less than 1 million sectors free (total) on that LDEV.
_____________________________________________________________________________________
| |
| |
| volutil: contigvol 12 1000000 |
| |
| *Error: Required Sectors must be between 1 and max free on disk. (volutil 38 |
| |
_____________________________________________________________________________________
So you try the UNRESTRICTED option, to create 1 million contiguous free
sectors on LDEV 12. Extents may be moved to other volumes in the volume
set.
___________________________________________________________________________________
| |
| |
| volutil: contigvol 12 1000000; unrestricted |
| |
| *Verify: 203808 contiguous sectors available on ldev 12. Continue [Y/N] ?y |
| Processing Labels on Ldev 14 ...... |
| Processing Labels on Ldev 13 ...... |
| Processing Labels on Ldev 12 ...... |
| |
| Number of Blocks Tried 1 |
| Number of Extents Moved 93 |
| Maximum Contiguous Sectors Free 1010352 |
| Requested Contiguous Sectors 1000000 |
| |
___________________________________________________________________________________
Example 4.
You want 150000 sectors of contiguous space on LDEV 1 which may be
comprised of transient or free space. Specify the UNRESTRICTED and
TRANSIENTOK options.
_________________________________________________________________________________
| |
| |
| volutil: contigvol 1 150000; unrestricted; transientok |
| *Verify: 20800 contiguous sectors available on ldev 1. Continue [Y/N] ?y |
| Processing Labels on Ldev 3 ...... |
| Processing Labels on Ldev 2 ...... |
| Processing Labels on Ldev 1 ...... |
| |
| Maximum Contiguous Sectors Free 20800 |
| Maximum Contiguous Sectors Free 20800 |
| Maximum Contiguous Sectors Free 33120 |
| Maximum Contiguous Sectors Free 44864 |
| Maximum Contiguous Sectors Free 36032 |
| Maximum Contiguous Sectors Free 76080 |
| Maximum Contiguous Sectors Free 160352 |
| Number of Blocks Tried 8 |
| Number of Extents Moved 133 |
| Maximum Contiguous Sectors Free 160352 |
| Requested Contiguous Sectors 150000 |
| |
_________________________________________________________________________________
MPE/iX Communicators