Oracle Solaris Cluster provides high availability (HA) and failover management for critical applications and services running on Solaris 11. It ensures minimal downtime by detecting failures and automatically moving resources to healthy nodes.
Key Features:
- Automatic failover: Applications and services recover automatically when a node or resource fails.
- Centralized cluster management: Use CLI (cluster commands) or GUI (Sun Management Console).
- Resource management: Filesystems, IP addresses, applications, and virtual IPs.
- Support for modern storage: Shared ZFS pools, SAN, iSCSI, Fibre Channel.
Cluster Components
| Component | Description |
|---|---|
| Cluster Node | Physical server participating in the cluster. Each node runs Solaris 11 and OSC packages. |
| Cluster Interconnect | Dedicated network link for heartbeat and cluster communication. Separate from public client network. |
| Shared Storage | SAN, NAS, or ZFS storage accessible from all nodes. Stores data and application resources. |
| Resource Groups | Logical grouping of resources (IP, filesystems, apps). Managed together for failover. |
| Global Services | Services monitored across nodes for failover. |
| HA Resources | Individual resources like IP addresses, filesystems, or applications that are managed by OSC. |
Requirements for Solaris 11 Cluster
Hardware:
- Minimum two SPARC or x86 servers.
- Shared storage (SAN, iSCSI, or FC) for HA resources.
- Dedicated cluster interconnect network for heartbeat communication.
Software:
Oracle Solaris 11 installed on all nodes.
Solaris Cluster packages:
# pkg install cluster/base cluster/node cluster/resource-manager
Optional GUI: Sun Management Console (for graphical cluster management).
Network:
- Private heartbeat network (for cluster communication).
- Public network for client access.
- Unique hostnames and IP addresses for each node.
Time Synchronization:
Use NTP to keep clocks in sync across nodes:
# svcadm enable ntp
# ntpq -p
Step 1: Prepare Nodes
Install Solaris 11 on all nodes.
Configure hostname and IP addresses for public and private networks:
# hostname node1
# ipadm create-addr -T static -a local=192.168.1.10/24 net0/v4
Verify connectivity between nodes:
# ping node2
Verify cluster packages installed:
# pkg list -i | grep cluster
Step 2: Install Solaris Cluster Software
On each node:
# pkg install cluster/base cluster/node cluster/resource-manager
Verify installation:
# cluster status
# pkg list -i | grep cluster
Step 3: Configure Cluster
3.1 Create Cluster
# cluster create -n mycluster -f
3.2 Add Nodes
# cluster addnode -n node1
# cluster addnode -n node2
3.3 Verify Cluster Nodes
# cluster list
3.4 Configure Heartbeat Network
# cluster network add -n private -i net1
net1 should be dedicated to cluster heartbeat traffic.
Step 4: Configure Shared Storage
Identify shared disks accessible to all nodes:
# format # Lists SAN disks
Create shared ZFS pool:
# zpool create sharedpool cXtYdZ
Add shared filesystem as cluster resource:
# clresource create fs -n shared_fs -p /shared -t zfs
Step 5: Configure HA Resources
5.1 Create Resource Group
# clresourcegroup create -n rg1 -p node1
Resource groups allow multiple resources to fail over together.
5.2 Add Resources
Add IP:
# clresource create ip -n vip1 -p 192.168.1.100 -g rg1
Add filesystem:
# clresource create fs -n shared_fs -p /shared -g rg1
5.3 Enable Resources
# clresource enable -n vip1
# clresource enable -n shared_fs
Step 6: Test Failover
Simulate node failure:
# cluster stop -n node1
Check failover:
# clresource list
# cluster status
Resources should automatically move to node2.
Bring failed node back online:
# cluster start -n node1
Step 7: HA Resource Examples
| Resource | Command Example |
|---|---|
| IP Address | clresource create ip -n vip2 -p 192.168.1.101 -g rg2 |
| ZFS Filesystem | clresource create fs -n appdata -p /app/data -t zfs -g rg2 |
| Oracle DB | clresource create oracle -n oradb1 -g rg3 |
| Apache Web Server | clresource create app -n apache -t application -g rg4 |
Best Practices
Always use a dedicated private network for heartbeat traffic.
Keep all nodes’ time in sync using NTP.
Use resource groups for logically connected resources.
Test failover and recovery before going live.
Monitor cluster status regularly:
# cluster status
# clresource list
Keep unique hostnames and IPs across nodes.
Ensure shared storage is accessible from all nodes before configuring resources.
Keep logs of cluster events:
# tail -f /var/cluster/log/*
No comments:
Post a Comment