How to Use Solaris command – metahs

October 17, 2013

Solaris command :metahs


metahs – manage hot spares and hot spare pools




/usr/sbin/metahs [-s setname] -a all component

/usr/sbin/metahs [-s setname] -a hot_spare_pool [component]

/usr/sbin/metahs [-s setname] -d hot_spare_pool [component]

/usr/sbin/metahs [-s setname] -d all component

/usr/sbin/metahs [-s setname] -e component

/usr/sbin/metahs [-s setname] -r hot_spare_pool component-old

/usr/sbin/metahs [-s setname] -r all component-oldcomponent-new

/usr/sbin/metahs [-s setname] -i [hot_spare_pool]…






The metahs command manages existing hot spares and hot spare pools. It is used to add, delete, enable, and replace components (slices) in hot spare pools. Like the metainit command, the metahs command can also create an initial hot spare pool. The metahs command does not replace a component of a metadevice. This function is performed by the metareplace command.


Hot spares are always in one of three states: available, in-use, or broken. Available hot spares are running and ready to accept data, but are not currently being written to or read from. In-use hot spares are currently being written to and read from. Broken hot spares are out of service and should be repaired. The status of hot spares is displayed when metahs is invoked with the -i option.


Solaris Volume Manager supports storage devices and logical volumes, including hot spares, greater than 1 terabyte (TB) when Solaris 10 is running a 64-bit kernel.


If a system with large volumes or hot spares is rebooted under a 32-bit Solaris 10 kernel, the large volumes are visible through metastat output, but they cannot be accessed, modified or deleted, and no new large volumes can be created. Any volumes or file systems on a large volume in this situation are also unavailable. If a system with large volumes is rebooted under a version of Solaris prior to Solaris 10, Solaris Volume Manager will not start. All large volumes must be removed before Solaris Volume Manager runs under another version of the Solaris Operating Environment.





Root privileges are required for any of the following options except -i.


The following options are supported:


-a all component

Add component to all hot spare pools. all is not case sensitive.

-a hot_spare_pool [component]

Add the component to the specified hot_spare_pool. hot_spare_pool is created if it does not already exist.

-d all component

Delete component from all the hot spare pools. The component cannot be deleted if it is in the in-use state.

-d hot_spare_pool [component]

Delete hot_spare_pool, if the hot_spare_pool is both empty and not referenced by a metadevice. If component is specified, it is deleted from the hot_spare_pool. Hot spares in the in-use state cannot be deleted.

-e component

Enable component to be available for use as a hot spare. The component can be enabled if it is in the broken state and has been repaired.

-i [hot_spare_pool . . .]

Display the status of the specified hot_spare_pool or for all hot spare pools if one is not specified.

-r all component-old component-new

Replace component-old with component-new in all hot spare pools which have the component associated. Components cannot be replaced from any hot spare pool if the old hot spare is in the in-use state.

-r hot_spare_pool component-old component-new

Replace component-old with component-new in the specified hot_spare_pool. Components cannot be replaced from a hot spare pool if the old hot spare is in the in-use state.

-s setname

Specify the name of the diskset on which metahs works. Using the -s option causes the command to perform its administrative function within the specified diskset. Without this option, the command performs its function on local hot spare pools.





The following operands are supported:



The logical name for the physical slice (partition) on a disk drive, such as /dev/dsk/c0t0d0s2.


Hot spare pools must be of the form hspnnn, where nnn is a number in the range 000-999.





Example 1 Adding a Hot Spare to a Hot Spare Pool


The following example adds a hot spare /dev/dsk/c0t0d0s7 to a hot spare pool hsp003:


# metahs -a hsp003 c0t0d0s7

When the hot spare is added to the pool, the existing order of the hot spares already in the pool is preserved. The new hot spare is added at the end of the list of hot spares in the hot spare pool specified.


Example 2 Adding a Hot Spare to All Currently Defined Pools


This example adds a hot spare to the hot spare pools that are currently defined:


# metahs -a all c0t0d0s7

The keyword all in this example specifies adding the hot spare, /dev/dsk/c0t0d0s7, to all the hot spare pools.


Example 3 Deleting a Hot Spare


This example deletes a hot spare, /dev/dsk/c0t0d0s7, from a hot spare pool, hsp003:


# metahs -d hsp003 c0t0d0s7

When you delete a hot spare, the position of the remaining hot spares in the pool changes to reflect the new order. For instance, if in this example /dev/dsk/c0t0d0s7 were the second of three hot spares, after deletion the third hot spare would move to the second position.


Example 4 Replacing a Hot Spare


This example replaces a hot spare that was previously defined:


# metahs -r hsp001 c0t1d0s0 c0t3d0s0

In this example, the hot spare /dev/dsk/c0t1d0s0 is replaced by /dev/dsk/c0t3d0s0. The order of the hot spares does not change.


Exit Status


The following exit values are returned:



Successful completion.


An error occurred.












RamdevKnowledge Article Shared by : Ramdev ( other posts by Ramdev )

I have started unixadminschool.com ( aka gurkulindia.com) in 2009 as my own personal reference blog, and later sometime i have realized that my leanings might be helpful for other unixadmins if I manage my knowledge-base in more user friendly format. And the result is today's' unixadminschool.com. Click on below web link to connect me at linkedin.

Disclaimer : Procedures posted in this site had no guarantee to work in your Environment, use it on your own Risk when you use it for your Production environment

QUIZ Center