Content-type: text/html Man page of volsd

volsd

Section: Maintenance Commands (8)
Index Return to Main Contents
 

NAME

volsd - Perform Logical Storage Manager (LSM) operations on subdisks  

SYNOPSIS

/sbin/volsd [-Vf] [-g diskgroup] [-U usetype] [-o useopt] [-v volume] [-l offset] assoc plex subdisk...

/sbin/volsd [-Vf] [-g diskgroup] [-U usetype] [-o useopt] [-v volume] aslog plex subdisk

/sbin/volsd [-Vf] [-g diskgroup] [-U usetype] [-o useopt] [-v volume] [-p plex] dis subdisk...

/sbin/volsd [-Vf] [-g diskgroup] [-U usetype] [-o useopt] [-v volume] [-p plex] split subdisk newsd [newsd2]

/sbin/volsd [-Vf] [-g diskgroup] [-U usetype] [-o useopt] [-v volume] [-p plex] join sd1 sd2... newsd

/sbin/volsd [-Vf] [-g diskgroup] [-U usetype] [-o useopt] [-v volume] [-p plex] mv oldsd newsd


 

OPTIONS

The following options are recognized: Specify the disk group for the operation, either by disk group ID or by disk group name. By default, the disk group is chosen based on the name operands. Limit the operation to apply to this usage type. Attempts to affect volumes with a different usage type will fail. Pass in usage-type-specific options to the operation. A certain set of operations are expected to be implemented by all usage types: Reduce the system performance impact of copy operations. Copy operations are usually a set of short copy operations on small regions of the volume (normally from 16 kilobytes to 128 kilobytes). This option inserts a delay between the recovery of each such region. A specific delay can be specified with iodelay as a number of milliseconds, or a default is chosen (normally 250 milliseconds). Perform copy operations in regions with the length specified by size, which is a standard Logical Storage Manager length number (see volintro(8)). Specifying a larger number typically causes the operation to complete sooner, but with greater impact on other processes using the volume. The default I/O size is typically 32 kilobytes. Remove the subdisks after successful completion of a volsd dis operation. Remove the source subdisk after successful completion of volsd mv. Write a list of utilities that would be called from volsd, along with the arguments that would be passed. The -V performs a ``mock run'' so the utilities are not actually called. Specify the size for the subdisk split operation. This option takes a standard Logical Storage Manager length number (see volintro(8)). Specify the offset of a subdisk within a plex address space for the volsd assoc operation. This option takes a standard Logical Storage Manager length number (see volintro(8)). Require that a named plex be associated with this volume, or that a named subdisk (source subdisk for volsd split, join, and mv) be associated with a plex that is associated with this volume. Require that a named subdisk (source subdisk for volsd split, join, and mv) be associated with this plex. Force an operation that the Logical Storage Manager considers potentially dangerous or of questionable use. This permits a limited set of operations that would otherwise be disallowed. Some operations may be disallowed even with this flag.
 

DESCRIPTION

The volsd utility performs Logical Storage Manager operations on subdisks and on plex-and-subdisk combinations. The first operand is a keyword that determines the specific operation to perform. The remaining operands specify the configuration objects to which the operation is to be applied.

Each operation can be applied to only one disk group at a time, due to internal implementation constraints. Any plex or subdisk name operands will be used to determine a default disk group, according to the standard disk group selection rules described in volintro(8). A specific disk group can be selected with -g diskgroup.

These are the recognized operation keywords: Associate each named subdisk operand with the specified plex. The offset within the plex for the association can be specified with -l, which takes a standard Logical Storage Manager length number (see volintro(8)). If no offset is specified, then the default is to associate the subdisk at the end of the plex, thus extending the length of the plex by the length of the new subdisk.

A subdisk cannot be associated to overlap with an another associated subdisk in the same plex. Subdisks associated with a striped plex must all have the same length, and must be associated at offsets that are integral multiples of the subdisk lengths. A striped plex associated with a volume cannot be sparse: i.e., there can be no regions of blocks in the plex that are not mapped to a subdisk.
If the named plex is associated with a volume, then the rules for performing the operation depend upon the usage type of the volume. A subdisk cannot be associated to a plex if the putil0 field for the subdisk is not empty. Creating a subdisk with the putil0 field set to a non-empty value is a sufficient means of ensuring that no Logical Storage Manager operation will write to the region of disk blocks allocated to the subdisk because the subdisk cannot be associated through any means to a plex, and because subdisks cannot be used directly to read from or write to a disk. Associate the named subdisk with the named plex as a log area for the plex. At most one log subdisk can be associated with a plex at any one time. Log subdisks can be used only with the block change logging feature, as defined by the BLKNO volume logging type. If the named plex is associated with a volume, then the rules for performing the operation depend upon the usage type of the volume. A subdisk cannot be associated if the putil0 field is set on the subdisk, just as with volsd assoc. Dissociate each specified subdisk from the plex that it is associated with. Subdisks cannot be dissociated from striped plexes. If a subdisk is associated (through its plex) with a volume, then the rules for performing the operation depend upon the usage type of the volume.
Subdisk dissociation can be used as part of tearing down a plex, or as part of reorganization of disk space usage. Typically, the subdisk is no longer needed after dissociation. To support this type of use, -o rm can be specified to remove the named subdisks after successful dissociation. Split the subdisk subdisk into two subdisks that reside on the same section of the same device, and that have contiguous plex associations (if the named subdisk is associated). The first of the two resultant subdisks will have a length of size, and the second will take up the remainder of the space used by the original subdisk. If both newsd and newsd2 are specified, then the resultant subdisks are newsd and newsd2. If no newsd2 operand was specified, then the resultant subdisks are named subdisk and newsd.
If the named subdisk is associated with an associated plex, then the rules for performing the operation depend upon the usage type of the volume. Log subdisks and subdisks associated with striped plexes cannot be split. Join the subdisks named by the sd operands to form a new subdisk named newsd. The sd operands must specify subdisks that represent contiguous sections of the same device, and of the same plex (if they are associated). At least two sd operands are required. At the end of the operation, the sd configuration objects are removed. The newsd operand can have the same name as one of the sd operands, or it can have a different name.
If the sd operands are associated with an associated plex, then the rules for performing the operation depend upon the usage type of the volume. Subdisks associated with a striped plex cannot be joined. Move the contents of oldsd onto newsd and replace oldsd with newsd for any associations. The operation requires that oldsd be associated with an associated plex and that newsd be dissociated. The operation can be used on a subdisk that is used by an active volume, and will ensure that data is copied and associations are changed without loss or corruption of data. Subdisks associated with striped plexes cannot be moved. The rules for performing the operation depend upon the usage type of the volume.
Moving a subdisk is the normal means of reorganizing disk space. For example, move regions of disk used by one volume to another disk to reduce contention on the original disk. Typically, once the operation completes, the original subdisk is no longer needed and can be removed. To support this use of the operation, -o rm can be specified to remove oldsd after successful completion of the operation.
 

FSGEN AND GEN USAGE-TYPES

The fsgen and gen usage types provide identical semantics for all operations of the volsd utility.

If a volsd operation is interrupted by a signal, then an attempt is made to restore the disk group configuration to a state that is roughly equivalent to its original state. If this attempt is interrupted, such as through another signal, then the user may need to perform some cleanup. The specific cleanup actions that are needed are written to the standard error before volsd exits.

In addition to the standard -o options required for all usage types, the fsgen and gen usage types provide the following additional option: Force an operation that the Logical Storage Manager considers potentially dangerous or of questionable use. This applies to attempts to dissociate subdisks (making a plex sparse) and to attempts to move subdisks onto subdisks that have a different size. This flag is the same as -f.

Limitations and extensions for the fsgen and gen usage types consist of the following: If the named plex is enabled, and is associated with an enabled plex, then the named plex must ACTIVE or EMPTY. Subdisks can be associated with a non-enabled plex only if the utility state of the plex is EMPTY, STALE, or OFFLINE, or if the plex is CLEAN and no other plexes associated with the volume are CLEAN or ACTIVE.

If the subdisk is associated with a non-enabled plex, or if it is associated with the only enabled, read-write plex in a volume, then the operation completes without copying any data onto the subdisk. If the subdisk is associated with an enabled plex in a mirrored volume, then the operation may have to copy data from the volume onto the new subdisk before the operation can complete. If a log subdisk is associated with a plex that is associated with a volume that has a logging type of UNDEF, then the logging type of the volume is converted to BLKNO. Logging of volume changes is not enabled until two or more attached plexes have associated log subdisks. Dissociating a subdisk requires use of -f if it would cause an enabled plex in an enabled volume to become sparse relative to the volume. Even with -f, it is not possible to make two plexes sparse if no complete, enabled, read-write plexes would remain associated. For disabled volumes, a similar check is made with respect to ACTIVE and CLEAN plexes. The fsgen and gen usage types apply no additional restrictions and add no extensions to the split and join operations. If the size of the destination subdisk differs from that of the source subdisk, then the -f option must be specified. The operation still fails if the destination subdisk is larger than the source subdisk and if the address range of the destination would conflict with another subdisk that is associated with the plex. The destination subdisk cannot be larger than the source subdisk if the kernel state of the volume or plex is detached.
The operation fails if the destination subdisk is smaller than the source subdisk and the operation would cause the total number of complete, enabled, read-mode plexes in the volume to drop to zero, while leaving more than one sparse, enabled, read-write plex.
 

EXIT CODES

The volsd utility exits with a nonzero status if the attempted operation fails. A nonzero exit code is not a complete indicator of the problems encountered, but rather denotes the first condition that prevented further execution of the utility. See volintro(8) for a list of standard exit codes.
 

FILES

The utility that performs volmend operations for a particular volume usage type.
 

SEE ALSO

volintro(8), volplex(8), volsd(8), volume(8)


 

Index

NAME
SYNOPSIS
OPTIONS
DESCRIPTION
FSGEN AND GEN USAGE-TYPES
EXIT CODES
FILES
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 02:40:33 GMT, October 02, 2010