什么是 CSSD?

打印 上一主题 下一主题

主题 1854|帖子 1854|积分 5562

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x

一、什么是 CSSD?

CSSD 全称是:Cluster Synchronization Services Daemon
是 Oracle Clusterware 中最核心、最关键的背景历程之一,运行在每个 Oracle RAC 节点上。

CSSD 的职责

作用阐明节点监控监听其他节点是否在线(心跳机制)状态判断判断自己是否还能“安全地存在于集群中”超时判断检查 Voting Disk 是否可写、是否超过超时自我保护在特定条件下主动让节点重启,避免脑裂 可以说:
   CSSD 就是集群中 判断节点生死 的大脑。
  
二、CSSD 是如何工作的?

CSSD 会每秒进行如下操作:

  • 通过网络心跳(Interconnect)与其他节点通讯;
  • 访问 Voting Disk,写入“我还活着”,读取其他节点状态;
  • 判断自己是否被“孤立”(比如无法访问 Voting Disk + 收不到其他节点的心跳);
  • 一旦失联,会触发“节点重启保护机制”:

    • 防止两个分区各自以为自己是“主集群”
    • 避免“脑裂”(Split Brain)


三、CSSD 为什么会重启节点?

我们重点看这个题目。CSSD 会触发“重启节点”操作,通常有两种场景:

情况一:网络和存储都断联(失联)

条件形貌网络心跳中断CSSD 无法通过私网感知其他节点Voting Disk 无法访问可能是存储故障或路径非常触发机制CSSD 判断“我可能是唯一节点,也可能不是”动作主动重启当前节点,让集群重新决定谁是“主” 这是一种 自尽保护机制(Suicide Fencing),是 RAC 保证一致性的重要设计。

情况二:收到其他节点对自己的踢出通知(外部 fencing)

假如 CSSD 正常,但交换机或集群其他节点判断你不再可信(例如你已经被交换机 fenced 掉):


  • 其他节点把你踢出;
  • 你再尝试访问 Voting Disk 失败;
  • CSSD 检测到状态不一致 → 重启自己以退出集群

四、重启机制由哪些参数控制?

以下参数控制 CSSD 何时“放弃自己”:
参数名阐明默认值misscount心跳丢失多久认为节点可能失联30 秒reboottime判断失败后等待多久实行重启3 秒disk timeoutVoting Disk I/O 超时时间200 毫秒
类比明白:CSSD 就像是“集群中的智能保安”

它一直在监听:


  • “我是不是还能和各人说话?”
  • “我是不是还能在共享条记本上具名(Voting Disk)?”
  • “别人还在吗?我是不是一个人了?”
一旦它发现自己可能“误入另一个平行宇宙”,就会立刻喊一句“我走了”,然后关机自保

总结

CSSD 是 Oracle RAC 中专门用来判断节点存活状态的核心历程,一旦检测到自己失去与其他节点通讯或无法访问 Voting Disk,就会主动触发节点重启,以保证集群一致性、防止脑裂。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

石小疯

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表