VCS Building Blocks
VCS Building Blocks
Definition of a Cluster
A cluster is a collection of multiple
independent systems working
together under a management
framework for increased service
availability.
Application
Node
Storage
Cluster Interconnect
Application
Node
Failed Node
Storage
Cluster
Interconnect
Parallel
The service group can be online on multiple cluster
systems simultaneously.
An example is Oracle Real Application Cluster (RAC).
Hybrid
This is a special-purpose type of service group used to manage
service groups in replicated data clusters (RDCs). RDCs use
replication between systems at different sites instead of shared
storage.
Definition of a Resource
Resources are VCS objects that correspond to the
hardware or software components of an application
service.
Each resource must have a unique name throughout the
cluster. Choosing names that reflect the service group
name makes it easy to identify all resources in that
group, for example, WebIP in the WebSG group.
Resources are always contained within service groups.
Resource categories include:
Persistent
None (NIC)
On-only (NFS)
Nonpersistent
On-off (Mount)
Resource Dependencies
Resources in a service group have a defined
dependency relationship, which determines the
online and offline order of the resource.
A parent resource depends
on a child resource.
There is no limit to the
number of parent and child
resources.
Persistent resources, such
as NIC, cannot be parent
resources.
Dependencies cannot be
cyclical.
Parent
Parent/child
Child
Resource Attributes
Resource attributes define
an individual resource.
The attribute values are
used by VCS to manage
the resource.
Resources can have
required and optional
attributes, as specified
by the resource type
definition.
WebMount
resource
Solaris
Resource Types
Resources are classified
by type.
The resource type
specifies the
attributes needed to
define a resource of
that type.
For example, a Mount
resource has different
properties than an IP
resource.
Solaris
mount [-F FSType] [options] block_device mount_point
10.1.2.3
online
eri0
offline
monitor
IP
NIC
Mount
Disk
Group
Volume
clean
Cluster Communication
A cluster interconnect provides a communication
channel between cluster nodes.
The cluster interconnect
serves to:
Determine which systems are
members of the cluster using a
heartbeat mechanism.
Maintain a single view of the
status of the cluster
configuration on all systems in
the cluster membership.
LLT
LLT
GAB
GAB
LLT
LLT
Manages cluster
membership; referred to
as GAB membership
Sends and receives
atomic broadcasts of
configuration information
Is a proprietary
broadcast protocol
Uses LLT as its
transport mechanism
Reboot
Fence
Fence
GAB
LLT
GAB
LLT
Fencing:
Monitors GAB to detect
cluster membership
changes
Ensures a single view
of cluster membership
Prevents multiple nodes
from accessing the
same Volume Manager
4.x shared storage
devices
Fence
GAB
LLT
HAD
User Processes
iPlanet
hashadow
TCP
GAB
Kernel Processes
IP
LLT
NIC
Hardware
NIC
HAD
main.cf
hashadow
HAD
hashadow
HAD maintains a
replica of the cluster
configuration in
memory on each
system.
Changes to the
configuration are
broadcast to HAD on
all systems
simultaneously by
way of GAB using
LLT.
The configuration is
preserved on disk in
the main.cf file.
main.cf
include "types.cf"
cluster vcs (
UserNames = { admin = ElmElgLimHmmKumGlj }
Administrators = { admin }
CounterInterval = 5
A simple text file is used to
)
store the cluster configuration
system S1 (
on disk.
)
The file contents are described
system S2 (
in detail later in the course.
)
group WebSG (
SystemList = { S1 = 0, S2 = 1 }
)
Mount WebMount (
MountPoint = "/web"
BlockDevice = "/dev/vx/dsk/WebDG/WebVol"
FSType = vxfs
FsckOpt = "-y"
)
VCS Architecture
Agents monitor resources on
each system and provide
status to HAD on the local
system.
HAD on each system sends
status information to GAB.
GAB broadcasts
configuration information to
all cluster members.
LLT transports all cluster
communications to all cluster
nodes.
HAD on each node takes
corrective action, such as
failover, when necessary.
Active/Passive
Before Failover
After Failover
Active/Passive N-to-1
Before Failover
After Failover
Active/Passive N + 1
Standby Server
After Failover
Before Failover
Standby Server
After Repair
Active/Active
Before Failover
After Failover
N-to-N
Before Failover
After Failover