什么是 CSSD?

文章目录

  • [一、什么是 CSSD?](#一、什么是 CSSD?)
    • [CSSD 的职责](#CSSD 的职责)
  • [二、CSSD 是如何工作的?](#二、CSSD 是如何工作的?)
  • [三、CSSD 为什么会重启节点?](#三、CSSD 为什么会重启节点?)
  • 四、重启机制由哪些参数控制?
  • [类比理解:CSSD 就像是"集群中的智能保安"](#类比理解:CSSD 就像是“集群中的智能保安”)
  • 总结

一、什么是 CSSD?

CSSD 全称是:Cluster Synchronization Services Daemon

是 Oracle Clusterware 中最核心、最关键的后台进程之一,运行在每个 Oracle RAC 节点上。


CSSD 的职责

作用 说明
节点监控 监听其他节点是否在线(心跳机制)
状态判断 判断自己是否还能"安全地存在于集群中"
超时判定 检查 Voting Disk 是否可写、是否超过超时
自我保护 在特定条件下主动让节点重启,避免脑裂

可以说:

CSSD 就是集群中 判断节点生死 的大脑。


二、CSSD 是如何工作的?

CSSD 会每秒进行如下操作:

  1. 通过网络心跳(Interconnect)与其他节点通信;
  2. 访问 Voting Disk,写入"我还活着",读取其他节点状态;
  3. 判断自己是否被"孤立"(比如无法访问 Voting Disk + 收不到其他节点的心跳);
  4. 一旦失联 ,会触发"节点重启保护机制":
    • 防止两个分区各自以为自己是"主集群"
    • 避免"脑裂"(Split Brain)

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

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


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

条件 描述
网络心跳中断 CSSD 无法通过私网感知其他节点
Voting Disk 无法访问 可能是存储故障或路径异常
触发机制 CSSD 判断"我可能是唯一节点,也可能不是"
动作 主动重启当前节点,让集群重新决定谁是"主"

这是一种 自杀保护机制(Suicide Fencing),是 RAC 保证一致性的重要设计。


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

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

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

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

以下参数控制 CSSD 何时"放弃自己":

参数名 说明 默认值
misscount 心跳丢失多久认为节点可能失联 30 秒
reboottime 判断失败后等待多久执行重启 3 秒
disk timeout Voting Disk I/O 超时时间 200 毫秒

类比理解:CSSD 就像是"集群中的智能保安"

它一直在监听:

  • "我是不是还能和大家说话?"
  • "我是不是还能在共享笔记本上签字(Voting Disk)?"
  • "别人还在吗?我是不是一个人了?"

一旦它发现自己可能"误入另一个平行宇宙",就会立刻喊一句"我走了",然后关机自保


总结

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

相关推荐
vfvfb30 分钟前
bat批量去掉本文件夹中的文件扩展名
服务器·windows·批处理·删除扩展名·bat技巧
我很好我还能学1 小时前
【面试篇 9】c++生成可执行文件的四个步骤、悬挂指针、define和const区别、c++定义和声明、将引用作为返回值的好处、类的四个缺省函数
开发语言·c++
玩转4G物联网2 小时前
零基础玩转物联网-串口转以太网模块如何快速实现与TCP服务器通信
服务器·网络·物联网·网络协议·tcp/ip·http·fs100p
蓝婷儿2 小时前
6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础
开发语言·python·学习
渣渣盟2 小时前
基于Scala实现Flink的三种基本时间窗口操作
开发语言·flink·scala
派阿喵搞电子2 小时前
Ubuntu下有关UDP网络通信的指令
linux·服务器·网络
程序员JerrySUN2 小时前
全面理解 Linux 内核性能问题:分类、实战与调优策略
java·linux·运维·服务器·单片机
糯米导航2 小时前
Java毕业设计:办公自动化系统的设计与实现
java·开发语言·课程设计
Theodore_10222 小时前
大数据(2) 大数据处理架构Hadoop
大数据·服务器·hadoop·分布式·ubuntu·架构
糯米导航2 小时前
Java毕业设计:WML信息查询与后端信息发布系统开发
java·开发语言·课程设计