Maintaining RAID-5 Volumes
How to Check the Status of a RAID-5 Volume
When checking status of RAID-5 volumes, you need to check both the
RAID-5 state and the slice state to fully understand the state of the
volume and the possibility of data loss if the volumes are not in
an Okay state. See Overview of Checking Status of RAID-5 Volumes for details.
Note - RAID-5 volume initialization or resynchronization cannot be interrupted.
- To check the status of a RAID-5 volume, use one of the following
methods:
From the Enhanced Storage tool within the Solaris Management Console, open the Volumes node and view the status of the volumes. Choose a volume. Then, choose Action⇒Properties to see more detailed information. For more information, see the online help.
Use the metastat command to display the status of a RAID-5 volume.
# metastat [-s diskset] [volume]
- -s diskset
Specifies the name of the disk set on which to perform the command.
- volume
Specifies the volume to display.
For each slice in the RAID-5 volume, the metastat command shows the following:
- Device
Specifies the device name of the slice in the stripe.
- Start Block
Specifies the block on which the slice begins.
- Dbase
Specifies whether the slice contains a state database replica
- State
Specifies the state of the slice.
- Hot Spare
Specifies whether the slice is being used to hot spare a failed slice
Example 15-2 Viewing RAID-5 Volume Status
The following example shows RAID-5 volume output from the metastat command.
# metastat d10
d10: RAID
State: Okay
Interlace: 32 blocks
Size: 10080 blocks
Original device:
Size: 10496 blocks
Device Start Block Dbase State Hot Spare
c0t0d0s1 330 No Okay
c1t2d0s1 330 No Okay
c2t3d0s1 330 No Okay
The metastat command output identifies the volume as a RAID-5 volume. This information
is indicated by the “RAID” notation after the volume name. For each slice
in the RAID-5 volume, the output shows the following:
The name of the slice in the stripe.
The block on which the slice begins.
An indicator that none of these slices contain a state database replica.
The state of the slices. In this example all slices are in the “Okay” state.
If a slice is a hot spare replacement for a failed slice.
How to Expand a RAID-5 Volume
In general, attaching components is a short-term solution to a RAID-5 volume that
is running out of space. For performance reasons, it is best to have
a “pure” RAID-5 volume. If you must expand an existing RAID-5 volume to
gain extra storage space, use this procedure.
Caution - Do not create volumes larger than 1 Tbyte 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 the Solaris 9 4/03
release. See Overview of Multi-Terabyte Support in Solaris Volume Manager for more information about multiterabyte volume support in Solaris Volume
Manager.
Before You Begin
Read Background Information for Creating RAID-5 Volumes.
- Make sure that you have a current backup of all data and that
you have superuser access.
- To attach additional components to a RAID-5 volume, use one of the following
methods:
From the Enhanced Storage tool within the Solaris Management Console, open the Volumes node, then open the RAID-5 volume. Choose the Components pane. Then, choose Attach Component. Follow the onscreen instructions. For more information, see the online help.
Use the following form of the metattach command:
# metattach volume-name name-of-component-to-add
- volume-name
Specifies the name of the RAID-5 volume to expand.
- name-of-component-to-add
Specifies the name of the component to attach to the RAID-5 volume.
See the metattach(1M) man page for more information.
Example 15-3 Adding a Component to a RAID-5 Volume
The following example shows the addition of slice c2t1d0s2 to an existing RAID-5
volume, d2.
# metattach d2 c2t1d0s2
d2: column is attached
See Also
For a UFS file system, run the growfs command on the RAID-5 volume.
See Volume and Disk Space Expansion Using the growfs Command.
Some applications, such as a database, do not use a file system.
These applications instead use the raw volume. In these cases, the application must have
its own way of growing the added space.
How to Enable a Component in a RAID-5 Volume
If a disk drive is defective, you can replace it with another
available disk (and its slices) on the system as documented in How to Replace a Component in a RAID-5 Volume. Alternatively,
you can repair the disk, label it, and run the metareplace command with
the -e option to re-enable the disk.
- Make sure that you have a current backup of all data and that
you have superuser access.
- To enable a failed component in a RAID-5 volume, use one of the
following methods:
From the Enhanced Storage tool within the Solaris Management Console, open the Volumes node, then open the RAID-5 volume. Choose the Components pane. Then, choose the failed component. Click Enable Component. Follow the onscreen instructions. For more information, see the online help.
Use the following form of the metareplace command:
# metareplace -e volume-name component-name
- -e
Specifies to place the failed component into an available state and to perform a resynchronization on the failed component.
- volume-name
Specifies the name of the volume containing the failed component.
- component-name
Specifies the name of the failed component.
The metareplace command automatically starts resynchronizing the new component with the rest of the RAID-5 volume.
Example 15-4 Enabling a Component in a RAID-5 Volume
In the following example, the RAID-5 volume d20 has a slice, c2t0d0s2, which
had a soft error. The metareplace command with the -e option enables
the slice.
# metareplace -e d20 c2t0d0s2
How to Replace a Component in a RAID-5 Volume
This task replaces a failed slice of a RAID-5 volume in which
only one slice has failed.
Caution - Replacing a failed slice when multiple slices are in error might cause data
to be fabricated. In this instance, the integrity of the data in this
instance would be questionable.
You can use the metareplace command on non-failed devices to change a disk
slice or other component. This procedure can be useful for tuning the performance
of RAID-5 volumes.
- Make sure that you have a current backup of all data and that
you have superuser access.
- Use one of the following methods to determine which slice of the RAID-5
volume needs to be replaced:
From the Enhanced Storage tool within the Solaris Management Console, open the Volumes node. Then open the RAID-5 volume. Choose the Components pane. View the status of the individual components. For more information, see the online help.
Use the metastat command.
# metastat volume
- volume
Specifies the name of the RAID-5 volume.
Look for the keyword phrase “Needs Maintenance” to identify the state of the
RAID-5 volume. Look for the keyword “Maintenance” to identify the failed slice.
- Use one of the following methods to replace the failed slice with another
slice:
From the Enhanced Storage tool within the Solaris Management Console, open the Volumes node. Then open the RAID-5 volume. Choose the Components pane. Choose the failed component. Click Replace Component and follow the onscreen instructions. For more information, see the online help.
Use the following form of the metareplace command:
# metareplace volume-name failed-component new-component
volume-name is the name of the RAID-5 volume with a failed component.
failed-component specifies the name of the component to replace.
new-component specifies the name of the component to add to the volume in place of the failed component.
See the metareplace(1M) man page for more information.
- To verify the status of the replacement slice, use one of the methods
described in Step 2.
The state of the replaced slice should be “Resyncing” or “Okay.”
Example 15-5 Replacing a RAID-5 Component
# metastat d1
d1: RAID
State: Needs Maintenance
Invoke: metareplace d1 c0t14d0s6 <new device>
Interlace: 32 blocks
Size: 8087040 blocks
Original device:
Size: 8087520 blocks
Device Start Block Dbase State Hot Spare
c0t9d0s6 330 No Okay
c0t13d0s6 330 No Okay
c0t10d0s6 330 No Okay
c0t11d0s6 330 No Okay
c0t12d0s6 330 No Okay
c0t14d0s6 330 No Maintenance
# metareplace d1 c0t14d0s6 c0t4d0s6
d1: device c0t14d0s6 is replaced with c0t4d0s6
# metastat d1
d1: RAID
State: Resyncing
Resync in progress: 98% done
Interlace: 32 blocks
Size: 8087040 blocks
Original device:
Size: 8087520 blocks
Device Start Block Dbase State Hot Spare
c0t9d0s6 330 No Okay
c0t13d0s6 330 No Okay
c0t10d0s6 330 No Okay
c0t11d0s6 330 No Okay
c0t12d0s6 330 No Okay
c0t4d0s6 330 No Resyncing
In this example, the metastat command displays the failed slice in the RAID-5
volume, d1. After locating an available slice, the metareplace command is run, specifying the
failed slice first, then the replacement slice.
If no other slices are available, run the metareplace command with the -e
option to attempt to recover from possible soft errors by resynchronizing the failed
device. For more information on this procedure, see How to Enable a Component in a RAID-5 Volume. If multiple errors exist,
the slice in the “Maintenance” state must first be replaced or enabled. Then
the slice in the “Last Erred” state can be repaired. After running the
metareplace command, you can use the metastat command to monitor the progress of the
resynchronization. During the replacement, the state of the volume and the new slice
is “Resyncing.” You can continue to use the volume while it is in
this state.