<chapter id="topdown-overview"><title>Top-Down
Volume Creation (Overview)</title><highlights><para>This chapter provides conceptual information about Solaris Volume Manager <firstterm>top-down</firstterm> volume creation. </para><para>This chapter contains the following information:</para><itemizedlist><listitem><para><olink targetptr="egcqa" remap="internal">Overview of Top-Down Volume Creation</olink></para>
</listitem><listitem><para><olink targetptr="ewasl" remap="internal">Top-Down Volume Creation Implementation With Disk
Sets</olink></para>
</listitem><listitem><para><olink targetptr="ewatw" remap="internal">Top-Down Volume Creation Processes</olink></para>
</listitem><listitem><para><olink targetptr="ewatu" remap="internal">Determining Which Disks Are Available for Top-Down
Volume Creation</olink></para>
</listitem>
</itemizedlist><para>For information about performing related tasks, see <olink targetptr="topdown-tasks-chap" remap="internal">Chapter&nbsp;23, Top-Down
Volume Creation (Tasks)</olink>.</para>
</highlights><sect1 id="egcqa"><title>Overview of Top-Down Volume Creation</title><para>Top-down volume creation enables you to automatically create Solaris Volume Manager volume
configurations using the <command>metassist</command> command. You no longer
need to manually go through the process of partitioning disks, creating RAID-0
volumes (as submirrors), creating hot spare pools and hot spares, and finally
creating a mirror. Instead, you can issue the <command>metassist</command> command
to create a volume. Solaris Volume Manager does the rest for you. </para><para>The <command>metassist</command> command enables you to create Solaris Volume Manager volume
configurations with a single command. You can specify volume characteristics
in terms of <firstterm>quality-of-service</firstterm>. Quality-of-service
characteristics means that without specifying the hardware components to be
used in a volume, you can use input to the <command>metassist</command> command
to provide the following:</para><itemizedlist><listitem><para>Volume size</para>
</listitem><listitem><para>Level of redundancy, which refers to the number of copies
of the data</para>
</listitem><listitem><para>Number of data paths to the volume</para>
</listitem><listitem><para>Fault recovery, which indicates whether the volume is associated
with a hot spare pool</para>
</listitem>
</itemizedlist><para>You can specify the volume by quality-of-service with command-line options
or in an input file named on the command line.</para><para>In some cases, it is important to more specifically define the volume
characteristics or the constraints under which the volumes should be created.
In such cases, you can also specify the following characteristics:</para><itemizedlist><listitem><para>Volume types (for example, a RAID-0 (concatenation) or RAID-0
(stripe) volume).</para>
</listitem><listitem><para>Components to use in specific volumes.</para>
</listitem><listitem><para>Components that are available or unavailable for use.</para>
</listitem><listitem><para>Number of components to use.</para>
</listitem><listitem><para>Details specific to the type of volume being created. Details
include the stripes, the read policy for mirrors, and similar characteristics.</para>
</listitem>
</itemizedlist><para>If you prefer to specify the names, sizes, and components of a volume
in more detail, use an input file. Input files include volume request files
and volume specification files. For more information on how to use input files,
see <olink targetptr="ewatw" remap="internal">Top-Down Volume Creation Processes</olink>.</para><para>Finally, you can constrain the <command>metassist</command> command
to use (or not use) specific disks or paths. </para>
</sect1><sect1 id="ewasl"><title>Top-Down Volume Creation Implementation With Disk
Sets</title><para>The <command>metassist</command> command uses Solaris Volume Manager disk sets
to manage volumes and available disks for top-down volume creation. For any
given top-down volume creation process, all the disks used as building blocks
must be either in the disk set or available to add to the disk set. You can
use the top-down creation process to create volumes in different disk sets.
However, the disks and components that are available are constrained by disk
set functionality.</para>
</sect1><sect1 id="ewatw"><title>Top-Down Volume Creation Processes</title><para>The top-down volume creation process provides flexibility by offering
the following processes:</para><itemizedlist><listitem><para>A fully automated end-to-end process through which you can
specify needed constraints and have the necessary volumes created when the
command completes</para>
</listitem><listitem><para>A more granular process with breakpoints at which you can
write to an XML-based file</para>
</listitem>
</itemizedlist><para>The following figure shows how the <command>metassist</command> command
supports end-to-end processing based on command-line input and input files.
The figure also shows how the <command>metassist</command> command supports
partial processing, which allows you to provide file-based data or to check
volume characteristics.</para><figure id="about-topdown-fig-4"><title>Processing Options for Top-Down Volume
Creation</title><mediaobject><imageobject><imagedata entityref="metassist-func-flow1"/>
</imageobject><textobject><simpara>Input to metassist comes from multiple sources.
Output goes to the volume specification, command file, or to make volumes.</simpara>
</textobject>
</mediaobject>
</figure><para>For an automatic, hands-off approach to volume creation, use the command
line to specify the quality-of-service characteristics you require. The <command>metassist</command> command automatically creates the requested volumes for
you. For example:</para><screen># <userinput>metassist create -s storagepool  -S 10Gb</userinput> </screen><para>This command creates a stripe volume of 10 Gbytes in size in the <literal>storagepool</literal> disk set. The command uses available storage that exists
in the <literal>storagepool</literal> disk set. </para><para>Alternatively, you can use a <emphasis>volume request file</emphasis> to
define the characteristics of a volume. Then, you can use the <command>metassist</command> <option>F</option> <replaceable>request-file</replaceable> command
to create a volume with those characteristics. </para><para>You can use the <command>metassist</command> <option>d</option> command
to produce a volume specification file. You can use this file to assess the
intended implementation and edit the file, if needed. The volume specification
file can then be used as input to the <command>metassist</command> command
to create volumes. </para><para>Finally, you can use the <command>metassist</command> <option>c</option> command
to create a command file. The <emphasis>command file</emphasis> is a shell
script that implements the Solaris Volume Manager device configuration specified by
the <command>metassist</command> command. You can use this file for repeated
volume creation and edit the file, as appropriate. </para><para>When you use the <command>metassist</command> command to create these
files, you learn what the <command>metassist</command> command does and how
it makes decisions. This information can be useful for troubleshooting some
of the following:</para><itemizedlist><listitem><para>Why a volume was created in a certain way</para>
</listitem><listitem><para>Why a volume was not created</para>
</listitem><listitem><para>What volumes the <command>metassist</command> command would
create, without actually creating the volumes</para>
</listitem>
</itemizedlist>
</sect1><sect1 id="ewatu"><title>Determining Which Disks Are Available for Top-Down
Volume Creation</title><para>The <command>metassist</command> command checks disks to determine which
disks appear to be unused. The command attempts to conservatively determine
which disks are available. Any disk or slice that is in use is unavailable
for use by the <command>metassist</command> command. The <command>metassist</command> command checks the following:</para><itemizedlist><listitem><para>Disks used in other disk sets</para>
</listitem><listitem><para>Mounted slices</para>
</listitem><listitem><para>Slices with a file system superblock, indicating a mountable
file system</para>
</listitem><listitem><para>Slices used in other Solaris Volume Manager volumes</para>
</listitem>
</itemizedlist><para>Any slices that meet one of these criteria are unavailable for top-down
volume creation.</para>
</sect1>
</chapter>