ocr/voting disk磁盘不可见导致cssd卡在start状态,根因是存储层设备未就绪:需检查/dev/asm或/dev/mapper/可见性、权限(应为grid:asmadmin/660)、多路径状态及aix的lsdev定义状态,并修复udev或multipathd配置。

OCR/Voting Disk磁盘不可见导致CSSD卡在START状态
节点重启后crsctl check css返回CRS-4639、ocssd.bin进程一直卡在START,日志里反复出现clssnmvFindInitialConfigs: No voting files found,基本可以锁定是OCR或表决盘(Voting Disk)底层不可访问。
- 先确认磁盘设备是否被系统识别:
ls -l /dev/asm*或ls -l /dev/mapper/*(根据存储类型),若无输出或权限为root:root而非grid:asmadmin,说明ASM磁盘未就绪 - AIX环境要特别检查
lsdev -Cc disk,状态为defined即“已定义但未启用”,需用rmdev -Dl清理再重新cfgmgr - Linux下常见于多路径配置错误或udev规则未生效,执行
powermt display dev=all(EMC)或multipath -ll验证路径是否active,否则systemctl restart multipathd - 不要跳过权限修复:
chown grid:asmadmin /dev/mapper/mpath*+chmod 660,否则CSSD即使看到盘也读不了OCR
私网子网配置不一致触发OCR初始化校验失败
节点能ping通私网IP,但crsctl start crs秒退,日志报PROC-44或clsu_get_private_ip_addresses: no ip addresses found,问题出在私网子网声明与实际网卡CIDR不匹配。
- 用
oifcfg getif查集群记录的私网子网(如ens35/10.10.12.0:cluster_interconnect) - 用
ip addr show ens35查真实CIDR(必须是网络地址,如10.10.11.0/24,不是主机地址10.10.11.61/24) - 两者末尾的
/24和网络号必须完全一致——差一个数字或掩码长度都会导致OCR初始化前直接退出 - 修改前必须停掉所有节点的集群:
crsctl stop cluster -all,否则oifcfg setif会因无法连接CSSD而报PRIF-26
cgroup CPU accounting开启阻断OCSSD实时调度
节点能识别磁盘、网络也通,但ocssd.trc持续报unable to set priority to 4、setsched unable to escalate to real time,本质是Linux cgroup的CPUAccounting开关干扰了OCSSD进程获取实时优先级。
- 检查是否启用了CPU accounting:
find /etc/systemd -type f | xargs grep -l "CPUAccounting=true" - 常见诱因是安全代理服务(如
txnagent.service)或监控工具隐式打开了该选项,对比正常节点多出的服务要禁用 - 临时关闭:
systemctl set-property --runtime --reset CPUAccounting(仅当前session) - 永久关闭需编辑
/etc/systemd/system.conf,设CPUAccounting=no并systemctl daemon-reload - 注意:RHEL7+默认
CPUAccounting为auto,某些内核版本下仍会触发限制,必须显式关掉
AUTO_START属性未设为always导致数据库实例不随集群启动
集群本身起来了,crsctl check cluster正常,但srvctl status database -d <db_unique_name></db_unique_name>显示is not running,说明数据库资源没被拉起。
-
srvctl enable database -d <db_unique_name></db_unique_name>只是设置启动开关,实际依赖底层CRS资源的AUTO_START属性 - 查当前值:
crsctl stat res ora.<db_unique_name>.db -p | grep AUTO_START</db_unique_name> - 必须设为
always:crsctl modify resource ora.<db_unique_name>.db -attr "AUTO_START=always"</db_unique_name> - 别漏掉ASM实例:
crsctl modify resource ora.<asm_diskgroup>.asm -attr "AUTO_START=always"</asm_diskgroup>,否则DB启动时找不到磁盘组
crsctl start crs是否成功,得顺着日志里的第一个报错往底层挖——比如看到No voting files found就别折腾网络配置,先解决磁盘可见性。











