集群由单独的节点组成,在Oracle RAC中,允许的节点数和集群版本有关,公开文档中说明Oracle 10.2集群软件支持100个节点,而10.1支持63个实例。即使当个节点发生故障后,基于RAC上的应用能继续运行,还是应该花点精力来确认数据库服务器中的单个组件不会出现单点故障(SPOF)。
采购新的硬件时应该采用可热插拔的组件,比如内置磁盘和风扇,另外,服务器的电力供给、主机总线适配器、网卡和硬盘都应该做了冗余。可能的话,最好做一个逻辑绑定,比如硬盘硬件RAID或软件RAID、网卡绑定、存储网络的多路径。在数据中心也应该注意:要使用不间断的电源供应、足够的散热措施、服务器的专业上架。最好还能有个远程的lights-out管理控制台,当一个节点不知道由什么原因挂起,可能迫切需要进行故障排除或者重启。
内部互联
集群内部互联是Oracle RAC的特征之一。它不仅使得集群在不同实例间传递数据块时突破block pinging算法的限制,它还可用作心跳和常规通讯。连接失败将导致集群的重组来避免脑裂发生,Grid Infrastructure将使一个或多个节点重启。可以为RAC和Grid Infrastructure配置一个单独的连接,这种情况下你需要配置RAC来使用正确的连接。这个连接始终应该是私有的,不应该受到其他网络的干扰。RAC用户可以使用两种技术来实现内部互联:以太网和Infiniband。
使用基于以太网的内部互联
使用10G以太网作为集群内部互联可能是目前使用最多的,集群的后台进程使用TCP/IP进行通信。Cache Fusion(用来保持缓存的一致性)使用另一种通信方式:UDP(UserData该ramProtocol)。UPD和TCP同属于传输层,后者面向连接,使用显式的通讯握手来保证网络数据包按顺序到达,并转发失败的数据包。UDP则不包含状态,它是一个发完就忘(fire-and-forget)协议。UDP只是简单发送一个数据包到目的地。UDP比起TCP而言主要的好处是它比较轻便。
注意:两节点集群间应该避免使用交叉线来直连,集群的内部通讯必须经过交换,交叉电缆的使用应该被明确禁止!