The following table lists the tasks that you perform to configure Solaris Volume Manager software for Sun Cluster configurations. Complete the procedures in the order that is indicated.
Table 4–1 Task Map: Configuring Solaris Volume Manager Software
Task |
Instructions |
---|---|
Plan the layout of your Solaris Volume Manager configuration. | |
(Solaris 9 only) Calculate the number of volume names and disk sets that you need for your configuration, and modify the /kernel/drv/md.conf file. | |
Create state database replicas on the local disks. | |
(Optional) Mirror file systems on the root disk. |
This procedure is only required for the Solaris 9 OS. If the cluster runs on the Solaris 10 OS, proceed to How to Create State Database Replicas.
With the Solaris 10 release, Solaris Volume Manager has been enhanced to configure volumes dynamically. You no longer need to edit the nmd and the md_nsets parameters in the /kernel/drv/md.conf file. New volumes are dynamically created, as needed.
This procedure describes how to determine the number of Solaris Volume Manager volume names and disk sets that you need for your configuration. This procedure also describes how to modify the /kernel/drv/md.conf file to specify these numbers.
The default number of volume names per disk set is 128, but many configurations need more than the default. Increase this number before you implement a configuration, to save administration time later.
At the same time, keep the value of the nmdfield and the md_nsets field as low as possible. Memory structures exist for all possible devices as determined by nmdand md_nsets, even if you have not created those devices. For optimal performance, keep the value of nmd and md_nsets only slightly higher than the number of volumes that you plan to use.
Have available the completed Device Group Configurations Worksheet.
Calculate the total number of disk sets that you expect to need in the cluster, then add one more disk set for private disk management.
The cluster can have a maximum of 32 disk sets, 31 disk sets for general use plus one disk set for private disk management. The default number of disk sets is 4. You supply this value for the md_nsets field in Step 3.
Calculate the largest volume name that you expect to need for any disk set in the cluster.
Each disk set can have a maximum of 8192 volume names. You supply this value for the nmd field in Step 3.
Determine the quantity of volume names that you expect to need for each disk set.
If you use local volumes, ensure that each local volume name on which a global-devices file system, /global/.devices/node@ nodeid, is mounted is unique throughout the cluster and does not use the same name as any device-ID name in the cluster.
Choose a range of numbers to use exclusively for device-ID names and a range for each node to use exclusively for its local volume names. For example, device-ID names might use the range from d1 to d100. Local volumes on node 1 might use names in the range from d100 to d199. And local volumes on node 2 might use d200 to d299.
Calculate the highest of the volume names that you expect to use in any disk set.
The quantity of volume names to set is based on the volume name value rather than on the actual quantity . For example, if your volume names range from d950 to d1000, Solaris Volume Manager software requires that you set the value at 1000 names, not 50.
On each node, become superuser and edit the /kernel/drv/md.conf file.
All cluster nodes (or cluster pairs in the cluster-pair topology) must have identical /kernel/drv/md.conf files, regardless of the number of disk sets served by each node. Failure to follow this guideline can result in serious Solaris Volume Manager errors and possible loss of data.
On each node, perform a reconfiguration reboot.
phys-schost# touch /reconfigure phys-schost# shutdown -g0 -y -i6 |
Changes to the /kernel/drv/md.conf file become operative after you perform a reconfiguration reboot.
Create local state database replicas. Go to How to Create State Database Replicas.
Perform this procedure on each node in the global cluster.
Become superuser.
Create state database replicas on one or more local devices for each cluster node.
Use the physical name (cNtXdY sZ), not the device-ID name (dN), to specify the slices to use.
phys-schost# metadb -af slice-1 slice-2 slice-3 |
To provide protection of state data, which is necessary to run Solaris Volume Manager software, create at least three replicas for each node. Also, you can place replicas on more than one device to provide protection if one of the devices fails.
See the metadb(1M) man page and your Solaris Volume Manager documentation for details.
Verify the replicas.
phys-schost# metadb |
The metadb command displays the list of replicas.
The following example shows three state database replicas. Each replica is created on a different device.
phys-schost# metadb -af c0t0d0s7 c0t1d0s7 c1t0d0s7 phys-schost# metadb flags first blk block count a u 16 8192 /dev/dsk/c0t0d0s7 a u 16 8192 /dev/dsk/c0t1d0s7 a u 16 8192 /dev/dsk/c1t0d0s7 |
To mirror file systems on the root disk, go to Mirroring the Root Disk.
Otherwise, go to Creating Disk Sets in a Cluster to create Solaris Volume Manager disk sets.
Mirroring the root disk prevents the cluster node itself from shutting down because of a system disk failure. Four types of file systems can reside on the root disk. Each file-system type is mirrored by using a different method.
Use the following procedures to mirror each type of file system.
For local disk mirroring, do not use /dev/global as the path when you specify the disk name. If you specify this path for anything other than cluster file systems, the system cannot boot.
Use this procedure to mirror the root (/) file system.
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 B, Sun Cluster Object-Oriented Commands, in Sun Cluster System Administration Guide for Solaris OS.
Become superuser.
Place the root slice in a single-slice (one-way) concatenation.
Specify the physical disk name of the root-disk slice (cNtXdYsZ).
phys-schost# metainit -f submirror1 1 1 root-disk-slice |
Create a second concatenation.
phys-schost# metainit submirror2 1 1 submirror-disk-slice |
Create a one-way mirror with one submirror.
phys-schost# metainit mirror -m submirror1 |
If the device is a local device to be used to mount a global-devices file system, /global/.devices/node@nodeid, the volume name for the mirror must be unique throughout the cluster.
Set up the system files for the root (/) directory.
phys-schost# metaroot mirror |
This command edits the /etc/vfstab and /etc/system files so the system can be booted with the root (/) file system on a metadevice or volume. For more information, see the metaroot(1M) man page.
Flush all file systems.
phys-schost# lockfs -fa |
This command flushes all transactions out of the log and writes the transactions to the master file system on all mounted UFS file systems. For more information, see the lockfs(1M) man page.
Move any resource groups or device groups from the node.
phys-schost# clnode evacuate from-node |
Specifies the name of the node from which to evacuate resource or device groups.
Reboot the node.
This command remounts the newly mirrored root (/) file system.
phys-schost# shutdown -g0 -y -i6 |
Attach the second submirror to the mirror.
phys-schost# metattach mirror submirror2 |
See the metattach(1M) man page for more information.
If the disk that is used to mirror the root disk is physically connected to more than one node (multihosted), disable fencing for that disk.
Disabling fencing for the device prevents unintentional fencing of a node from its boot device if the boot device is connected to multiple nodes.
phys-schost# cldevice set -p default_fencing=nofencing submirror-disk |
Specifies a device property.
Disables fencing for the specified device.
For more information about the default_fencing property, see the cldevice(1CL) man page.
Record the alternate boot path for possible future use.
If the primary boot device fails, you can then boot from this alternate boot device. See Special Considerations for Mirroring root (/) in Solaris Volume Manager Administration Guide or Creating a RAID-1 Volume in Solaris Volume Manager Administration Guide for more information about alternate boot devices.
phys-schost# ls -l /dev/rdsk/root-disk-slice |
Repeat Step 1 through Step 11 on each remaining node of the cluster.
Ensure that each volume name for a mirror on which a global-devices file system, /global/.devices/node@nodeid, is to be mounted is unique throughout the cluster.
The following example shows the creation of mirror d0 on the node phys-schost-1, which consists of submirror d10 on partition c0t0d0s0 and submirror d20 on partition c2t2d0s0. Device c2t2d0 is a multihost disk, so fencing is disabled. The example also displays the alternate boot path for recording.
phys-schost# metainit -f d10 1 1 c0t0d0s0 d11: Concat/Stripe is setup phys-schost# metainit d20 1 1 c2t2d0s0 d12: Concat/Stripe is setup phys-schost# metainit d0 -m d10 d10: Mirror is setup phys-schost# metaroot d0 phys-schost# lockfs -fa phys-schost# clnode evacuate phys-schost-1 phys-schost# shutdown -g0 -y -i6 phys-schost# metattach d0 d20 d0: Submirror d20 is attachedphys-schost# cldevice set -p default_fencing=nofencing c2t2d0 phys-schost# ls -l /dev/rdsk/c2t2d0s0 lrwxrwxrwx 1 root root 57 Apr 25 20:11 /dev/rdsk/c2t2d0s0 –> ../../devices/node@1/pci@1f,0/pci@1/scsi@3,1/disk@2,0:a,raw |
To mirror the global devices namespace, /global/.devices/node@nodeid, go to How to Mirror the Global Devices Namespace.
To mirror file systems than cannot be unmounted, go to How to Mirror File Systems Other Than Root (/) That Cannot Be Unmounted.
To mirror user-defined file systems, go to How to Mirror File Systems That Can Be Unmounted.
Otherwise, go to Creating Disk Sets in a Cluster to create a disk set.
Some of the steps in this mirroring procedure might cause an error message similar to metainit: dg-schost-1: d1s0: not a metadevice. Such an error message is harmless and can be ignored.
Use this procedure to mirror the global devices namespace, /global/.devices/node@nodeid/.
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 B, Sun Cluster Object-Oriented Commands, in Sun Cluster System Administration Guide for Solaris OS.
Become superuser.
Place the global devices namespace slice in a single-slice (one-way) concatenation.
Use the physical disk name of the disk slice (cNtXdY sZ).
phys-schost# metainit -f submirror1 1 1 diskslice |
Create a second concatenation.
phys-schost# metainit submirror2 1 1 submirror-diskslice |
Create a one-way mirror with one submirror.
phys-schost# metainit mirror -m submirror1 |
The volume name for a mirror on which a global-devices file system, /global/.devices/node@nodeid, is to be mounted must be unique throughout the cluster.
Attach the second submirror to the mirror.
This attachment starts a synchronization of the submirrors.
phys-schost# metattach mirror submirror2 |
Edit the /etc/vfstab file entry for the /global/.devices/node@nodeid file system.
Replace the names in the device to mount and device to fsck columns with the mirror name.
phys-schost# vi /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # /dev/md/dsk/mirror /dev/md/rdsk/mirror /global/.devices/node@nodeid ufs 2 no global |
Repeat Step 1 through Step 6 on each remaining node of the cluster.
Wait for the synchronization of the mirrors, started in Step 5, to be completed.
Use the metastat(1M) command to view mirror status and to verify that mirror synchronization is complete.
phys-schost# metastat mirror |
If the disk that is used to mirror the global devices namespace is physically connected to more than one node (multihosted), disable fencing for that disk.
Disabling fencing for the device prevents unintentional fencing of a node from its boot device if the boot device is connected to multiple nodes.
phys-schost# cldevice set -p default_fencing=nofencing submirror-disk |
Specifies a device property.
Disables fencing for the specified device.
For more information about the default_fencing property, see the cldevice(1CL) man page.
The following example shows creation of mirror d101, which consists of submirror d111 on partition c0t0d0s3 and submirror d121 on partition c2t2d0s3. The /etc/vfstab file entry for /global/.devices/node@1 is updated to use the mirror name d101. Device c2t2d0 is a multihost disk, so fencing is disabled.
phys-schost# metainit -f d111 1 1 c0t0d0s3 d111: Concat/Stripe is setup phys-schost# metainit d121 1 1 c2t2d0s3 d121: Concat/Stripe is setup phys-schost# metainit d101 -m d111 d101: Mirror is setup phys-schost# metattach d101 d121 d101: Submirror d121 is attached phys-schost# vi /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # /dev/md/dsk/d101 /dev/md/rdsk/d101 /global/.devices/node@1 ufs 2 no global phys-schost# metastat d101 d101: Mirror Submirror 0: d111 State: Okay Submirror 1: d121 State: Resyncing Resync in progress: 15 % done … phys-schost# cldevice show phys-schost-3:/dev/rdsk/c2t2d0 === DID Device Instances === DID Device Name: /dev/did/rdsk/d2 Full Device Path: phys-schost-1:/dev/rdsk/c2t2d0 Full Device Path: phys-schost-3:/dev/rdsk/c2t2d0 … phys-schost# cldevicegroup show | grep dsk/d2 Device Group Name: dsk/d2 … Node List: phys-schost-1, phys-schost-3 … localonly: false phys-schost# cldevicegroup remove-node -n phys-schost-3 dsk/d2 phys-schost# cldevice set -p default_fencing=nofencing c2t2d0 |
To mirror file systems other than root (/) that cannot be unmounted, go to How to Mirror File Systems Other Than Root (/) That Cannot Be Unmounted.
To mirror user-defined file systems, go to How to Mirror File Systems That Can Be Unmounted
Otherwise, go to Creating Disk Sets in a Cluster to create a disk set.
Some of the steps in this mirroring procedure might cause an error message similar to metainit: dg-schost-1: d1s0: not a metadevice. Such an error message is harmless and can be ignored.
Use this procedure to mirror file systems other than root (/) that cannot be unmounted during normal system usage, such as /usr, /opt, or swap.
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 B, Sun Cluster Object-Oriented Commands, in Sun Cluster System Administration Guide for Solaris OS.
Become superuser.
Place the slice on which an unmountable file system resides in a single-slice (one-way) concatenation.
Specify the physical disk name of the disk slice (cNtX dYsZ).
phys-schost# metainit -f submirror1 1 1 diskslice |
Create a second concatenation.
phys-schost# metainit submirror2 1 1 submirror-diskslice |
Create a one-way mirror with one submirror.
phys-schost# metainit mirror -m submirror1 |
The volume name for this mirror does not need to be unique throughout the cluster.
Repeat Step 1 through Step 4 for each remaining unmountable file system that you want to mirror.
On each node, edit the /etc/vfstab file entry for each unmountable file system you mirrored.
Replace the names in the device to mount and device to fsck columns with the mirror name.
phys-schost# vi /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # /dev/md/dsk/mirror /dev/md/rdsk/mirror /filesystem ufs 2 no global |
Move any resource groups or device groups from the node.
phys-schost# clnode evacuate from-node |
Specifies the name of the node from which to move resource or device groups.
Reboot the node.
phys-schost# shutdown -g0 -y -i6 |
Attach the second submirror to each mirror.
This attachment starts a synchronization of the submirrors.
phys-schost# metattach mirror submirror2 |
Wait for the synchronization of the mirrors, started in Step 9, to complete.
Use the metastat(1M) command to view mirror status and to verify that mirror synchronization is complete.
phys-schost# metastat mirror |
If the disk that is used to mirror the unmountable file system is physically connected to more than one node (multihosted), disable fencing for that disk.
Disabling fencing for the device prevents unintentional fencing of a node from its boot device if the boot device is connected to multiple nodes.
phys-schost# cldevice set -p default_fencing=nofencing submirror-disk |
Specifies a device property.
Disables fencing for the specified device.
For more information about the default_fencing property, see the cldevice(1CL) man page.
The following example shows the creation of mirror d1 on the node phys-schost-1 to mirror /usr, which resides on c0t0d0s1. Mirror d1 consists of submirror d11 on partition c0t0d0s1 and submirror d21 on partition c2t2d0s1. The /etc/vfstab file entry for /usr is updated to use the mirror name d1. Device c2t2d0 is a multihost disk, so fencing is disabled.
phys-schost# metainit -f d11 1 1 c0t0d0s1 d11: Concat/Stripe is setup phys-schost# metainit d21 1 1 c2t2d0s1 d21: Concat/Stripe is setup phys-schost# metainit d1 -m d11 d1: Mirror is setup phys-schost# vi /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # /dev/md/dsk/d1 /dev/md/rdsk/d1 /usr ufs 2 no global … phys-schost# clnode evacuate phys-schost-1 phys-schost# shutdown -g0 -y -i6 phys-schost# metattach d1 d21 d1: Submirror d21 is attached phys-schost# metastat d1 d1: Mirror Submirror 0: d11 State: Okay Submirror 1: d21 State: Resyncing Resync in progress: 15 % done … phys-schost# cldevice show phys-schost-3:/dev/rdsk/c2t2d0 … DID Device Name: /dev/did/rdsk/d2 phys-schost# cldevicegroup show dsk/d2 Device Group Name: dsk/d2 … Node List: phys-schost-1, phys-schost-3 … localonly: false phys-schost# cldevicegroup remove-node -n phys-schost-3 dsk/d2 phys-schost# cldevice set -p default_fencing=nofencing c2t2d0 |
To mirror user-defined file systems, go to How to Mirror File Systems That Can Be Unmounted.
Otherwise, go to Creating Disk Sets in a Cluster to create a disk set.
Some of the steps in this mirroring procedure might cause an error message similar to metainit: dg-schost-1: d1s0: not a metadevice. Such an error message is harmless and can be ignored.
Use this procedure to mirror user-defined file systems that can be unmounted. In this procedure, the nodes do not need to be rebooted.
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 B, Sun Cluster Object-Oriented Commands, in Sun Cluster System Administration Guide for Solaris OS.
Become superuser.
Unmount the file system to mirror.
Ensure that no processes are running on the file system.
phys-schost# umount /mount-point |
See the umount(1M) man page and Chapter 18, Mounting and Unmounting File Systems (Tasks), in System Administration Guide: Devices and File Systems for more information.
Place in a single-slice (one-way) concatenation the slice that contains a user-defined file system that can be unmounted.
Specify the physical disk name of the disk slice (cNtX dYsZ).
phys-schost# metainit -f submirror1 1 1 diskslice |
Create a second concatenation.
phys-schost# metainit submirror2 1 1 submirror-diskslice |
Create a one-way mirror with one submirror.
phys-schost# metainit mirror -m submirror1 |
The volume name for this mirror does not need to be unique throughout the cluster.
Repeat Step 1 through Step 5 for each mountable file system to be mirrored.
On each node, edit the /etc/vfstab file entry for each file system you mirrored.
Replace the names in the device to mount and device to fsck columns with the mirror name.
phys-schost# vi /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # /dev/md/dsk/mirror /dev/md/rdsk/mirror /filesystem ufs 2 no global |
Attach the second submirror to the mirror.
This attachment starts a synchronization of the submirrors.
phys-schost# metattach mirror submirror2 |
Wait for the synchronization of the mirrors, started in Step 8, to be completed.
Use the metastat(1M) command to view mirror status.
phys-schost# metastat mirror |
If the disk that is used to mirror the user-defined file system is physically connected to more than one node (multihosted), disable fencing for that disk.
Disabling fencing for the device prevents unintentional fencing of a node from its boot device if the boot device is connected to multiple nodes.
phys-schost# cldevice set -p default_fencing=nofencing submirror-disk |
Specifies a device property.
Disables fencing for the specified device.
For more information about the default_fencing property, see the cldevice(1CL) man page.
Mount the mirrored file system.
phys-schost# mount /mount-point |
See the mount(1M) man page and Chapter 18, Mounting and Unmounting File Systems (Tasks), in System Administration Guide: Devices and File Systems for more information.
The following example shows creation of mirror d4 to mirror /export, which resides on c0t0d0s4. Mirror d4 consists of submirror d14 on partition c0t0d0s4 and submirror d24 on partition c2t2d0s4. The /etc/vfstab file entry for /export is updated to use the mirror name d4. Device c2t2d0 is a multihost disk, so fencing is disabled.
phys-schost# umount /export phys-schost# metainit -f d14 1 1 c0t0d0s4 d14: Concat/Stripe is setup phys-schost# metainit d24 1 1 c2t2d0s4 d24: Concat/Stripe is setup phys-schost# metainit d4 -m d14 d4: Mirror is setup phys-schost# vi /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # # /dev/md/dsk/d4 /dev/md/rdsk/d4 /export ufs 2 no global phys-schost# metattach d4 d24 d4: Submirror d24 is attached phys-schost# metastat d4 d4: Mirror Submirror 0: d14 State: Okay Submirror 1: d24 State: Resyncing Resync in progress: 15 % done … phys-schost# cldevice show phys-schost-3:/dev/rdsk/c2t2d0 … DID Device Name: /dev/did/rdsk/d2 phys-schost# cldevicegroup show dsk/d2 Device Group Name: dsk/d2 … Node List: phys-schost-1, phys-schost-2 … localonly: false phys-schost# cldevicegroup remove-node -n phys-schost-3 dsk/d2 phys-schost# cldevice set -p default_fencing=nofencing c2t2d0 phys-schost# mount /export |
If you need to create disk sets, go to one of the following:
To create a Solaris Volume Manager for Sun Cluster disk set for use by Oracle Real Application Clusters, go to How to Create a Multi-Owner Disk Set in Solaris Volume Manager for Sun Cluster for the Oracle RAC Database in Sun Cluster Data Service for Oracle RAC Guide for Solaris OS.
To create a disk set for any other application, go to Creating Disk Sets in a Cluster.
If you have sufficient disk sets for your needs, go to one of the following:
If your cluster contains disk sets that are configured with exactly two disk enclosures and two nodes, you must add dual-string mediators. Go to Configuring Dual-String Mediators.
If your cluster configuration does not require dual-string mediators, go to How to Create Cluster File Systems.
Some of the steps in this mirroring procedure might cause an error message that is similar to metainit: dg-schost-1: d1s0: not a metadevice. Such an error message is harmless and can be ignored.