Oracle Database 12c 新特性:RAC Cluster Hub Node 和 Leaf Node
在 Oracle Database 12c 的 Cluster 中引入了很多新特性和新概念,其中重复最多的几个名词除了 Flex Cluster、Flex ASM 之外还有 Hub Node 和 Leaf Node,这里来介绍 Hub Node 和 Leaf Node.
- Hub Node 官方解释:
- A node in and Oracle Flex Cluster that is tightly connected with other servers and has direct access to a shared disk.
- Leaf Node 官方解释:
- Servers that are loosely coupled with Hub Nodes,which may not have direct access to the shared storage.
可以看到主题区别在于 Leaf Node 不能直接访问 shared storage ,这意味着Leaf Node不是 share disk 的。 这里 Hub Node 与 Oracle Database 12c之前的普通 Cluster Node 无区别, 而 Leaf Node 是新技术。
Leaf Node 的特性:
- 与 Hub Node 相比 更松散地与 Cluster 捆绑
- 在启动时自动发现 Hub Node
- 通过一个 Hub Node 连接到集群
- Hub Node 或网络失败都会造成相关的 Leaf Node 被驱逐
- 不要求直接访问共享存储
- 与 Hub Node 在同一网络
使用 Leaf Node 实现 Flex Cluster 的好处显而易见:
- hub-and-spoke 技术将 Cluster 分化成可管理的节点组。
- 仅仅需要 Hub Node 直接访问 OCR 和 Votedisk。
- 通过限制 HUB Node 的数量,从而减少对关键 Clusterware 资源的争用,例如 OCR 和 Votedisk。
- 在节点间所需要的网络互动更少。
- 更少的管理用网络流量,例如节点间的心跳。
如下图所示,12节点的 Flex Cluster 包含12个交互通路, 而普通集群则需要 [n*(n-1)]/2 共66个交互通路。
对于1000节点以上的集群,上述的差异会更明显。假设有40个 Hub Node,每一个 Hub Node 对应24个 Leaf Node,则 Flex Cluster 将包含1740个交互通路。 与之对比,普通 Cluster 需要 499500 个交互通路。
在 Flex Cluster 中集群中被驱逐的节点无需重启,仅仅 Cluster Software 需要重启。
如果 Hub Node 失败:
- 该节点将被集群驱逐 , 且如果可能则服务将被 relocate 到其他 Hub Node。
- 该 Hub Node 对应的 Leaf Node 亦被集群驱逐,如果可能服务也将 relocate 到其他 Leaf Node 上。
如果 Leaf Node 失败:
- 该节点将被集群驱逐,如果可能服务将被 relocate 到另一个 Leaf Node 上。