Solaris Volume Manager Administration Guide

Chapter 3 Solaris Volume Manager Overview

This chapter explains the overall structure of Solaris Volume Manager and provides the following information:

Introduction to Solaris Volume Manager

Solaris Volume Manager is a software product that lets you manage large numbers of disks and the data on those disks. Although there are many ways to use Solaris Volume Manager, most tasks include the following:

In some instances, Solaris Volume Manager can also improve I/O performance.

How Solaris Volume Manager Manages Storage

Solaris Volume Manager uses virtual disks to manage physical disks and their associated data. In Solaris Volume Manager, a virtual disk is called a volume. For historical reasons, some command-line utilities also refer to a volume as a “metadevice.”

A volume is functionally identical to a physical disk in the view of an application or a file system. Solaris Volume Manager converts I/O requests directed at a volume into I/O requests to the underlying member disks.

Solaris Volume Manager volumes are built from disk slices or from other Solaris Volume Manager volumes. An easy way to build volumes is to use the graphical user interface that is built into the Solaris Management Console. The Enhanced Storage tool within the Solaris Management Console presents you with a view of all the existing volumes. By following the steps in wizards, you can easily build any kind of Solaris Volume Manager volume or component. You can also build and modify volumes by using Solaris Volume Manager command-line utilities.

For example, if you need more storage capacity as a single volume, you could use Solaris Volume Manager to make the system treat a collection of slices as one larger volume. After you create a volume from these slices, you can immediately begin using the volume just as you would use any “real” slice or device.

For a more detailed discussion of volumes, see Volumes.

Solaris Volume Manager can increase the reliability and availability of data by using RAID 1 (mirror) volumes and RAID 5 volumes. Solaris Volume Manager hot spares can provide another level of data availability for mirrors and RAID 5 volumes.

Once you have set up your configuration, you can use the Enhanced Storage tool within the Solaris Management Console to report on its operation.

How to Administer Solaris Volume Manager

Use either of these methods to interact with Solaris Volume Manager:


Note –

Do not attempt to administer Solaris Volume Manager with the command line and the graphical user interface at the same time. Conflicting changes could be made to the configuration, and the behavior would be unpredictable. You can use both tools to administer Solaris Volume Manager, but not concurrently.


Figure 3–1 View of the Enhanced Storage tool (Solaris Volume Manager) in the Solaris Management Console

Screen capture shows the Enhanced Storage tool. Components
are listed at the right, with the various SVM tools at the left.

ProcedureHow to Access the Solaris Volume Manager Graphical User Interface

The Solaris Volume Manager graphical user interface (Enhanced Storage) is part of the Solaris Management Console. To access the graphical user interface, use the following instructions:

Steps
  1. Start Solaris Management Console on the host system by using the following command:


    % /usr/sbin/smc
    
  2. Double-click This Computer.

  3. Double-click Storage.

  4. Double-click Enhanced Storage to load the Solaris Volume Manager tools.

  5. If prompted to log in, log in as root or as a user who has equivalent access.

  6. Double-click the appropriate icon to manage volumes, hot spare pools, state database replicas, and disk sets.


    Tip –

    All tools in the Solaris Management Console display information in the bottom section of the page or at the left side of a wizard panel. Choose Help at any time to find additional information about performing tasks in this interface.


Solaris Volume Manager Requirements

Solaris Volume Manager requirements include the following:

Overview of Solaris Volume Manager Components

The four basic types of components that you create with Solaris Volume Manager are volumes, disk sets, state database replicas, and hot spare pools. The following table gives an overview of these Solaris Volume Manager components.

Table 3–1 Summary of Solaris Volume Manager Components

Solaris Volume ManagerComponent 

Definition 

Purpose 

For More Information 

RAID 0 volumes (stripe, concatenation, concatenated stripe), RAID 1 (mirror) volumes, RAID 5 volumes

A group of physical slices that appear to the system as a single, logical device 

To increase storage capacity, performance, or data availability. 

Volumes

Soft partitions 

Subdivisions of physical slices or logical volumes to provide smaller, more manageable storage units 

To improve manageability of large storage volumes.  

 

State database (state database replicas)

A database that stores information on disk about the state of your Solaris Volume Manager configuration 

Solaris Volume Manager cannot operate until you have created the state database replicas. 

State Database and State Database Replicas

Hot spare pool

A collection of slices (hot spares) reserved to be automatically substituted in case of component failure in either a submirror or RAID 5 volume 

To increase data availability for RAID 1 and RAID 5 volumes. 

Hot Spare Pools

Disk set

A set of shared disk drives in a separate namespace that contain volumes and hot spares and that can be non-concurrently shared by multiple hosts 

To provide data redundancy and availability and to provide a separate namespace for easier administration. 

Disk Sets

Volumes

A volume is a name for a group of physical slices that appear to the system as a single, logical device. Volumes are actually pseudo, or virtual, devices in standard UNIX® terms.


Note –

Historically, the Solstice DiskSuiteTM product referred to these logical devices as metadevices. However, for simplicity and standardization, this book refers to these devices as volumes.


Classes of Volumes

You create a volume as a RAID 0 (concatenation or stripe) volume, a RAID 1 (mirror) volume, a RAID 5 volume, a soft partition, or a transactional logging volume.

You can use either the Enhanced Storage tool within the Solaris Management Console or the command-line utilities to create and administer volumes.

The following table summarizes the classes of volumes:

Table 3–2 Classes of Volumes

Volume 

Description 

RAID 0 (stripe or concatenation)

Can be used directly, or as the basic building blocks for mirrors and transactional devices. RAID 0 volumes do not directly provide data redundancy.  

RAID 1 (mirror)

Replicates data by maintaining multiple copies. A RAID 1 volume is composed of one or more RAID 0 volumes that are called submirrors. 

RAID 5

Replicates data by using parity information. In the case of disk failure, the missing data can be regenerated by using available data and the parity information. A RAID 5 volume is generally composed of slices. One slice's worth of space is allocated to parity information, but the parity is distributed across all slices in the RAID 5 volume. 

Transactional

Used to log a UFS file system. (UFS logging is a preferable solution to this need, however.) A transactional volume is composed of a master device and a logging device. Both of these devices can be a slice, RAID 0 volume, RAID 1 volume, or RAID5 volume. The master device contains the UFS file system. 

Soft partition 

Divides a slice or logical volume into one or more smaller, extensible volumes. 

How Volumes Are Used

You use volumes to increase storage capacity, performance, and data availability. In some instances, volumes can also increase I/O performance. Functionally, volumes behave the same way as slices. Because volumes look like slices, the volumes are transparent to end users, applications, and file systems. Like physical devices, volumes are accessed through block or raw device names. The volume name changes, depending on whether the block or raw device is used. See Volume Names for details about volume names.

You can use most file system commands, including mkfs, mount, umount, ufsdump, ufsrestore, and others on volumes. You cannot use the format command, however. You can read, write, and copy files to and from a volume, as long as the volume contains a mounted file system.

Example—Volume That Consists of Two Slices

Figure 3–2 shows a volume “containing” two slices, one slice from Disk A and one slice from Disk B. An application or UFS treats the volume as if it were one physical disk. Adding more slices to the volume increases its capacity.

Figure 3–2 Relationship Among a Volume, Physical Disks, and Slices

Diagram shows two disks, and how slices on those disks
are presented by Solaris Volume Manager as a single logical volume.

Volume and Disk Space Expansion

Solaris Volume Manager enables you to expand a volume by adding additional slices. You can use either the Enhanced Storage tool within the Solaris Management Console or the command line interface to add a slice to an existing volume.

You can expand a mounted or unmounted UFS file system that is contained within a volume without having to halt or back up your system. Nevertheless, backing up your data is always a good idea. After you expand the volume, use the growfs command to grow the file system.


Note –

After a file system has been expanded, the file system cannot be shrunk. Not shrinking the size of a file system is a UFS limitation. Similarly, after a Solaris Volume Manager partition has been increased in size, it cannot be reduced.


Applications and databases that use the raw volume must have their own method to “grow” the added space so applications can recognize it. Solaris Volume Manager does not provide this capability.

You can expand the disk space in volumes in the following ways:

The growfs Command

The growfs command expands a UFS file system without loss of service or data. However, write access to the volume is suspended while the growfs command is running. You can expand the file system to the size of the slice or the volume that contains the file system.

The file system can be expanded to use only part of the additional disk space by using the -s size option to the growfs command.


Note –

When you expand a mirror, space is added to the mirror's underlying submirrors. Likewise, when you expand a transactional volume, space is added to the master device. The growfs command is then run on the RAID 1 volume or the transactional volume, respectively. The general rule is that space is added to the underlying devices, and the growfs command is run on the top-level device.


Volume Names

Volume Name Requirements

There are a few rules that you must follow when assigning names for volumes:

Table 3–3 Sample Volume Names

/dev/md/dsk/d0

Block volume d0

/dev/md/dsk/d1

Block volume d1

/dev/md/rdsk/d126

Raw volume d126

/dev/md/rdsk/d127

Raw volume d127

Volume Name Guidelines

The use of a standard for your volume names can simplify administration, and enable you at a glance to identify the volume type. Here are a few suggestions:

State Database and State Database Replicas

The state database is a database that stores information on disk about the state of your Solaris Volume Manager configuration. The state database records and tracks changes made to your configuration. Solaris Volume Manager automatically updates the state database when a configuration or state change occurs. Creating a new volume is an example of a configuration change. A submirror failure is an example of a state change.

The state database is actually a collection of multiple, replicated database copies. Each copy, referred to as a state database replica, ensures that the data in the database is always valid. Multiple copies of the state database protect against data loss from single points-of-failure. The state database tracks the location and status of all known state database replicas.

Solaris Volume Manager cannot operate until you have created the state database and its state database replicas. It is necessary that a Solaris Volume Manager configuration has an operating state database.

When you set up your configuration, you can locate the state database replicas on either of the following:

Solaris Volume Manager recognizes when a slice contains a state database replica, and automatically skips over the replica if the slice is used in a volume. The part of a slice reserved for the state database replica should not be used for any other purpose.

You can keep more than one copy of a state database on one slice. However, you might make the system more vulnerable to a single point-of-failure by doing so.

The system continues to function correctly if all state database replicas are deleted. However, the system loses all Solaris Volume Manager configuration data if a reboot occurs with no existing state database replicas on disk.

Hot Spare Pools

A hot spare pool is a collection of slices (hot spares) reserved by Solaris Volume Manager to be automatically substituted for failed components. These hot spares can be used in either a submirror or RAID 5 volume. Hot spares provide increased data availability for RAID 1 and RAID 5 volumes. You can create a hot spare pool with either the Enhanced Storage tool within the Solaris Management Console or the command line interface.

When errors occur, Solaris Volume Manager checks for the first available hot spare whose size is equal to or greater than the size of the failed slice. If found, Solaris Volume Manager automatically replaces the component and resynchronizes the data. If a slice of adequate size is not found in the list of hot spares, the submirror or RAID 5 volume is considered to have failed. For more information, see Chapter 16, Hot Spare Pools (Overview).

Disk Sets

A disk set is a set of physical storage volumes that contain logical volumes and hot spares. Volumes and hot spare pools must be built on drives from within that disk set. Once you have created a volume within the disk set, you can use the volume just as you would a physical slice.

A disk set provides for data availability in a clustered environment. If one host fails, another host can take over the failed host's disk set. (This type of configuration is known as a failover configuration.) Additionally, disk sets can be used to help manage the Solaris Volume Manager name space, and to provide ready access to network-attached storage devices.

For more information, see Chapter 20, Disk Sets (Overview).

Solaris Volume Manager Configuration Guidelines

A poorly designed Solaris Volume Manager configuration can degrade performance. This section offers tips for achieving good performance from Solaris Volume Manager.

General Guidelines

File System Guidelines

Overview of Creating Solaris Volume Manager Components

When you create a Solaris Volume Manager component, you assign physical slices to a logical Solaris Volume Manager name. The Solaris Volume Manager elements that you can create include the following:


Note –

For suggestions on how to name volumes, see Volume Names.


Prerequisites for Creating Solaris Volume Manager Components

The prerequisites for creating Solaris Volume Manager elements are as follows:

Overview of Large Volume Support in Solaris Volume Manager

Starting with the Solaris 9 4/03 release, Solaris Volume Manager supports storage devices and logical volumes greater than 1 terabyte (TB) on systems running a 64–bit kernel.


Note –

Use isainfo -v to determine if your system is running a 64–bit kernel. If the string “64–bit” appears, you are running a 64–bit kernel.


Solaris Volume Manager allows system administrators to do the following:

  1. Create, modify, and delete logical volumes built on or from logical storage units (LUNs) greater than 1 TB in size.

  2. Create, modify, and delete logical volumes that exceed 1 TB in size.

Support for large volumes is automatic—if a device greater than 1 TB is created, Solaris Volume Manager configures it appropriately and without user intervention.

Large Volume Support Limitations

Solaris Volume Manager only supports large volumes (>1 TB) on Solaris 9 4/03 or later when running a 64–bit kernel. Running a system with large volumes under 32–bit kernel on previous Solaris 9 releases will affect Solaris Volume Manager functionality. Specifically, note the following:


Caution – Caution –

Do not create large volumes if you expect to run the Solaris software with a 32–bit kernel or if you expect to use a version of the Solaris OS prior to Solaris 9 4/03.


Using Large Volumes

All Solaris Volume Manager commands work with large volumes. No syntax differences or special tasks are required to take advantage of the large volume support, so system administrators who are familiar with Solaris Volume Manager can immediately work with Solaris Volume Manager large volumes.


Tip –

If you create large volumes, then later determine that you need to use Solaris Volume Manager under previous releases of Solaris or that you need to run under the 32–bit Solaris 9 4/03 or later kernel, you will need to remove the large volumes. Use the metaclear command under the 64–bit kernel to remove the large volumes from your Solaris Volume Manager configuration before rebooting under previous releases of Solaris or under a 32–bit kernel.


Upgrading to Solaris Volume Manager

Solaris Volume Manager fully supports seamless upgrade from Solstice DiskSuite versions 4.1, 4.2, and 4.2.1. Make sure that all volumes are in Okay state (not “Needs Maintenance” or “Last Erred”) and that no hot spares are in use. You do not need to do anything else special to Solaris Volume Manager for the upgrade to work—it is not necessary to change the configuration or break down the root mirror. When you upgrade your system, the Solstice DiskSuite configuration will be brought forward and will be accessible after upgrade through Solaris Volume Manager tools.