OCR磁盘组无法挂载会导致CRS启动失败,表现为CRS-4535错误;常见原因包括ASM未启动、磁盘组未识别、路径权限异常或OCR文件头损坏,应优先检查ASM状态、磁盘发现结果及手动挂载尝试,并从备份恢复OCR而非直接dd清零。
OCR磁盘组无法挂载导致CRS无法启动
ocr(oracle cluster registry)是rac集群的“配置中心”,如果存放ocr的asm磁盘组无法挂载,crsd.bin会直接失败退出,crsctl check crs 显示 crs-4638: oracle high availability services is online 但 crs-4535: cannot communicate with cluster ready services。
常见原因包括:ASM实例未启动、OCR所在磁盘组未被ASM识别、磁盘路径权限异常、或磁盘组中OCR文件头损坏。
- 先确认ASM是否运行:
ps -ef | grep asm_pmon;若无输出,尝试手动启动:srvctl start asm -n <node_name></node_name> - 检查ASM磁盘发现状态:
asmcmd lsdsk -k,确认OCR所在磁盘(如/dev/oracleasm/disks/OCR_VOTE)是否显示为PROVISIONED而非UNKNOWN - 若磁盘可见但磁盘组无法
mount,用sqlplus / as sysasm执行:ALTER DISKGROUP OCR_VOTE MOUNT,观察是否报ORA-15032/ORA-15017——这往往指向磁盘路径不可达或UDEV规则失效 - 切勿直接用
dd清零磁盘,OCR损坏时应优先从备份恢复:ocrconfig -showbackup→ocrconfig -restore <backup_file></backup_file>
Voting Disk离线引发节点驱逐(Node Eviction)
Voting Disk不是“可选组件”,而是RAC心跳仲裁的核心。只要一个节点无法访问多数Voting Disk(即“quorum”丢失),该节点会在60秒内被强制重启,日志中出现cssd(9819)ERROR: clssnmvDRLUpdate: Aborting local node to avoid split-brain.。
注意:Voting Disk可以放在ASM磁盘组里(推荐),也可以放在裸设备或NFS上;但无论哪种方式,必须确保所有节点对同一份Voting Disk有**一致、低延迟、无中断**的读写能力。
- 查看当前Voting Disk位置与状态:
crsctl query css votedisk,输出中STATE列必须全为ONLINE - 若显示
OFFLINE,检查对应路径是否可访问:ls -l <votedisk_path></votedisk_path>+dd if=<votedisk_path> of=/dev/null bs=4k count=1</votedisk_path>(测试I/O通路) - 在ASM场景下,Voting Disk依赖ASM磁盘组在线;若
crsctl query css votedisk报CLSU-00100: Operating System function: ioctl() failed with error data: 25,大概率是ASM未加载该磁盘或udev绑定错误 - 添加/替换Voting Disk必须使用
crsctl replace votedisk <new_location></new_location>,不能手动复制或修改底层文件——Voting Disk内容受CSS守护进程独占管理
OCR/Voting Disk共存于同一ASM磁盘组的风险
Oracle允许将OCR和Voting Disk放在同一个ASM磁盘组(如+OCR_VOTE),但这是把双刃剑:简化部署的同时,也把两个关键路径耦合在一起。一旦该磁盘组因磁盘故障、路径抖动或ASM bug无法挂载,整个集群立刻失去配置管理和节点仲裁能力。
生产环境强烈建议分离:OCR单独一组(如+OCR),Voting Disk另放一组(如+VOTE),且两组后端物理磁盘不共享同一控制器或光纤链路。
- 检查是否共存:
ocrcheck -detail中Location与crsctl query css votedisk中路径是否同属一个ASM DG名 - 分离操作需停集群:
crsctl stop crs -f→ 在各节点分别ocrconfig -repair -add +VOTE→crsctl replace votedisk +VOTE→ 清理旧路径 → 重启 - 特别注意:
ocrconfig -repair仅修复OCR注册信息,不移动物理文件;真正迁移需结合dd或asmcmd cp(后者要求目标DG已存在且可写)
诊断时最容易忽略的底层细节
很多DBA卡在“磁盘路径存在、权限OK、ASM能识别”,却始终无法拉起实例,问题往往藏在更底层:不是配置错,而是通路断。
- 多路径设备(multipath)下,
ocrconfig -showbackup显示路径如/dev/mapper/mpathb,但crsctl query css votedisk输出却是/dev/oracleasm/disks/VOTE1——这两者若未通过udev规则正确映射,CSS进程根本看不到Voting Disk - 检查
/etc/udev/rules.d/99-oracle-asmdevices.rules是否包含对应WWID绑定,且start_udev后ls -l /dev/oracleasm/disks/能看到持久化链接 - 私网(Cluster Interconnect)不通也会间接影响OCR同步:CSS依赖UDP多播维持节点视图,若
ping -I <private_ip><other_private_ip></other_private_ip></private_ip>丢包或延迟>20ms,可能触发误驱逐,继而破坏OCR一致性 - 时间不同步虽不直接导致拉不起实例,但会使OCR备份时间戳混乱,
ocrconfig -showbackup可能列出未来时间的备份文件,误导恢复操作










