Previous  |  Next  >  
Product: Cluster Server Guides   
Manual: Cluster Server 4.1 User's Guide   

Sample Configuration: Complex Four-Node Cluster

The cluster in this example has two large enterprise servers (LargeServer1 and LargeServer2) and two medium-sized servers (MedServer1 and MedServer2). It has four service groups, G1 through G4, with various loads and prerequisites. Groups G1 and G2 are database applications with specific shared memory and semaphore requirements. Groups G3 and G4 are middle-tier applications with no specific memory or semaphore requirements.


include "types.cf"   
cluster SGWM-demo (
 )

system LargeServer1 (
 Capacity = 200
 Limits = { ShrMemSeg=20, Semaphores=10, Processors=12 }
 LoadWarningLevel = 90
 LoadTimeThreshold = 600
 )

system LargeServer2 (
 Capacity = 200
 Limits = { ShrMemSeg=20, Semaphores=10, Processors=12 }
 LoadWarningLevel=70
 LoadTimeThreshold=300
 )

system MedServer1 (
 Capacity = 100
 Limits = { ShrMemSeg=10, Semaphores=5, Processors=6 } 
 )
 
system MedServer2 (
 Capacity = 100
 Limits = { ShrMemSeg=10, Semaphores=5, Processors=6 } 
 )
group G1 (     
 SystemList = { LargeServer1, LargeServer2, MedServer1, MedServer2 }
 SystemZones = { LargeServer1=0, LargeServer2=0, MedServer1=1,
   MedServer2=1 }
 AutoStartPolicy = Load 
 AutoStartList = { LargeServer1, LargeServer2 }
 FailOverPolicy = Load
 Load = 100 
Prerequisites = { ShrMemSeg=10, Semaphores=5, Processors=6 }  
 )

group G2 (     
 SystemList = { LargeServer1, LargeServer2, MedServer1, MedServer2 }
 SystemZones = { LargeServer1=0, LargeServer2=0, MedServer1=1,
   MedServer2=1 }
 AutoStartPolicy = Load 
 AutoStartList = { LargeServer1, LargeServer2 }
 FailOverPolicy = Load
 Load = 100 
Prerequisites = { ShrMemSeg=10, Semaphores=5, Processors=6 }  
 )

 group G3 (     
 SystemList = { LargeServer1, LargeServer2, MedServer1, MedServer2 }
 SystemZones = { LargeServer1=0, LargeServer2=0, MedServer1=1,
   MedServer2=1 }
 AutoStartPolicy = Load 
 AutoStartList = { MedServer1, MedServer2 }
 FailOverPolicy = Load
 Load = 30 
 )

group G4 (     
 SystemList = { LargeServer1, LargeServer2, MedServer1, MedServer2 }
 SystemZones = { LargeServer1=0, LargeServer2=0, MedServer1=1,
   MedServer2=1 }
 AutoStartPolicy = Load 
 AutoStartList = { MedServer1, MedServer2 }
 FailOverPolicy = Load
 Load = 20 
 )

AutoStart Operation

In this configuration, the AutoStart sequence resembles:

G1---LargeServer1
G2---LargeServer2
G3---MedServer1
G4---MedServer2

All groups begin a probe sequence when the cluster starts. Groups G1 and G2 have an AutoStartList of LargeServer1 and LargeServer2. When these groups probe, they are queued to go online on one of these servers, based on highest AvailableCapacity value. If G1 probes first, it chooses LargeServer1 because LargeServer1 and LargeServer2 both have an AvailableCapacity of 200, but LargeServer1 is lexically first. Groups G3 and G4 use the same algorithm to determine their servers.

Normal Operation

The configuration resembles:

Server AvailableCapacity CurrentLimits Online Groups

LargeServer1

100

ShrMemSeg=10

Semaphores=5

Processors=6

G1

LargeServer2

100

ShrMemSeg=10

Semaphores=5

Processors=6

G2

MedServer1

70

ShrMemSeg=10

Semaphores=5

Processors=6

G3

MedServer2

80

ShrMemSeg=10

Semaphores=5

Processors=6

G4

Failure Scenario

In this scenario, if LargeServer2 fails, VCS scans all available systems in group G2's SystemList that are in the same SystemZone and creates a subset of systems that meet the group's prerequisites. In this case, LargeServer1 meets all required Limits. Group G2 is brought online on LargeServer1. This results in the following configuration:

Server AvailableCapacity CurrentLimits Online Groups

LargeServer1

0

ShrMemSeg=0

Semaphores=0

Processors=0

G1, G2

MedServer1

70

ShrMemSeg=10

Semaphores=5

Processors=6

G3

MedServer2

80

ShrMemSeg=10

Semaphores=5

Processors=6

G4

After 10 minutes (LoadTimeThreshold = 600) VCS fires the loadwarning trigger on LargeServer1 because the LoadWarningLevel exceeds 90 percent.

Cascading Failure Scenario

In this scenario, another system failure can be tolerated because each system has sufficient Limits to accommodate the service group running on its peer. If MedServer1 fails, its groups can fail over to MedServer2.

If LargeServer1 fails, the failover of the two groups running on it is serialized. The first group lexically, G1, chooses MedServer2 because the server meets the required Limits and has AvailableCapacity value. Group G2 chooses MedServer1 because it is the only remaining system that meets the required Limits.

 ^ Return to Top Previous  |  Next  >  
Product: Cluster Server Guides  
Manual: Cluster Server 4.1 User's Guide  
VERITAS Software Corporation
www.veritas.com