These are the high-level steps to add a multihost disk to an SSVM or CVM configuration:
Switching logical hosts to one cluster node
Identifying the controller for this new disk and locating an empty slot in the tray or enclosure
For Model 100 series SPARCstorage Arrays, preparing the disk enclosure for removal of a disk tray
For Model 200 series SPARCstorage Arrays with wide differential SCSI disk trays, powering down the controller and all attached disks
Identifying SSVM or CVM objects on the affected tray
Stopping I/O to volumes with subdisks on the affected tray
Adding the new disk
Returning the affected drives to service
Spinning up all drives
Bringing back online all affected SSVM or CVM objects
Performing the administrative actions to prepare the disk for use by Sun Cluster
Creating the /devices special files and /dev/dsk and /dev/rdsk links
Scanning for the new disk
Adding the disk to VM control
Formatting and partitioning the disk, if necessary
Performing the volume manager-related administrative tasks
These are the detailed steps to add a new multihost disk to an SSVM configuration.
Switch ownership of the logical host that will include the new disk to another node in the cluster.
Switch over any logical hosts with disks in the tray you are removing.
phys-hahost1# haswitch phys-hahost1 hahost1 hahost2 |
In a mirrored configuration, you may not need to switch logical hosts as long as the node is not shut down.
Determine the controller number of the tray to which the disk will be added.
SPARCstorage Arrays are assigned World Wide Names (WWN). The WWN on the front of the SPARCstorage Array also appears as part of the /devices entry, which is linked by pointer to the /dev entry containing the controller number. For example:
phys-hahost1# ls -l /dev/rdsk | grep -i WWN | tail -1 |
If the WWN on the front of the SPARCstorage Array is 36cc, the following output will display and the controller number would be c2:
phys-hahost1# ls -l /dev/rdsk | grep -i 36cc | tail -1 lrwxrwxrwx 1 root root 94 Jun 25 22:39 c2t5d2s7 -> ../../devices/io- unit@f,e1200000/sbi@0,0/SUNW,soc@3,0/SUNW,pln@a0000800,201836cc/ ssd@5,2:h,raw phys-hahost1# |
Use the luxadm(1M) command with the display option to view the empty slots.
If you can add the disk without affecting other drives, skip to Step 11.
phys-hahost1# luxadm display c2 SPARCstorage Array Configuration ... DEVICE STATUS TRAY 1 TRAY 2 TRAY 3 slot 1 Drive: 0,0 Drive: 2,0 Drive: 4,0 2 Drive: 0,1 Drive: 2,1 Drive: 4,1 3 NO SELECT NO SELECT NO SELECT 4 NO SELECT NO SELECT NO SELECT 5 NO SELECT NO SELECT NO SELECT 6 Drive: 1,0 Drive: 3,0 Drive: 5,0 7 Drive: 1,1 NO SELECT NO SELECT 8 NO SELECT NO SELECT NO SELECT 9 NO SELECT NO SELECT NO SELECT 10 NO SELECT NO SELECT NO SELECT ... |
The empty slots are shown with a NO SELECT status. The output shown here is from a SPARCstorage Array 110; your display will be slightly different if you are using a different series SPARCstorage Array.
Determine the tray to which you will add the new disk.
In the remainder of the procedure, Tray 2 is used as an example. The slot selected for the new disk is Tray 2 Slot 7. The new disk will be known as c2t3d1.
Identify all the volumes and corresponding plexes on the disks in the tray which will contain the new disk.
From the physical device address cNtNdN, obtain the controller number and the target number.
In this example, the controller number is 2 and the target is 3.
Identify devices from a vxdisk list output.
Here is an example of how vxdisk can be used to obtain the information.
# vxdisk -g diskgroup -q list | nawk '/^c2/ {print $3}' |
Record the volume media name for the disks from the output of the command.
Identify all plexes on the above devices by using the appropriate version (csh, ksh, or Bourne shell) of the following command.
PLLIST=`vxprint -ptq -g diskgroup -e '(aslist.sd_dm_name in ("c2t3d0")) && (pl_kstate=ENABLED)' | nawk '{print $2}'` |
For csh, the syntax is set PLLIST .... For ksh, the syntax is export PLLIST= .... The Bourne shell requires the command export PLLIST after the variable is set.
After you have set the variable, stop I/O to the volumes whose components (subdisks) are on the tray.
Make sure all volumes associated with that tray are detached (mirrored or RAID5 configurations) or stopped (simple plexes). Issue the following command to detach a mirrored plex.
# vxplex -g diskgroup det ${PLLIST} |
An alternate command for detaching each plex in a tray is:
# vxplex -g diskgroup -v volume det plex |
To stop I/O to simple plexes, unmount any file systems or stop database access.
Mirrored volumes will still be active because the other half of the mirror is still available.
Add the new disk.
Use the instructions in your multihost disk expansion unit service manual to perform the hardware procedure of adding the disk.
Make sure all disks in the tray spin up.
The disks in the SPARCstorage Array tray should spin up automatically, but if the tray fails to spin up within two minutes, force the action with the following command:
phys-hahost1# luxadm start -t 2 c2 |
Run the drvconfig(1M) and disks(1M) commands to create the new entries in /devices, /dev/dsk, and /dev/rdsk for all new disks.
phys-hahost1# drvconfig phys-hahost1# disks |
Force the SSVM vxconfigd driver to scan for new disks.
phys-hahost1# vxdctl enable |
Bring the new disk under VM control by using the vxdiskadd command.
Perform the usual administration actions on the new disk.
You can now perform the usual administration steps that bring a new drive into service. These include partitioning the disk, adding it to the configuration as a hot spare, or configuring it as a plex.
This completes the procedure of adding a multihost disk to an existing SPARCstorage Array.