Go to main content

man pages section 5: File Formats

Exit Print View

Updated: Thursday, June 13, 2019
 
 

volume-config(5)

Name

volume-config - Solaris Volume Manager volume configuration information for top down volume creation with metassist

Synopsis

/usr/share/lib/xml/dtd/volume-config.dtd

Description

A volume configuration file, XML-based and compliant with the volume-config.dtd Document Type Definition, describes the detailed configuration of the volume or volumes to be created, including the names, sizes and configurations of all the components used in the volume or volumes. This configuration file can be automatically generated by running metassist with the –d option, or can be manually created.

The volume configuration file can then be used to either generate a command file or to directly create volumes by running metassist and specifying the volume configuration file as input to the command.

As a system administrator, you would want to change, manually create, or edit the volume configuration file only if there are small details of the configuration that you want to change. For example, you might want to change names for volumes or hot spare pools, mirror read option, or stripe interlace values.

It would be possible to also select different devices or change slice sizes or make similar changes, but that is generally not recommended. Substantial changes to the volume-config file could result in a poor or non-functional configuration.

With a volume-config file, you can run metassist and provide the file as input to the command to generate either a command file or to actually set up the configuration.

Defining Volume Configuration

The top level element <volume-config> surrounds the volume configuration data. This element has no attributes. A volume configuration requires exactly one <diskset> element, which must be the first element of the volume configuration. Additionally, the volume-config can have zero or more of the following elements: <disk>, <slice>, <hsp>, <concat>, <stripe>, <mirror> as required to define the configuration of the volume to be created.

Defining Disk Set

Within the <volume-config> element, a <diskset> element must exist. The <diskset> element, with the name attribute, specifies the name of the diskset in which to create the volume or volumes. This element and attribute are required. If this named disk set does not exist, it is created upon implementation of this volume configuration.

Defining Slice

The volume configuration format provides for a <slice> element that defines the name of a slice to use as a component of a volume. The <slice> element requires a name attribute which specifies a full ctd name. If the <slice> is newly created as part of the volume configuration, the startsector and sizeinblocks attributes must be specified. If the slice was previously existing, these attributes need not be specified.

Defining Hot Spare Pool

The volume configuration format provides for a <hsp> element that defines the name of a hot spare pool to use as a component of a configuration. The <hsp> element requires a name attribute which specifies a hot spare pool name.

Slices defined by <slice> elements contained in the <hsp> element are included in the hot spare pool when metassist creates it.

Defining Stripe

The <stripe> element defines stripes (interlaced RAID 0 volumes) to be used in a volume. The <stripe> element takes a required name attribute to specify a name conforming to Solaris Volume Manager naming requirements. If the name specifies an existing stripe, no <slice> elements are required. If the name specifies a new stripe, the <slice> elements to construct the slice must be specified within the <stripe> element. The <stripe> elements takes an optional interlace attribute as value and units (for example, 16KB, 5BLOCKS, 20MB). If this value isn't specified, the Solaris Volume Manager default value is used.

Defining Concat

The <concat> element defines concats (non-interlaced RAID 0 volumes) to be used in a configuration. It is the same as a <stripe> element, except that the interlace attribute is not valid.

Defining Mirror

The <mirror> element defines mirrors (RAID 1 volumes) to be used in a volume configuration. It can contain combinations of <concat> and <stripe> elements (to explicitly determine which volumes are used as submirrors).

The <mirror> element takes a required name attribute to specify a name conforming to Solaris Volume Manager naming requirements.

The <mirror> element takes an optional read attribute to define the mirror read options (ROUNDROBIN, GEOMETRIC, or FIRST) for the mirrors. If this attribute is not specified, the Solaris Volume Manager default value is used.

The <mirror> element takes an optional write attribute to define the mirror write options (PARALLEL, SERIAL, or FIRST) for the mirrors. If this attribute is not specified, the Solaris Volume Manager default value is used. The <mirror> element takes an optional passnum attribute (0-9) to define the mirror passnum that defines the order in which mirrors are resynced at boot, if required. Smaller numbers are resynced first. If this attribute is not specified, the Solaris Volume Manager default value is used.

Examples

Example 1 Specifying a Volume Configuration

The following is an example volume configuration:


<!-- Example configuration -->
<volume-config>
  <!-- Specify the existing disk set to use -->
  <diskset name="redundant"/>

<!-- Create slices -->
<slice name="/dev/dsk/c0t0d1s7" startsector="1444464" \
     sizeinblocks="205632BLOCKS"/>
<slice name="/dev/dsk/c0t0d1s6" startsector="1239840" \
     sizeinblocks="102816KB"/>

<!-- Create a  concat -->
<concat name="d12">
<slice name="/dev/dsk/c0t0d0s7"/>
<slice name="/dev/dsk/c0t0d0s6"/>
<slice name="/dev/dsk/c0t0d1s7"/>
<slice name="/dev/dsk/c0t0d1s6"/>

<!-- Create (and use) a HSP -->
hsp name="hsp0">
<slice name="/dev/dsk/c0t0d4s0"/>
<slice name="/dev/dsk/c0t0d4s1"/>
<slice name="/dev/dsk/c0t0d4s3"/>
<slice name="/dev/dsk/c0t0d4s4"/>
</hsp>

</concat>

<!-- Create a stripe -->
<stripe name="d15" interlace="32KB">
<slice name="/dev/dsk/c0t0d0s7"/>
<slice name="/dev/dsk/c0t0d1s7"/>

<!-- Use a previously-defined HSP -->
<hsp name="hsp0"/>
</stripe>

<!-- Create a  mirror -->
<mirror name="d10">

<!-- Submirror 1: An existing stripe -->
<stripe name="d11"/>

<!-- Submirror 2: The concat defined above -->
<concat name="d12"/>

<!-- Submirror 3: A stripe defined here -->
<stripe name="d13">
<slice name="/dev/dsk/c0t0d2s6"/>
<slice name="/dev/dsk/c0t0d2s7"/>
<slice name="/dev/dsk/c0t0d3s6"/>
slice name="/dev/dsk/c0t0d3s7"/>
</stripe>

</mirror>

</volume-config>

Files

  • /usr/share/lib/xml/dtd/volume-config.dtd

See Also

mddb.cf(5), metaclear(8), metadb(8), metadetach(8), metahs(8), metainit(8), metaoffline(8), metaonline(8), metaparam(8), metarecover(8), metareplace(8), metaset(8), metassist(8), metasync(8), metattach(8), mount_ufs(8)