什么是 CSSD?

文章目录

  • 一、什么是 CSSD?
    • CSSD 的职责
  • 二、CSSD 是如何工作的?
  • 三、CSSD 为什么会重启节点?
    • 情况一:网络和存储都断联(失联)
    • 情况二:收到其他节点对自己的踢出通知(外部 fencing)
  • 四、重启机制由哪些参数控制?
  • 类比理解: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 timeoutVoting Disk I/O 超时时间200 毫秒

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

它一直在监听:

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

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


总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/75346.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

arm64平台下linux访问寄存器

通用寄存器 示例:读取寄存器值 // 用户态程序或内核代码中均可使用 unsigned long reg_value; asm volatile ("mov %0, x10" // 将X10的值保存到reg_value变量: "r" (reg_value) ); printk("X10 0x%lx\n", reg_value);示例&…

超级好用的小软件,连接电脑和手机。

将手机变成电脑摄像头的高效工具Iriun Webcam是一款多平台软件,能够将手机摄像头变成电脑的摄像头,通过简单的设置即可实现视频会议、直播、录制等功能。它支持Windows、Mac和Linux系统,同时兼容iOS和Android手机,操作简单&#x…

Mysql MIC高可用集群搭建

1、介绍 MySQL InnoDB Cluster(MIC)是基于 MySQL Group Replication(MGR)的高可用性解决方案,结合 MySQL Shell 和 MySQL Router,提供自动故障转移和读写分离功能,非常适合生产环境 2、部署 …

PERL开发环境搭建>>Windows,Linux,Mac OS

特点 简单 快速 perl解释器直接对源代码程序解释执行,是一个解释性的语言, 不需要编译器和链接器来运行代码>>速度快 灵活 借鉴了C/C, Basic, Pascal, awk, sed等多种语言, 定位于实用性语言,既具备了脚本语言的所有功能,也添加了高级语言功能 开源.免费 没有&qu…

ubuntu改用户权限

在 Linux 系统中,赋予普通用户 sudo 权限可以让他们执行一些需要 root 权限的命令,而不需要频繁切换到 root 用户。以下是具体步骤: 创建用户(useradd和adduser两种方式) 首先,需要创建一个新的用户。可以使用 adduser 或 usera…

蓝桥杯 web 学海无涯(axios、ecahrts)版本二

答案: // TODO: 待补充代码// 初始化图表的数据,设置周视图的初始数据 option.series[0].data [180, 274, 253, 324, 277, 240, 332, 378, 101]; // 周数据(每周的总学习时长) option.xAxis.data ["2月第1周", "…

Java 大视界 -- Java 大数据在智慧文旅虚拟场景构建与沉浸式体验增强中的技术支撑(168)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…

API vs 网页抓取:获取数据的最佳方式

引言 在当今数字化时代,对于企业、研究人员以及开发人员而言,获取准确且及时的数据是大多数项目成功的关键因素。目前,收集网页数据主要有两种常用方法,即使用 API(应用程序接口)和网页抓取。然而&#xf…

车载以太网网络测试-25【SOME/IP-报文格式-1】

目录 1 摘要2 SOME/IP-报文格式2.1 **Service ID / 16 bits**2.2 **Method ID / Event ID / 16 bits**2.3 **Length / 32 bits**2.4 **Client ID / 16 bits**2.5 Session ID / 16 bits2.6 Protocol Version / 8 bits2.7 Interface Version / 8 bits2.8 Message Type / 8 bits2.…

Python数据可视化-第3章-图表辅助元素的定制

环境 开发工具 VSCode库的版本 numpy1.26.4 matplotlib3.10.1 ipympl0.9.7教材 本书为《Python数据可视化》一书的配套内容,本章为第3章-图表辅助元素的定制 本章主要介绍了图表辅助元素的定制,包括认识常用的辅助元素、设置坐标轴的标签、设置刻度范…

小程序30-wxml语法-声明和绑定数据

小程序页面中使用的数据均需要在Page() 方法的 data对象中进行声明定义 在将数据声明好以后,在 WXML 使用 Mustache 语法 ( 双大括号{{ }} ) 将变量包起来,从而将数据绑定 在 {{ }} 内部可以做一些简单的运算,支持如下几种方式: 算数运算三…

ubuntu开启黑屏现象解决

文章目录 前言一、问题描述二、解决方案1. 检查显卡驱动解决步骤: 2. 修复 GRUB 配置解决步骤: 3. 使用恢复模式解决步骤: 三、验证与总结 前言 在使用 Ubuntu 操作系统时,一些用户可能会遇到开机后屏幕黑屏的现象。这种问题可能…

Modbus TCP转Profibus DP网关接防撞雷达与PLC通讯

Modbus TCP转Profibus DP网关接防撞雷达与PLC通讯 在工业自动化领域,通信协议的多样性既是技术进步的体现,也给系统集成带来了挑战。Modbus TCP和Profibus DP是两种广泛应用于不同场景下的通信标准,它们各有优势但也存在着互操作性的需求。本…

分布式锁方案-Redisson

分布式锁:Redisson还实现了Redis文档中提到像分布式锁Lock这样的更高阶应用场景。事实上Redisson并没有不止步于此,在分布式锁的基础上还提供了联锁(MultiLock),读写锁(ReadWriteLock)&#xff…

【AI插件开发】Notepad++ AI插件开发实践:从Dock窗口集成到功能菜单实现

一、项目背景与技术选型 在上篇文章实现"选中即问AI"功能的基础上,本文重点解决AI对话窗口的集成与核心功能菜单的开发。通过Notepad插件体系,我们将实现以下功能矩阵: AI交互系统:支持自然语言提问与任务执行代码智能…

ControlNet-Tile详解

一、模型功能与应用 1. 模型功能 ControlNet-Tile模型的主要功能是图像的细节增强和质量提升。它通过以下几个步骤实现这一目标: 语义分割:模型首先对输入的图像进行语义分割,识别出图像中不同的区域和对象。这一步是为了让模型理解图像的内…

英飞凌高信噪比MEMS麦克风驱动人工智能交互

导言 在英飞凌,我们一直坚信卓越的音频解决方案对于提升消费类设备的用户体验至关重要。我们坚定不移地致力于创新,在主动降噪、语音透传、录音室录音、音频变焦和其他相关技术方面取得了显著进步,对此我们深感自豪。作为MEMS麦克风的领先供…

【Azure】如何使用 Docker CLI 和 Compose 将容器部署到 Azure ACI

推荐超级课程: 本地离线DeepSeek AI方案部署实战教程【完全版】Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战在云中运行容器可能既困难又令人困惑。有太多选项可供选择,而且还需要理解从虚拟网络到安全性的不同云服务的工作方式。更不用说编排器了。…

结构化剪枝(Structured Pruning)与动态蒸馏(Dynamic Distillation)

结构化剪枝(Structured Pruning)技术详解 核心原理 结构化剪枝通过模块级(如层、通道、块)而非单个权重的方式去除冗余参数,保留关键子网络。其优势在于: 硬件友好性:生成规则稀疏模式&#x…

linux shell 删除空行(remove empty lines)

命令行 grep -v ^$ file sed /^$/d file 或 sed -n /./p file awk /./ {print} file 或 awk {if($0!" ") print} tr -s "n"vim交互 %s/^n//g