Glossary

The following are LSM terms and definitions.

concatenated plex

A plex whose subdisks are associated at specific offsets within the address range of the plex, and extend in the plex address range for the length of the subdisk. This layout allows regions of one or more disks to create a plex, rather then a single big region.

description set

A set of files that are saved using the volsave(8) command and can be used to restore an LSM configuration. By default, an LSM description set is saved in a timestamped directory under the /usr/var/lsm/db directory.

disk

Disks exist as two entities:

  1. A physical disk on which all data is ultimately stored and which exhibits all the behaviors of the underlying technology.

  2. An LSM representation of disks which, while mapping one-to-one with the physical disks, are just presentations of units from which allocations of storage are made

The difference is that a physical disk presents the image of a device with a definable geometry with a definable number of cylinders, heads, and so on while the LSM disk is simply a unit of allocation with a name and a size.

disk access record

A configuration record that defines the path to a disk. Disk access records most often name a unit number. LSM uses the disk access records stored in a system to find all disks attached to the system. Disk access records do not identify particular physical disks.

Through the use of disk IDs, LSM allows you to move disks between controllers, or to different locations on a controller. When you move a disk, a different disk access record is used to access the disk, although the disk media record continues to track the actual physical disk.

On some systems, LSM builds a list of disk access records automatically, based on the list of all devices attached to the system. On these systems, it is not necessary to define disk access records explicitly. On other systems, you must define disk access records with the /sbin/voldisk define command. Specialty disks, such as RAM disks or floppy disks, are likely to require explicit /sbin/voldisk define commands.

Disk access records are identified by their disk access names (also known as DA names).

disk group

A group of disks that share a common configuration. A configuration consists of a set of records describing objects including disks, volumes, plexes, and subdisks that are associated with one particular disk group. Each disk group has an administrator-assigned name that you use to to reference that disk group. Each disk group has an internally defined unique disk group ID, which is used to differentiate two disk groups with the same administrator-assigned name.

Disk groups provide a method to partition the configuration database, so that the database size is not too large and so that database modifications do not affect too many drives. They also allow LSM to operate with groups of physical disk media that can be moved between systems.

Disks and disk groups have a circular relationship: disk groups are formed from disks, and disk group configurations are stored on disks. All disks in a disk group are stamped with a disk group ID, which is a unique identifier for naming disk groups. Some or all disks in a disk group also store copies of the configuration of the disk group.

disk group configuration

A disk group configuration is a small database that contains all volume, plex, subdisk, and disk media records. These configurations are replicated onto some or all disks in the disk group, often with two copies on each disk. Because these databases are stored on disk groups, record associations cannot span disk groups. Thus, you cannot define a subdisk on a disk in one disk group and associate it with a volume in another disk group.

disk group ID

A 64 byte universally unique identifier that is assigned to a disk group when the disk group is created with /sbin/voldg init command. This identifier is in addition to the disk group name, which you assigned. The disk group ID is used to check for disk groups that have the same administrator-assigned name but are actually different.

disk group records

Disk group records define several different types of names for a disk group. The different types of names are as follows:

disk header

A block stored in a private region of a disk and that defines several properties of the disk. The disk header defines the:

disk ID

A 64 byte universally unique identifier that is assigned to a physical disk when its private region is initialized with the /sbin/voldisk init command. The disk ID is stored in the disk media record so that the physical disk can be related to the disk media record at system startup.

disk media record

A reference to a physical disk, or possibly a disk partition. This record can be thought of as a physical disk identifier for the disk or partition. Disk media records are configuration records that provide a name (known as the disk media name or DM name) that you use to reference a particular disk independent of its location on the system's various disk controllers. Disk media records reference particular physical disks through a disk ID, which is a unique identifier that is assigned to a disk when it is initialized for use with the LSM software.

Operations are provided to set or remove the disk ID stored in a disk media record. Such operations have the effect of removing or replacing disks, with any associated subdisks being removed or replaced along with the disk.

host ID

A name, usually assigned by you, that identifies a particular host. Host IDs are used to assign ownership to particular physical disks. When a disk is part of a disk group that is in active use by a particular host, the disk is stamped with that host's host ID. If another system attempts to access the disk, it detects that the disk has a non-matching host ID and disallows access until the first system discontinues use of the disk. Use the /sbin/voldisk clearimport command to clear the host ID stored on a disk for system failures that do not clear the host ID,

If a disk is a member of a disk group and has a host ID that matches a particular host, then that host will import the disk group as part of system startup.

kernel log

A log kept in the private region on the disk and that is written by LSM kernel. The log contains records describing the state of volumes in the disk group. This log provides a mechanism for the kernel to persistently register state changes so that the vold daemon is guaranteed to detect the state changes even in the event of a system failure.

plex

A copy of a volume's logical data address space, also sometimes known as a mirror. A volume can have up to eight plexes associated with it. Each plex is, at least conceptually, a copy of the volume that is maintained consistently in the presence of volume I/O and reconfigurations. Plexes represent the primary means of configuring storage for a volume. Plexes can have a striped or concatenated organization (layout).

plex consistency

If the plexes of a volume contain different data, then the plexes are said to be inconsistent. This is only a problem if LSM is unaware of the inconsistencies, as the volume can return differing results for consecutive reads.

Plex inconsistency is a serious compromise of data integrity. This inconsistency is caused by write operations that start around the time of a system failure, if parts of the write complete on one plex, but not the other. If the plexes are not first synchronized to contain the same data, plexes are inconsistent after creation of a mirrored volume. An important part of LSM is to ensure that consistent data is returned to any application that reads a volume. This may require that plex consistency of a volume be `recovered' by copying data between plexes so that they have the same contents. Alternatively, you can put a volume into a state such that reads from one plex are automatically written back to the other plexes, making the data consistent for that volume offset.

private region

Disks used by LSM contain two special regions: a private region and a public region. Usually, each region is formed from a complete partition of the disk; however, the private and public regions can be allocated from the same partition.

The private region of a disk contains various on-disk structures that are used by LSM for various internal purposes. Each private region begins with a disk header that identifies the disk and its disk group. Private regions can also contain copies of a disk group's configuration, and copies of the disk group's kernel log.

public region

The public region of a disk is the space reserved for allocating subdisks. Subdisks are defined with offsets that are relative to the beginning of the public region of a particular disk. Only one contiguous region of disk can form the public region for a particular disk.

read policy

A configurable policy for switching between plexes for volume reads. When a volume has more than one enabled associated plex, LSM distributes reads between the plexes to distribute the I/O load and thus increase total possible bandwidth of reads through the volume. You set the read policy. Read policy choices include:

root disk group

Each system requires one special disk group, called rootdg. This group is generally the default for most utilities. In addition to defining the regular disk group information, the configuration for the root disk group contains local information that is specific to a disk group and that is not intended to be movable between systems.

striped plex

A plex that places data evenly across each of its associated subdisks. A plex has a characteristic number of stripe columns (represented by the number of associated subdisks) and a characteristic stripe width. The stripe width defines how much data with a particular address is allocated to one of the associated subdisks. Given a stripe width of 128 blocks, and two stripe columns, the first group of 128 blocks is allocated to the first subdisk, the second group of 128 blocks is allocated to the second subdisk, the third group to the first subdisk, and so on.

subdisk

A region of storage allocated on a disk for use by a volume. Subdisks are associated to volumes through plexes. You organize one or more subdisks to form plexes based on a plex layout: striped or concatenated. Subdisks are defined relative to disk media records.

volboot file

The volboot file is a special file (usually stored in /etc/vol/volboot) that is used to bootstrap the root disk group and to define a system's host ID. In addition to a host ID, the volboot file contains a list of disk access records. On system startup, this list of disks is scanned to find a disk that is a member of the rootdg disk group and that is stamped with this system's host ID. When such a disk is found, its configuration is read and is used to get a more complete list of disk access records that are used as a second-stage bootstrap of the root disk group, and to locate all other disk groups.

volume

A virtual disk device that looks to applications and file systems like a regular disk partition device. Volumes present block and raw device interfaces that are compatible in their use. A volume can be mirrored, spanned across disk drives, moved to use different storage, and striped. You can change the configuration of a volume without causing disruption to applications or file systems that are using the volume.

volume records

Volume records define the characteristics of particular volume devices. The name of a volume record defines the node name used for files in the /dev/vol and /dev/rvol directories. The block device for a particular volume, which can be used as an argument to the mount command has the path /dev/vol/groupname/volume.

See the mount(8) reference page for more information on the mount command.