Use this procedure if a diskset is corrupted or in a state that the nodes in the cluster are unable to take ownership of the diskset. If your attempts to clear the state have failed, use this procedure as a last attempt to fix the diskset.
These procedures work for Solaris Volume Manager metasets and multi-owner Solaris Volume Manager metasets.
Restoring a disk set from scratch can be time-consuming and error prone. A better alternative is to use the metastat command to regularly back up replicas or use Oracle Explorer (SUNWexplo) to create a backup. You can then use the saved configuration to recreate the diskset. You should save the current configuration into files (using the prtvtoc and the metastat commands), and then recreate the disk set and its components. See How to Recreate the Solaris Volume Manager Software Configuration.
# /usr/sbin/prtvtoc /dev/global/rdsk/diskname > /etc/lvm/diskname.vtoc
# /bin/cp /etc/lvm/md.tab /etc/lvm/md.tab_ORIGINAL
# /usr/sbin/metastat -p -s setname >> /etc/lvm/md.tab
Purging a set from a node or all nodes removes the configuration. To purge a diskset from a node, the node must not have ownership of the diskset.
# /usr/sbin/metaset -s setname -P
Running this command removes the diskset information from the database replicas, as well as the Oracle Solaris Cluster repository. The –P and –C options allow a diskset to be purged without the need to completely rebuild the Solaris Volume Manager environment.
# /usr/cluster/lib/sc/dcs_config -c remove -s setname
For more information, see the dcs_config(1M) man page.
# /usr/sbin/metaset -s setname -C purge
You should generally use the –P option, rather than the –C option. Using the –C option can cause a problem recreating the diskset because the Oracle Solaris Cluster software still recognizes the diskset.
# /usr/cluster/lib/sc/dcs_config -c remove -s setname
If the purge options fail, verify that you installed the latest kernel and metadevice updates and contact My Oracle Support.
Use this procedure only if you experience a complete loss of your Solaris Volume Manager software configuration. The steps assume that you have saved your current Solaris Volume Manager configuration and its components and purged the corrupted diskset.
# /usr/sbin/metaset -s setname -a -h nodename1 nodename2
If this is a multi-owner diskset, use the following command to create a new diskset.
/usr/sbin/metaset -s setname -aM -h nodename1 nodename2
/usr/sbin/metaset -s setname -a -m nodename1 nodename2
/usr/sbin/metaset -s setname -a /dev/did/rdsk/diskname /dev/did/rdsk/diskname
However, if you are recreating a set to recover, you should format the disks according to a saved configuration in the /etc/lvm/diskname.vtoc file. For example:
# /usr/sbin/fmthard -s /etc/lvm/d4.vtoc /dev/global/rdsk/d4s2
# /usr/sbin/fmthard -s /etc/lvm/d8.vtoc /dev/global/rdsk/d8s2
You can run this command on any node.
# /usr/sbin/metainit -s setname -n -a metadevice
# /usr/sbin/metainit -s setname -a metadevice
# /usr/sbin/fsck -n /dev/md/setname/rdsk/metadevice
If the fsck command displays only a few errors, such as superblock count, then the device was probably reconstructed correctly. You can then run the fsck command without the –n option. If multiple errors appear, verify that you reconstructed the metadevice correctly. If you have, review the fsck errors to determine if the file system can be recovered. If it cannot, you should restore the data from a backup.
# /usr/sbin/metastat -p >> /etc/lvm/md.tab