Solaris Volume Manager Administration Guide

Chapter 2 Storage Management Concepts

This chapter provides a brief introduction to some common storage management concepts.

This chapter contains the following information:

Introduction to Storage Management

How you choose to manage your storage determines how you control the devices that store the active data on your system. To be useful, active data must be available and remain persistent even after unexpected events, such as a hardware or software failure.

Storage Hardware

There are many different devices on which data can be stored. The selection of devices to best meet your storage needs depends primarily on three factors:

You can use Solaris Volume Manager to help manage the trade-offs in performance, availability, and cost. You can often mitigate many of the trade-offs with Solaris Volume Manager.

Solaris Volume Manager works well with any supported storage on any system that runs the Solaris operating system.

RAID Levels

RAID is an acronym for Redundant Array of Inexpensive (or Independent) Disks. RAID refers to a set of disks, called an array or a volume, that appears to the user as a single large disk drive. Depending on the configuration, this array provides improved reliability, response time, or storage capacity.

Technically, there are six RAID levels, 0-5. Each level refers to a method of distributing data while ensuring data redundancy. (RAID Level 0 does not provide data redundancy, but is usually included as a RAID classification anyway. RAID Level 0 provides the basis for the majority of RAID configurations in use.) Very few storage environments support RAID Levels 2, 3, and 4, so those environments are not described here.

Solaris Volume Manager supports the following RAID levels:

Configuration Planning Guidelines

When you are planning your storage management configuration, keep in mind that for any given configuration, there are trade-offs in performance, availability, and hardware costs. You might need to experiment with the different variables to determine what works best for your configuration.

This section provides guidelines for working with the following types of volumes:

Choosing Storage

Before you implement your storage management approach, you need to decide what kinds of storage devices to use. This set of guidelines compares the various types of storage to help you choose. Additional sets of guidelines apply to specific types of storage as implemented in Solaris Volume Manager. See specific chapters about each volume type for details.


Note –

The types of storage that are listed here are not mutually exclusive. You can use these volumes in combination to meet multiple goals. For example, you could first create a RAID-1 volume for redundancy. Next, you could create soft partitions on that RAID-1 volume to increase the possible number of discrete file systems.


The following table provides a comparison between the features available for each type of storage.

Table 2–1 Comparison of Types of Storage

Requirements 

RAID-0 (Concatenation) 

RAID-0 (Stripe) 

RAID-1 (Mirror) 

RAID-5 

Soft Partitions 

Redundant data 

No 

No 

Yes 

Yes 

No 

Improved read performance 

No 

Yes 

Depends on underlying device 

Yes 

No 

Improved write performance 

No 

Yes 

No 

No 

No 

More than 8 slices per device 

No 

No 

No 

No 

Yes 

Larger available storage space 

Yes 

Yes 

No 

Yes 

No 

The following table outlines the trade-offs in write operations, random reads, and hardware costs between RAID-1 and RAID–5 volumes.

Table 2–2 Optimizing Redundant Storage
 

RAID-1 (Mirror) 

RAID-5 

Write operations 

Faster 

Slower 

Random read 

Faster 

Slower 

Hardware cost 

Higher 

Lower 

The following list summarizes the information outlined in the tables:


Note –

In addition to these generic storage options, see Hot Spare Pools for more information about using Solaris Volume Manager to support redundant devices.


General Performance Guidelines

When you design your storage configuration, consider the following performance guidelines:

For configuration guidelines specific to Solaris Volume Manager, see Solaris Volume Manager Configuration Guidelines.

Random I/O and Sequential I/O Optimization

This section explains strategies for optimizing your configuration.

If you do not know if sequential I/O or random I/O predominates on the Solaris Volume Manager volumes you are creating, do not implement these performance tuning tips. These tips can degrade performance if the tips are improperly implemented.

The following optimization suggestions assume that you are optimizing a RAID-0 volume. In general, you would want to optimize a RAID-0 volume, then mirror that volume to provide both optimal performance and data redundancy.

Random I/O

In a random I/O environment, such as an environment used for databases and general-purpose file servers, all disks should spend equal amounts of time servicing I/O requests.

For example, assume that you have 40 Gbytes of storage for a database application. If you stripe across four 10 Gbyte disk spindles, and if the I/O is random and evenly dispersed across the volume, then each of the disks will be equally busy, which generally improves performance.

The target for maximum random I/O performance on a disk is 35 percent or lower usage, as reported by the iostat command. Disk use in excess of 65 percent on a typical basis is a problem. Disk use in excess of 90 percent is a significant problem. The solution to having disk use values that are too high is to create a new RAID-0 volume with more disks (spindles).


Note –

Simply attaching additional disks to an existing volume cannot improve performance. You must create a new volume with the ideal parameters to optimize performance.


The interlace size of the stripe does not matter because you just want to spread the data across all the disks. Any interlace value greater than the typical I/O request will suffice.

Sequential Access I/O

You can optimize the performance of your configuration in a sequential I/O environment, such as DBMS servers that are dominated by full table scans and NFS servers in very data-intensive environments. To take advantage of a sequential I/O environment, set the interlace value low relative to the size of the typical I/O request.

For example, assume a typical I/O request size of 256 Kbytes and striping across 4 spindles. A good choice for the stripe unit size in this example would be:

256 Kbytes / 4 = 64 Kbytes, or smaller

This strategy ensures that the typical I/O request is spread across multiple disk spindles, thus increasing the sequential bandwidth.


Note –

Seek time and rotation time are practically zero in the sequential I/O environment. When you optimize sequential I/O, the internal transfer rate of a disk is most important.


In sequential applications, the typical I/O size is usually large, meaning more than 128 Kbytes or even more than 1 Mbyte. Assume an application with a typical I/O request size of 2 Mbytes and assume striping across 4 disk spindles, thus:

2048 Kbytes / 4 = 512 Kbytes

So, a good choice for the interlace size would be 256–512 Kbytes.