Solaris Cluster Installation is covered in detail in the Oracle Solaris Cluster Software Installation Guide, available from the Oracle technetwork site (see "Downloading Software Packages" of this document).
ACSLSHA 8.4 is supported on Solaris 11.2 with Oracle Solaris Cluster 4.2.
Follow this procedure to install Cluster software.
Create a directory, /opt/OSC
.
# mkdir /opt/OSC
You may have downloaded one or two iso images for the Solaris Cluster package, depending on the operation system version that you determined in "Downloading Oracle Cluster 4.2". Move each Cluster package downloaded to the /opt/OSC
directory.
Unzip the packages. Identify an iso image for each unzipped package.
Create a pseudo device from each iso image.
# /usr/sbin/lofiadm -a /opt/OSC/V46190-01.iso # /usr/sbin/lofiadm -a /opt/OSC/osc-4_2_5_1_0-repo-incr.iso
Keep track of the /dev/lofi
instance numbers you created for each of these.
In the /opt/OSC
directory, create a mount point for each pseudo device.
# mkdir mnt # mkdir mnt1
Mount the pseudo devices to these mount points.
# mount –F hsfs –o ro /dev/lofi/1 /opt/OSC/mnt # mount –F hsfs –o ro /dev/lofi/2 /opt/OSC/mnt1
Select one of the following:
If your Solaris version is 11.2.13 or higher, proceed to step 8.
If your Solaris version is 11.2.12 or below and you downloaded only the base Cluster image, you can now publish the repository for that base image.
# pkg set publisher –G ’*' –g file:/opt/OSC/mnt/repo ha-cluster
Proceed to the step 13 in this section to install the package.
In the following steps, you copy the OSC base package into a read/write file system to merge the patch update with the base package.
Create a read/write file system for merging the OSC packages.
# cd /opt/OSC # mkdir merged_iso
Copy the base OSC image repository into the directory created.
# cp –r mnt/repo merged_iso
Synchronize the two images together into the merged directory.
# rsync –aP mnt1/repo merged_iso
Rebuild the search indexes for the repository
# pkgrepo rebuild –s merged_iso/repo
Publish the ha-cluster
repository of the merged packages.
# pkg set-publisher –g file:/opt/OSC/merged_iso/repo ha-cluster
Install the Oracle Solaris Cluster package.
# pkg install -–accept ha-cluster-full
Repeat steps 1-13 on the adjacent node.
scinstall
RoutineThe Solaris Cluster installation routine makes a series of checks between the two nodes to ensure that it can monitor system operation from both servers and can control startup and failover actions.
Preliminary Steps:
Before running scinstall
, it is helpful to establish an environment for root
which includes the path to the cluster utilities that have just been installed. Edit the file /root/.profile
. Change the path statement to include /usr/cluster/bin
.
export PATH=/usr/cluster/bin:/usr/bin:/usr/sbin
Be sure to make this change on each node. To inherit the new path, log out and log back in, or simply su -
.
Confirm that the config/local_only
property for rpc/bind
is false
# svccfg -s network/rpc/bind listprop config/local_only
If this property returns true, then you must set it to false.
# svccfg -s network/rpc/bind setprop config/local_only=false
Now confirm:
# svccfg -s network/rpc/bind listprop config/local_only
An essential hardware setup requirement for Cluster software is the existence of two private network connections, reserved to ensure uninterrupted communication for cluster operation between the two nodes.
Figure 2-1, "Single HBCr Library Interface Card Connected to Two Ethernet Ports on each Server Node" shows these physical connections, labeled as (2). Each connection originates from a separate network adapter to ensure that no single point of failure can interrupt Cluster's internal communication. The scinstall
routine checks each of the two connections to verify that no other network traffic is seen on the wire. Finally, scinstall
verifies that communication is functional between the two lines. Once the physical connection is verified, the routine plumbs each interface to a private internal address beginning with 172.16.
Before running scinstall
, verify the assigned network device ID for the two network ports on each server set up for this private connection. Run dladm show-phys
to view the interface assignments.
# dladm show-phys
A Logical Host Name and IP address must be established to represent the cluster from either node. This logical host reliably responds to network communication whether the active host would be running from node1 or node2.
Update the /etc/hosts
file on both nodes to include the logical hostname and logical ip address. This host becomes active when you start ACSLS HA ("Configuring ACSLS HA").
For a successful cluster installation, have the Solaris Common Agent Container enabled. Verify that the agent container is enabled.
# cacaoadm status
If the status response indicates that the agent container is DISABLED at system startup, then enable it as follows:
# cacaoadm enable
scinstall
From one of the two nodes, run the command scinstall
, and then follow this procedure:
From the main menu, select Create a new cluster.
From the sub menu, select Create a new cluster.
Accept initial defaults.
Select Typical install.
Assign a name for the cluster, such as acsls_cluster
.
At the Cluster Nodes prompt, enter the hostname of the adjacent node. Accept the node list if it is correct
Define the two private node interconnections identified for this purpose. Allow the install routine to plumb TCP links to the physical connections.
Follow the prompts to create the cluster. Unless you have identified a specific device to serve as a quorum device, allow the scinstall
routine to select the quorum device(s).
Don't be alarmed if the utility reports that the cluster check failed on both nodes. A failure is reported even for minor warnings. Review the report for each node, and look for any serious errors or violations that may be returned. The routine displays the path to a log file which reports details surrounding any errors or warnings encountered during the operation. Review the log file and correct any severe or moderately severe problems that were identified.
The scinstall
routine is run from one node and installs Solaris Cluster on both nodes. Observe the routine configuring one node, rebooting that node, then configuring the second node, and rebooting that second node.
Verify that both nodes are included in the cluster.
# clnode list -v Node Type ---- ---- node1 cluster node2 cluster
View the list of devices available to Solaris Cluster.
# cldevice list -v DID Device Full Device Path d1 node1:/dev/rdsk/c0t600A0B800049EDD600000C9952CAA03Ed0 d1 node2:/dev/rdsk/c0t600A0B800049EDD600000C9952CAA03Ed0 d2 node1:/dev/rdsk/c0t600A0B800049EE1A0000832652CAA899d0 d2 node2:/dev/rdsk/c0t600A0B800049EE1A0000832652CAA899d0 d3 node1:/dev/rdsk/c1t0d0 d4 node1:/dev/rdsk/c1t1d0 d5 node2:/dev/rdsk/c1t0d0 d6 node2:/dev/rdsk/c1t1d0
In this example, the shared disk devices are d1 and d2 while d3 and d4 are the node1 boot devices and d5 and d6 are the node2 boot devices. Notice that d1 and d2 are accessible from either node.
A quorum consists of three or more devices. It is used during startup events to determine which node is to become the active node.
Confirm that a full quorum has been configured.
# clquorum list -v Quorum Type ------ ---- d1 shared_disk node1 node node2 node
A second shared_disk can be optionally added to the list of quorum devices.
# clquorum add d2 # clquorum list -v Quorum Type ------ ---- d1 shared_disk d2 shared_disk node1 node node2 node
If the shared disk devices are not listed, determine their device id's and then add them to the quorum.
Identify the device id for each shared disk.
# cldevice list -v
Run clsetup
to add the quorum devices.
# clsetup Select '1' for quorum. Select '1' to dd a quorum device. Select 'yes' to continue. Select 'Directly attached shared disk' Select 'yes' to continue. Enter the device id (d<n>) for the first shared drive. Answer 'yes' to add another quorum device. Enter the device id for the second shared drive.
Run clquorum
show
to confirm the quorum membership.
# clquorum show
Review overall cluster configuration.
# cluster check -v | egrep -v "not applicable|passed"
Look for any violated instances in the list.
Verify the list of registered resource types.
# clrt list SUNW.LogicalHostname:4 SUNW.SharedAddress:2 SUNW.gds:6
If SUNW.gds
is not listed, register it.
# clrt register SUNW.gds
Confirm with clrt list
.