Beginners Guide to Oracle Clusterware architecture
A cluster consists of a group of independent but interconnected computers whose combined resources can be applied to a processing task. A common cluster feature is that it should appear to an application as though it were a single server. Most cluster architectures use a dedicated network (interconnect) for communication and coordination between cluster nodes.
A common cluster architecture for data-intensive transactions and computations is built around shared disk storage. Shared-nothing clusters use an alternative architecture where storage is not shared and data must be either replicated or segmented across the cluster. Shared-nothing clusters are commonly used for workloads that can be easily and predictably divided into small units that can be spread across the cluster in parallel. Shared disk clusters can perform these tasks but also offer increased flexibility for varying workloads. Load balancing clusters allow a single application to balance its workload across the cluster.
Alternatively, in a failover cluster, some nodes can be designated as the primary host for an application, whereas others act as the primary host for different applications. In a failover cluster, the failure of a node requires that the applications it supports be moved to a surviving node. Load balancing clusters can provide failover capabilities but they can also run a single application across multiple nodes providing greater flexibility for different workload requirements. Oracle supports a shared disk cluster architecture providing load balancing and failover capabilities. In an Oracle cluster, all nodes must share the same processor architecture and run the same operating system. With the release of Oracle Database 12c, Flex ASM allows nodes in the cluster access to shared storage indirectly through an ASM instance on another node in the cluster.
Clusterware is a term used to describe the software that provides interfaces and services that enable and support a cluster. Different cluster architectures require clusterware that delivers different services. For example, in a simple failover cluster, the clusterware may monitor the availability of applications and perform a failover operation if a cluster node becomes unavailable. In a load-balancing cluster, different services are required to support workload concurrency and coordination.
Typically, clusterware includes capabilities that:
- Allow the cluster to be managed as a single entity (not including OS requirements), if desired
- Protect the integrity of the cluster so that data is protected and the cluster continues to function even if communication with a cluster node is severed
- Maintain a registry of resources so that their location is known across the cluster and so that dependencies between resources is maintained
- Deal with changes to the cluster such as node additions, removals, or failures
- Provide a common view of resources such as network addresses and files in a file system
Oracle Clusterware is a key part of Oracle Grid Infrastructure, which also includes Automatic Storage Management (ASM) and the Oracle ASM Cluster File System. Oracle Clusterware can use ASM for all the shared files required by the cluster. Oracle Clusterware is also a foundation for the ASM Cluster File System, a generalized cluster file system that can be used for most file-based data such as documents, spreadsheets, and reports.
The combination of Oracle Clusterware, ASM, and ACFS provides administrators with a unified cluster solution that is not only the foundation for the RAC database, but can also be applied to all kinds of other applications. Oracle Clusterware also manages resources, such as virtual IP (VIP) addresses, databases, listeners, services, and so on.
Using Oracle Clusterware eliminates the need for proprietary vendor clusterware and provides the benefit of using only Oracle software. Oracle provides an entire software solution, including everything from disk management with Oracle Automatic Storage Management (Oracle ASM) to data management with Oracle Database and Oracle RAC. In addition, Oracle Database features, such as Oracle Services, provide advanced functionality when used with the underlying Oracle Clusterware high availability framework.
With the introduction of Oracle 12c Flex Clusters, pure shared disk clusters are not the only type of clustered hardware supported. The architecture has become hybrid with the introduction of hub and leaf nodes.
Oracle Flex Clusters
Flex Clusters use a hub-and-spoke topology, as illustrated above.
All nodes in an Oracle Flex Cluster belong to a single Oracle Grid Infrastructure cluster. This architecture centralizes policy decisions for deployment of resources based on application needs, to account for various service levels, loads, failure responses, and recovery.
The core of a Flex Cluster is a group of Hub Nodes. The group is essentially the same as a release 11.2 cluster, and can scale up to the size of an existing release 11.2 cluster. There must be one, and only one, group of Hub Nodes in a Flex Cluster deployment, and like a release 11.2 cluster, each Hub Node must be connected to storage that is shared across the group of Hub Nodes.
Zero or more Leaf Nodes may be connected to a Flex Cluster. Each Leaf Node is connected to the cluster through a Hub Node. Leaf Nodes do not require direct access to the shared storage connected to the Hub Nodes. Starting with Oracle Grid Infrastructure 12c Release 2 (12.2), Oracle Grid Infrastructure cluster configurations are Oracle Flex Clusters deployments.
Oracle Grid Infrastructure installed in an Oracle Flex Cluster configuration is a scalable, dynamic, robust network of nodes. Oracle Flex Clusters provide a platform for Oracle Real Application Clusters databases with large numbers of nodes, to support massive parallel query operations. Oracle Flex Clusters also provide a platform for other service deployments that require coordination and automation for high availability.
Cluster Configuration Options
The cluster configuration options that are available in Oracle Grid Infrastructure 12c, Release 2 include:
- Oracle Standalone Clusters
- Oracle Domain Services Cluster
- Oracle Member Cluster for Oracle Databases
- Oracle Member Cluster for Applications
- Oracle Extended Clusters
Oracle Standalone Cluster
An Oracle Standalone (Flex) Cluster hosts all Oracle Grid Infrastructure services and Oracle ASM locally and requires direct access to shared storage. Oracle Standalone Clusters contain two types of nodes arranged in a hub-and-spoke architecture: Hub Nodes and Leaf Nodes.
- The number of Hub Nodes in an Oracle Standalone Cluster can be as many as 64. The number of Leaf Nodes can be many more.
- The Hub Nodes and Leaf Nodes can host different types of applications.
- The Oracle Standalone Cluster Hub Nodes are tightly connected and have direct access to shared storage. The Leaf Nodes do not require direct access to shared storage.
- The Hub Nodes can run in an Oracle Standalone Cluster configuration without having any Leaf Nodes as cluster member nodes, but Leaf Nodes must be members of a cluster with a pool of Hub Nodes.
- Shared storage is locally mounted on each of the Hub Nodes, with an Oracle ASM instance that is available to all Hub Nodes.
Oracle Cluster Domain
An Oracle Cluster Domain is a choice of deployment architecture for new clusters, introduced in Oracle Clusterware 12c, Release 2. Oracle Cluster Domain enables you to standardize, centralize, and optimize your Oracle Real Application Clusters (Oracle RAC) deployment for the private database cloud. Multiple cluster configurations are grouped under an Oracle Cluster Domain for management purposes and use the shared services that are available within that Oracle Cluster Domain. The cluster configurations within that Oracle Cluster Domain include Oracle Domain Services Cluster and Oracle Member Clusters.
Oracle Domain Services Cluster
The Oracle Domain Services Cluster provides centralized services to other clusters within the Oracle Cluster Domain. These services include:
- A centralized Grid Infrastructure Management Repository (housing the MGMTDB for each of the clusters within the Oracle Cluster Domain)
- Trace File Analyzer (TFA) services, for targeted diagnostic data collection for Oracle Clusterware and Oracle Database
- Consolidated Oracle ASM storage management service
- An optional Rapid Home Provisioning (RHP) service to install clusters, and provision, patch, and upgrade Oracle Grid Infrastructure and Oracle Database homes. When you configure the Oracle Domain Services Cluster, you can also choose to configure the Rapid Home Provisioning Server.
An Oracle Domain Services Cluster provides these centralized services to Oracle Member Clusters. Oracle Member Clusters use these services:
- For centralized and simplified management
- To reduce their local resource usage and dependence
Oracle Member Cluster for Oracle Databases
An Oracle Member Cluster for Oracle Databases supports Oracle Real Application Clusters (Oracle RAC) or Oracle RAC One Node database instances. This cluster registers with the management repository service and uses the centralized TFA service. It can use additional services as needed. An Oracle Member Cluster for Oracle Databases can be configured with local Oracle ASM storage management or use the consolidated Oracle ASM storage management service offered by the Oracle Domain Services Cluster.
An Oracle Member Cluster for Oracle Databases always uses the remote Grid Infrastructure Management Repository (GIMR) from its Oracle Domain Services Cluster. For two-node or four-node clusters, hosting the GIMR on a remote cluster reduces the overhead of running an extra infrastructure repository on a cluster.
Oracle Member Cluster for Applications
Oracle Member Cluster for Applications hosts applications other than Oracle Database, as part of an Oracle Cluster Domain. An Oracle Member Cluster requires connectivity to Oracle Cluster Domain Services for centralized management and resource efficiency. The Oracle Member Cluster uses remote Oracle ASM storage and does not require direct shared storage access. This cluster configuration enables high availability of any software application.
Oracle Extended Cluster
An Oracle Extended Cluster consists of nodes that are located in multiple locations called sites. When you deploy an Oracle Standalone Cluster, you can also choose to configure the cluster as an Oracle Extended Cluster. You can extend an Oracle RAC cluster across two, or more, geographically separate sites, each equipped with its own storage. In the event that one of the sites fails, the other site acts as an active-standby.
Both Oracle ASM and the Oracle Database stack, in general, are designed to use enterprise-class shared storage in a data center. Fibre Channel technology, however, enables you to distribute compute and storage resources across two or more data centers, and connect them through Ethernet cables and Fibre Channel, for compute and storage needs, respectively.
You can configure an Oracle Extended Cluster when you install Oracle Grid Infrastructure. You can also do so post-installation by using the ConvertToExtended script. You manage your Oracle Extended Cluster by using crsctl.
Oracle recommends that you deploy Oracle Extended Clusters with normal redundancy disk groups. You can assign nodes and failure groups to sites. Sites contain failure groups, and failure groups contain disks. For normal redundancy disk groups, a disk group provides one level of failure protection and can tolerate the failure of either a site or a failure group.