Real Application Cluster (RAC) 架构与技术详解
1. RAC 概述
Real Application Cluster (RAC) 可视为常规单实例配置的扩展,它由多个 Oracle 实例组成。不过,与单实例配置相比,RAC 在组件管理、后台进程、文件管理以及实例间资源共享等方面存在显著差异。这些额外的组件使得 RAC 系统与单实例配置截然不同。
2. RAC 组件
2.1 整体组件
RAC 是一种集群数据库解决方案,需要两个或更多节点的硬件配置,并在集群操作系统下协同工作。集群硬件解决方案由集群管理软件管理,该软件可维持集群中各节点之间的一致性,并管理共享磁盘子系统等公共组件。在 Oracle Database 10g 中,使用 Oracle 的 Clusterware 进行集群管理。
集群组件包括:
- 操作系统
- 通信软件层
- 进程间通信协议 (IPC)
- Oracle Clusterware(集群管理器 CM)
通信软件层负责节点间的通信,配置并传递消息至集群中的其他节点。网络层由 IPC 和传输控制协议 (TPC) 组成,负责消息的打包和传递。同时,各种监控进程会持续验证系统的不同区域,如心跳监控、监听器监控和实例监控。
Oracle Clusterware 位于常规操作系统之上,负责提供集群完整性。它使用高速互连来处理节点间的心跳消息,以确定集群的成员信息。CM 的主要功能包括:
- 作为分布式内核组件,监控集群成员间的通信情况
- 执行集群成员规则
- 初始化集群,添加或移除集