You need to replace a disk drive if the disk drive fails or when you want to upgrade to a higher-quality or to a larger disk.
For conceptual information about quorum, quorum devices, global devices, and device IDs, see the Sun Cluster concepts documentation.
While performing this procedure, ensure that you use the correct controller number. Controller numbers can be different on each node.
If the following warning message is displayed, ignore the message. Continue with the next step.
vxvm:vxconfigd: WARNING: no transactions on slave vxvm:vxassist: ERROR: Operation must be executed on master |
This procedure relies on the following prerequisites and assumptions.
Your cluster is operational.
Your system is running Oracle Real Application Clusters.
If your system is not running Oracle Real Application Clusters, see How to Replace a Disk Drive Without Oracle Real Application Clusters.
Your nodes are not configured with dynamic reconfiguration functionality.
If your nodes are configured for dynamic reconfiguration, see the Sun Cluster system administration documentation, and skip steps that instruct you to shut down the node.
This procedure provides the long forms of the Sun Cluster commands. Most commands also have short forms. Except for the forms of the command names, the commands are identical. For a list of the commands and their short forms, see Appendix A, Sun Cluster Object-Oriented Commands, in Sun Cluster 3.1 - 3.2 Hardware Administration Manual for Solaris OS.
To perform this procedure, become superuser or assume a role that provides solaris.cluster.read and solaris.cluster.modify RBAC authorization.
On each node, check the status of the failed disk drive.
# vxdisk list |
On each node, identify the failed disk's instance number.
You use this instance number in Step 12.
# ls -l /dev/dsk/cWtXdYsZ # cat /etc/path_to_inst | grep "device_path" |
Ensure that you do not use the ls command output as the device path. The following example demonstrates how to find the device path and how to identify the sd instance number by using the device path.
# ls -l /dev/dsk/c4t0d0s2 lrwxrwxrwx 1 root root 40 Jul 31 12:02 /dev/dsk/c4t0d0s2 -> ../../devices/pci@4,2000/scsi@1/sd@0,0:cb41d # cat /etc/path_to_inst | grep "/pci@4,2000/scsi@1/sd@0,0" "/node@2/pci@4,2000/scsi@1/sd@0,0" 60 "sd" |
If you are using Solaris 10, the node@2 portion of this output is not present. Solaris 10 does not add this prefix for cluster nodes.
On one node, identify the failed disk's disk ID number.
You will use the disk ID number in Step 15 and Step 16.
If the disk drive you are removing is configured as quorum device, add a new quorum device that will not be affected by this procedure. Then remove the old quorum device.
To determine whether a quorum device will be affected by this procedure, use one of the following commands.
If you are using Sun Cluster 3.2, use the following command:
# clquorum show + |
If you are using Sun Cluster 3.1, use the following command:
# scstat -q |
For procedures about how to add and remove quorum devices, see the Sun Cluster system administration documentation.
On each node, remove the failed disk from Veritas Volume Manager control.
# vxdisk offline cXtYdZ # vxdisk rm cXtYdZ |
On each node, verify that you removed the disk entry.
# vxdisk list |
Remove the failed disk from the storage array.
For the procedure about how to remove a disk drive, see your storage documentation. For a list of storage documentation, see Related Documentation.
On each node, unconfigure the failed disk.
# cfgadm -c unconfigure cX::dsk/cXtYdZ |
On each node, remove the paths to the disk drive that you are removing.
# devfsadm -C |
On each node, verify that you removed the disk.
# cfgadm -al | grep cXtYdZ # ls /dev/dsk/cXtYdZ |
Add the new disk to the storage array.
For the procedure about how to add a disk drive, see your storage documentation. For a list of storage documentation, see Related Documentation.
On each node, configure the new disk.
Use the instance number that you identified in Step 2.
# cfgadm -c configure cX::sd_instance_Number # devfsadm |
Verify that you added the disk.
# ls /dev/dsk/cXtYdZ |
On one node, update the device ID numbers.
Use the device ID number that you identified in Step 3.
If you are using Sun Cluster 3.2, use the following command:
# cldevice repair |
If you are using Sun Cluster 3.1, use the following command:
# scdidadm -R deviceID |
After running scdidadm —R on the first node, each subsequent node that you run the command on might display a warning. Ignore this warning.
Verify that you updated the disk's device ID number.
Use the device ID number that you identified in Step 3.
Verify that the disk ID number is different than the disk ID number that you identified in Step 3.
On each node, add the new disk to the Veritas Volume Manager database.
# vxdctl enable |
Verify that you added the new disk.
# vxdisk list |grep cXtYdZ |
Determine the master node.
# vxdctl -c mode |
Perform disk recovery tasks on the master node.
Depending on your configuration and volume layout, select the appropriate Veritas Volume Manager menu item to recover the failed disk.
# vxdiskadm # vxtask list |