Archive

Posts Tagged ‘css’

CSS in RAC

June 21st, 2009

从整体架构上来说,Oracle RAC分为几大部分

  • OCR&Voting disk
  • CRS stack
  • CRS resources

而CSS是CRS stack中的一部分,极重要的一部分,是整个RAC所有节点维系一致性的纽带。

CSS Daemon主要由Group Management(GM)和Node Monitor(NM)组成。

  • GM:管理instance and communicate with LMON
  • NM:时刻监控集群中各个节点的生存状态。通过network heartbeat 和disk heartbeat来确保各节点alive.  例如,解决split-brain,network/process failure.

NM和GM都有一个Master node。而且选择方法也不尽相同,就现有资料及log来说,

  • NM:master被称为RM(reconfig manager),the lowest node number.
  • GM:1. oldest node 2. the node not the RM(也许出于平衡的考虑)

总之,就master node来说,是不一定一样的。这在多节点cluster里体现的可能更为明显些。

当有节点离开/加入cluster,CSS Daemon会进行reconfig。整体的一个流程如下:

  1. NM初始化,RM会给各节点发送同步信息,其他节点response with ACK.
  2. vote阶段,RM会发给各节点一个写vote的信息。其他节点反馈一个带有vote信息的ACK(包括node标识,状态及GM lister endpoint)
  3. split检查,RM会利用vote信息来判断cluster中是否发生了脑裂的症状。
  4. evict阶段,RM会根据split检查结果发送给失败节点evict信息,失败节点会返回ACK(等待MISSCOUNT),并reboot自己。
  5. NM 更新阶段,RM会发送一个带有cluster成员和节点信息的信息给所有节点,所有节点返回ACK确认,然后都发送一个reconfig event事件(NMEVENT_RECONFIG)给各自GM
  6. 确定GM master
  7. GM master广播成员变化信息,update新group的各节点新的通讯方式(endpoint),并完成锁同步。

11.2的RAC在集群方面变化很大,至于CSS internal的改变,还需要再仔细研究,也欢迎大家讨论。

-END-

Oracle ,