RAC,全称real application clusters,译为”实时应用集群”,是Oracle数据库支持网格计算环境的核心技术。
集群
- 节点互联起来,向外显示为1台服务器;
- 集群软件把内部结构掩藏起来;
- 磁盘是共享的;
- 每台机器使用相同的操作系统。
什么是Oracle RAC?
- 多个实例访问同一个数据库;
- 每个节点有一个实例;
- 数据库文件支持物理或逻辑访问;
- 数据的读写通过软件控制。
Oracle RAC和单个数据库服务器的区别
如下图,主要区别还是RAC是集群式数据库,通过集群软件管理。
Oracle RAC硬件架构
下图为一个两节点RAC系统,可以看出,从主机到交换机,都做了冗余,无论哪台设备出了故障,业务不会受影响。共享存储是自带RAID冗余的。
其中,主机叫做节点(Node),它们要有相同的CPU、内存等配置,每台至少两个网卡,访问内外网,还有HBA卡连接共享存储,但更多是通过FC交换机连到FC存储阵列。共享存储是RAC架构中的核心,绝大部分文件都在共享存储,很多功能都是为了共享存储的安全性开发的。一般是光纤通过FC接口连接,运行SCSI协议。
Oracle RAC软件架构
如下图,是个双节点RAC系统,Oracle RDBMS是数据库软件,Oracle Clusterware是集群软件。驱动主要是网卡,HBA卡,ASMLib等。
每个节点上必须是相同的操作系统,版本必须一致,包括补丁号等。如操作系统: RHEL AS 4.8 64bit,Linux内核版本: 2.6.9-89.EL。
集群软件:单机情况下只要OS和驱动就可以了,但是多机需要访问其他机器的硬件,需要集群软件。它是集群环境的核心组成部分,管理集群硬件资源,为上层应用提供服务。
集群文件系统:向多个节点提供文件读写功能。Oracle RAC支持OCFS和ASM。
引用