Sun Microsystems Logo
Products and Services
 
Support and Training
 
 

Previous Previous     Contents     Index     Next Next

Scenario--RAID 0 (Concatenation)

Figure 7-2 illustrates a concatenation that is made of three components (slices).

The data blocks, or chunks, are written sequentially across the components, beginning with Disk A. Disk A can be envisioned as containing logical chunks 1 through 4. Logical chunk 5 would be written to Disk B, which would contain logical chunks 5 through 8. Logical chunk 9 would be written to Drive C, which would contain chunks 9 through 12. The total capacity of volume d1 would be the combined capacities of the three drives. If each drive were 2 Gbytes, volume d1 would have an overall capacity of 6 Gbytes.

Figure 7-2 Concatenation Example

Diagram shows how interlace widths are taken from each slice (all widths from one slice, then all from the next) and presented as a single volume.

RAID 0 (Concatenated Stripe) Volume

A concatenated stripe is a stripe that has been expanded by adding additional components (stripes).

To set the interlace value for a concatenated stripe, at the stripe level, use either the Enhanced Storage tool within the Solaris Management Console, or the metattach -i command. Each stripe within the concatenated stripe can have its own interlace value. When you create a concatenated stripe from scratch, if you do not specify an interlace value for a particular stripe, it inherits the interlace value from the stripe before it.

Example--RAID 0 (Concatenated Stripe) Volume

Figure 7-3 illustrates that d10 is a concatenation of three stripes.

The first stripe consists of three slices, Slice A through C, with an interlace value of 16 Kbytes. The second stripe consists of two slices Slice D and E, and uses an interlace value of 32 Kbytes. The last stripe consists of a two slices, Slice F and G. Because no interlace value is specified for the third stripe, it inherits the value from the stripe before it, which in this case is 32 Kbytes. Sequential data chunks are addressed to the first stripe until that stripe has no more space. Chunks are then addressed to the second stripe. When this stripe has no more space, chunks are addressed to the third stripe. Within each stripe, the data chunks are interleaved according to the specified interlace value.

Figure 7-3 Concatenated Stripe Example

Diagram shows how several stripes are concatenated together to present a single larger logical RAID 0 volume.

Background Information for Creating RAID 0 Volumes

Requirements for Stripes and Concatenations

When you are working with RAID 0 volumes, consider the following:

  • Use components that are each on different controllers to increase the number of simultaneous reads and writes that can be performed.

  • Do not create a stripe from an existing file system or data. Doing so will destroy data. Instead, use a concatenation. (You can create a stripe from existing data, but you must dump and restore the data to the volume.)

  • Use the same size disk components for stripes. Striping different sized components results in wasted disk space.

  • Set up a stripe's interlace value to better match the I/O requests made by the system or applications.

  • Because a stripe or concatenation does not contain replicated data, when such a volume has a component failure you must replace the component, re-create the stripe or concatenation, and restore data from a backup.

  • When you recreate a stripe or concatenation, use a replacement component that has at least the same size as the failed component.

Guidelines for Stripes and Concatenations

  • Concatenation uses less CPU cycles than striping and performs well for small random I/O and for even I/O distribution.

  • When possible, distribute the components of a stripe or concatenation across different controllers and busses. Using stripes that are each on different controllers increases the number of simultaneous reads and writes that can be performed.

  • If a stripe is defined on a failing controller and there is another available controller on the system, you can "move" the stripe to the new controller by moving the disks to the controller and redefining the stripe.

  • Number of stripes: Another way of looking at striping is to first determine the performance requirements. For example, you might need 10.4 Mbyte/sec performance for a selected application, and each disk might deliver approximately 4 Mbyte/sec. Based on this formula, then determine how many disk spindles you need to stripe across:

    10.4 Mbyte/sec / 4 Mbyte/sec = 2.6

    Therefore, you need 3 disks capable of performing I/O in parallel.

Scenario--RAID 0 Volumes

RAID 0 volumes provide the fundamental building blocks for aggregating storage or building mirrors. The following example, drawing on the sample system explained in Chapter 4, Configuring and Using Solaris Volume Manager (Scenario), describes how RAID 0 volumes can provide larger storage spaces and allow you to construct a mirror of existing file systems, including root (/).

The sample system has a collection of relatively small (9 Gbyte) disks, and it is entirely possible that specific applications would require larger storage spaces. To create larger spaces (and improve performance), the system administrator can create a stripe that spans multiple disks. For example, each of c1t1d0, c1t2d0, c1t3d0 and c2t1d0, c2t2d0, c2t3d0 could be formatted with a slice 0 that spans the entire disk. Then, a stripe including all three of the disks from the same controller could provide approximately 27Gbytes of storage and allow faster access. The second stripe, from the second controller, can be used for redundancy, as described in Chapter 10, RAID 1 (Mirror) Volumes (Tasks) and specifically in the Scenario--RAID 1 Volumes (Mirrors).

Previous Previous     Contents     Index     Next Next