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.

Read Background Information for Creating RAID-5 Volumes.

  1. Make sure that you have a current backup of all data and that you have superuser access.

  2. 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

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.

  1. Make sure that you have a current backup of all data and that you have superuser access.

  2. 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.

  1. Make sure that you have a current backup of all data and that you have superuser access.

  2. 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.

  3. 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.

  4. 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.