CRS-1714错误表明CSSD未发现任何voting file,根本原因常是OLR损坏、存储链路异常或IPC残留;需检查gpnpd.log、ocssd.log及清理ipcs资源。

crsctl query css votedisk 显示空或报 CRS-4535
这说明 CSS 进程根本没读到任何表决磁盘路径,不是“读失败”,而是“没发现”。常见原因有:
• voting disk 所在 ASM 磁盘组(比如 +VOTE_DG)未挂载,asmcmd lsdg 里状态是 DISMOUNTED
• ASM 实例本身没起来,ps -ef | grep asm_pmon 没输出,或者 sqlplus / as sysasm 连不上
• 节点间设备路径不一致,比如节点1看到 /dev/mapper/VOTE01,节点2看到 /dev/sdc,asmcmd lsdsk -k 输出差异明显
• udev 规则失效或权限不对,ls -l /dev/mapper/VOTE* 显示 owner 不是 grid、group 不是 asmadmin,或 mode 不是 0660
OCR 正常但 voting disk 报 CRS-1714
CRS-1714: Unable to discover any voting files 是典型假象——它常和 OCR 无关,真正卡点在 GPNPD 或 CSSD 初始化阶段。此时要盯紧:
• $GRID_HOME/log/<hostname>/gpnpd/gpnpd.log,搜 PROFILE.XML 是否加载失败,若提示 Failed to read GPnP profile,说明本地 OLR 损坏,需重建
• $GRID_HOME/log/<hostname>/cssd/ocssd.log,看是否有 IO timeout 或 no response from voting file,这指向存储链路问题(HBA 卡、SAN zone、LUN masking)
• 不要直接跑 crsctl replace votedisk,CSSD 没起来时这个命令会 hang 住或报 CRS-4530
磁盘可见但 voting disk 状态异常
运行 crsctl query css votedisk 返回路径但显示 OFFLINE 或 MISSING,说明 CSSD 能定位设备,但 I/O 失败。重点查:
• 用 kfed read /dev/mapper/VOTE01 | grep kfbh.type 确认磁盘头是否完好;输出 FKBTYP_INVALID 表示 header 损坏,需 kfed repair(前提是 AU 备份块可用)
• 检查存储多路径状态:mpstat -l 和 dmsetup status,确认 active path 数量正常,无 stuck IO
• 查 dmesg | tail -50,找 SCSI timeout、I/O error 或 device blocked 日志,这类底层错误不会直接出现在 CRS 日志里
为什么修复后仍反复报 voting disk 不可用
最常被忽略的是残留 IPC 资源。即使 crsctl stop crs 成功,ipcs -a | grep grid 可能仍有共享内存段或信号量挂着,导致新启动的 CSSD 无法获取锁。必须:
• 在每个节点执行 ipcs -m -s -q | grep $ORACLE_SID(注意:RAC 中 ASM 实例 SID 通常是 +ASM1,不是数据库名)
• 对每条输出,分别用 ipcrm -m <shmid>、ipcrm -s <semid>、ipcrm -Q <qid> 清理
• 清完再跑 ipcs -a | grep grid,确认输出为空——否则 CSSD 启动时会因资源冲突退回到 INTERMEDIATE 状态,日志里只写 failed to update resource state,不提 IPC


















