普通网友 2026-02-06 18:55 采纳率: 98.5%
浏览 0
已采纳

GI集群启动失败,CRS无法上线,常见原因有哪些?

GI集群启动失败、CRS无法上线的常见原因主要包括:1)OCR/Voting Disk设备不可访问或权限异常(如ASM磁盘组未加载、udev规则错误、存储链路中断);2)Grid Infrastructure安装用户(grid)环境变量(如ORACLE_HOME、GRID_HOME)配置错误或缺失;3)系统资源不足(如内存/swap过小、ulimit限制过严);4)时间同步失效(NTP/chrony异常导致节点间时钟偏差>1s,触发CSS心跳拒绝);5)网络配置问题(public/private网卡绑定失败、hosts解析错误、多播/单播通信异常);6)CRS服务被手动禁用(crsctl disable crs)、或init.ohasd进程未启动;7)GI补丁冲突或版本不兼容(尤其升级后未执行rootupgrade.sh)。排查应优先检查`crsctl check cluster -all`、`ocrcheck`、`cluvfy comp health`及`/u01/app/grid/crsdata//log/*.log`日志。
  • 写回答

1条回答 默认 最新

  • 泰坦V 2026-02-06 18:55
    关注
    ```html

    一、现象层:CRS服务无法启动的直观表现

    执行 crsctl check cluster -all 返回 CRS-4537: Cluster Ready Services is not runningps -ef | grep ohasdinit.ohasdohasd.bin 进程;systemctl status oracle-ohasd 显示 inactive (dead)。此时集群尚未进入“健康检测”阶段,属最表层故障信号。

    二、基础设施层:OCR/Voting Disk访问性验证

    OCR与Voting Disk是GI集群的“神经系统”。需按序验证:

    1. 检查ASM磁盘组状态:asmcmd lsdg 确认 +OCR+VOTE 是否 MOUNTED
    2. 验证udev绑定一致性:ls -l /dev/asm* 对比各节点设备权限(应为 grid:asmadmin 660);
    3. 排查存储链路:multipath -ll + cat /proc/scsi/scsi 检查路径是否 active,有无 failed path。

    典型错误日志片段:/u01/app/grid/crsdata/node1/log/alert.log 中出现 ORA-15032: not all alterations performedCLSGPNP_ERR: Failed to get CSS voting file list

    三、运行时环境层:grid用户环境变量与守护进程链

    变量名正确值示例常见错误
    ORACLE_HOME/u01/app/19.0.0/grid指向RDBMS HOME或为空
    GRID_HOME/u01/app/19.0.0/grid未设置或拼写错误(如 GRDI_HOME
    PATH$GRID_HOME/bin缺失,导致 crsctl 命令不可达

    务必以 sudo -u grid bash -c 'env | grep -E "(ORACLE|GRID)_HOME|PATH' 实际校验——shell登录方式与服务启动环境可能不一致。

    四、系统约束层:资源与内核参数深度核查

    执行以下命令组合诊断:

    # 内存与Swap(最小要求:RAM ≥ 4GB,Swap ≥ RAM*1.5)
    free -h && swapon --show
    
    # ulimit(关键项必须满足)
    su - grid -c "ulimit -n -u -v -l"  # nofile≥65536, nproc≥16384, memlock=unlimited
    
    # 内核参数(/etc/sysctl.conf)
    grep -E "kernel.sem|fs.aio-max-nr|net.ipv4.ip_local_port_range" /etc/sysctl.conf
    

    cluvfy comp health -n all -verbosePRVE-0421 : Available memory is less than required,需立即扩容或调优。

    五、时间与网络协同层:CSS心跳失效根因建模

    graph LR A[节点间NTP/chrony同步] -->|偏差 ≤ 1s| B[CSS进程正常心跳] A -->|偏差 > 1s| C[CSS拒绝加入集群] D[Private网卡MTU不一致] --> C E[hosts中public/private IP解析错误] --> C F[防火墙阻断UDP 123/NTP或UDP 42422/CSS] --> C

    验证命令:ntpq -p(检查偏移 offset)、cluvfy comp clocksync -n allping -s 8972 node2-priv(测试private网卡MTU连通性)。

    六、服务生命周期层:CRS禁用状态与ohasd启动链

    关键检查点:

    • 确认未执行过 crsctl disable crssystemctl is-enabled oracle-ohasd 应返回 enabled
    • 检查 /etc/init.d/ohasd 是否存在且可执行;
    • 人工启动调试:sudo -u root /u01/app/19.0.0/grid/bin/crsctl start crs -wait 并实时跟踪 tail -f /u01/app/grid/crsdata/node1/log/ohasd.log

    若日志末尾持续出现 CRS-4000: Command Start failed 且无后续错误,大概率是前五层某环节阻塞了初始化流程。

    七、版本治理层:补丁兼容性与升级完整性审计

    升级后未执行 rootupgrade.sh 是高危操作。验证方法:

    1. 比对GI版本与已安装补丁:opatch lspatches | grep -E "(29|30|31)...."
    2. 检查升级日志:tail -50 /u01/app/grid/cfgtoollogs/crsconfig/rootupgrade*.log
    3. 确认Oracle Cluster Registry元数据版本:ocrdump -backupfile $(ocrconfig -showbackup | head -1 | awk '{print $1}') | grep -A5 "VERSION"

    cluvfy comp patch -n all -o crsPRVG-11405 : Patch conflict detected,需使用 opatch auto 回滚冲突补丁并重跑 rootupgrade.sh

    ```
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 今天
  • 创建了问题 2月6日