适用于:

Oracle Database - Enterprise Edition - 版本 11.2.0.1 到 11.2.0.2 [发行版 11.2]
本文档所含信息适用于所有平台

用途

这篇文档提供了诊断 11.2 集群节点驱逐问题的参考方法。对于 11.2 之前的集群节点驱逐问题,请参考 Note: 265769.1

适用范围

受众范围是遇到了集群节点驱逐问题的 DBA 和技术支持工程师。

详细信息

节点驱逐概要

Oracle 集群在发现一些严重问题时会将一个或多个节点从集群中驱逐出去。这种严重问题包括节点没有网络心跳、节点没有磁盘心跳、服务器无响应或者有严重性能问题、或者 ocssd.bin 无响应。节点驱逐的目的是通过去除一些节点来维护整个节点的健康。

从 11.2.0.2 RAC (或者是 Exadata),节点驱逐也许并不会真正重启主机。这称为 rebootless restart。这种情况下,我们会重启大部分的集群进程来确认是否可以解决这台节点的问题。

1.0 - 会导致重启的进程

OCSSD (aka CSS daemon) - 这个进程由 cssdagent 进程所启动。对于使用第三方集群件和没有第三方集群件的环境都有这个进程。OCSSD 的主要作用是节点间的健康监控以及数据库实例的发现。健康监控包括网络心跳和磁盘心跳(针对选举盘)。OCSSD 在收到客户端(比如数据库的 LMON 进程)的 member kill escalation 请求后,也可以发起节点驱逐。OCSSD 进程是一个以 Oracle 用户身份运行的、多线程的、运行级别较高的进程。

启动顺序: INIT --> init.ohasd --> ohasd --> ohasd.bin --> cssdagent --> ocssd --> ocssd.bin

CSSDAGENT - 这个进程由 OHASD 进程启动,CSSDAGENT 用于启动 OCSSD 进程,它可以监控节点 hang(类似于 oprocd),同时也监控 OCSSD 进程 hang(类似于 oclsomon ),而且还监控第三方集群件(类似于 vmon) 。这个进程是一个以 root 用户身份运行的、多线程的、运行级别较高的进程。

启动顺序: INIT --> init.ohasd --> ohasd --> ohasd.bin --> cssdagent

CSSDMONITOR - 这个进程也会监控节点 hang(类似于 oprocd),同时也监控 OCSSD 进程 hang(类似于 oclsomon ),而且还监控第三方集群件(类似于 vmon) 。这个进程是一个以 root 用户身份运行的、多线程的、运行级别较高的进程。
  启动顺序: INIT --> init.ohasd --> ohasd --> ohasd.bin --> cssdmonitor

2.0 - 确认由哪个进程发起了重启

需要查看的重要的文件:

  • Clusterware alert log in <GRID_HOME>/log/<nodename>
  • The cssdagent log(s) in <GRID_HOME>/log/<nodename>/agent/ohasd/oracssdagent_root
  • The cssdmonitor log(s) in <GRID_HOME>/log/<nodename>/agent/ohasd/oracssdmonitor_root
  • The ocssd log(s) in <GRID_HOME>/log/<nodename>/cssd
  • The lastgasp log(s) in /etc/oracle/lastgasp 或者 /var/opt/oracle/lastgasp
  • IPD/OS 或者 OS Watcher data
  • GRID home 的'opatch lsinventory -detail'的输出
  • *Messages 文件:

* Messages 文件路径:

  • Linux: /var/log/messages
  • Sun: /var/adm/messages
  • HP-UX: /var/adm/syslog/syslog.log
  • IBM: /bin/errpt -a > messages.out
请参考下面的文档关于如何收集上述信息:

Document 1513912.1 - TFA Collector - Tool for Enhanced Diagnostic Gathering

在大部分情况下,11.2 集群驱逐时会在集群的 alert log 中记录有意义的诊断信息。通过这些信息,可以确认是哪个进程发起了重启。下面是集群的 alert log 的样例:

[ohasd(11243)]CRS-8011:reboot advisory message from host: sta00129, component: cssagent, with timestamp: L-2009-05-05-10:03:25.340
[ohasd(11243)]CRS-8013:reboot advisory message text: Rebooting after limit 28500 exceeded; disk timeout 27630, network timeout 28500, last heartbeat from CSSD at epoch seconds 1241543005.340, 4294967295 milliseconds ago based on invariant clock value of 93235653

这次驱逐是由于遇到了网络超时问题所导致。CSSD 进程退出后,CSSDAGENT 发起了重启。CSSDAGENT 是从 CSSD 的本地心跳相关的错误中获得了这些信息。

如果在被驱逐的节点的集群 alert log 中没有相关信息,请检查本节点的 lastgasp 日志,以及/或者其它节点的集群 alert log。

3.0 - 诊断 OCSSD 发起的驱逐

如果遇到了 OCSSD 发起的驱逐,请参考 3.1 章节列出的常见原因:

3.1 - OCSSD 驱逐的常见原因

  • 节点间的网络失败或者延迟。在连续的30秒(默认值,由 CSS misscount 决定)心跳不通后,会导致节点驱逐。
  • 无法读写 CSS 选举盘。如果一个节点无法完成对于大多数选举盘的磁盘心跳,节点会被驱逐。
  • Member kill escalation。比如,数据库实例的 LMON 进程可能会请求 CSS 将一个实例从集群中驱逐。如果实例驱逐超时,会升级为节点驱逐。
  • OCSSD进程发生错误或者hang,这种情况会由上面任何一种情况或者其它情况引起。
  • Oracle bug.

3.2 - OCSSD 驱逐时需要收集和查看的文件

在章节 2.0 所列出的所有节点的所有文件,也许还需要更多信息。

由于选举盘问题造成的驱逐的样例:

CSS log:

2012-03-27 22:05:48.693: [ CSSD][1100548416](:CSSNM00018:)clssnmvDiskCheck: Aborting, 0 of 3 configured voting disks available, need 2
2012-03-27 22:05:48.693: [ CSSD][1100548416]###################################
2012-03-27 22:05:48.693: [ CSSD][1100548416]clssscExit: CSSD aborting from thread clssnmvDiskPingMonitorThread

OS messages:

Mar 27 22:03:58 choldbr132p kernel: Error:Mpx:All paths to Symm 000190104720 vol 0c71 are dead.
Mar 27 22:03:58 choldbr132p kernel: Error:Mpx:Symm 000190104720 vol 0c71 is dead.
Mar 27 22:03:58 choldbr132p kernel: Buffer I/O error on device sdbig, logical block 0
...

4.0 - 诊断 CSSDAGENT  或者 CSSDMONITOR 驱逐

如果遇到了 CSSDAGENT 或者 CSSDMONITOR 驱逐,请参考章节4.1列出的常见原因。

4.1 - CSSDAGENT 或者 CSSDMONITOR 驱逐的常见原因

  • OS 调度问题。比如,OS 遇到了驱动、硬件问题或者主机负载太高 (CPU 100% 被使用)等问题,会导致 OS 调度异常。
  • CSSD 的一个或多个线程 hang。
  • Oracle bug.

4.2 - CSSDAGENT  或者 CSSDMONITOR 驱逐需要收集和查看的文件

章节 2.0 所列出的所有节点的所有文件,也许还需要更多信息。

参考

NOTE:1053147.1 - 11gR2 Clusterware and Grid Home - What You Need to Know
NOTE:736752.1 - Introducing Cluster Health Monitor (IPD/OS)
NOTE:1513912.1 - TFA Collector - Tool for Enhanced Diagnostic Gathering

NOTE:301137.1 - OSWatcher (Includes: [Video])
NOTE:265769.1 - Troubleshooting 10g and 11.1 Clusterware Reboots

如何诊断 11.2 集群节点驱逐问题 (文档 ID 1674872.1)的更多相关文章

  1. Hadoop 集群搭建和维护文档

    一.前言 -- 基础环境准备 节点名称 IP NN DN JNN ZKFC ZK RM NM Master Worker master1 192.168.8.106 * * * * * * maste ...

  2. NVIDIA-GPU归入K8S集群管理的安装文档--第二版

    一,nvidia K80驱动安装 1,  查看服务器上的Nvidia(英伟达)显卡信息,命令lspci |grep NVIDIA 2,  按下来,进行显卡驱动程序的安装,驱动程序可到nvidia的官网 ...

  3. RHEL 集群(RHCS)配置小记 -- 文档记录

    1.RHEL 6 集群配置官方管理手册 https://access.redhat.com/site/documentation/zh-CN/Red_Hat_Enterprise_Linux/6/pd ...

  4. Greenplum/Deepgreen(集群/分布式)安装文档

    Deepgreen分布式安装文档 环境准备 1.安装VMware虚拟机软件,然后在VMware安装三台Linux虚拟机(使用centos7版本) 2.使用的虚拟机如下: 192.168.136.155 ...

  5. Elasticsearch 使用集群 - 创建和查询文档

    章节 Elasticsearch 基本概念 Elasticsearch 安装 Elasticsearch 使用集群 Elasticsearch 健康检查 Elasticsearch 列出索引 Elas ...

  6. Akka(12): 分布式运算:Cluster-Singleton-让运算在集群节点中自动转移

    在很多应用场景中都会出现在系统中需要某类Actor的唯一实例(only instance).这个实例在集群环境中可能在任何一个节点上,但保证它是唯一的.Akka的Cluster-Singleton提供 ...

  7. 来了,老弟!__二进制部署kubernetes1.11.7集群

    Kubernetes容器集群管理 Kubernetes介绍 Kubernetes是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernetes也叫K8S.K8S是Go ...

  8. Kubernetes从懵圈到熟练:读懂这一篇,集群节点不下线

    排查完全陌生的问题,完全不熟悉的系统组件,是售后工程师的一大工作乐趣,当然也是挑战.今天借这篇文章,跟大家分析一例这样的问题.排查过程中,需要理解一些自己完全陌生的组件,比如systemd和dbus. ...

  9. kubeadm安装kubernetes V1.11.1 集群

    之前测试了离线环境下使用二进制方法安装配置Kubernetes集群的方法,安装的过程中听说 kubeadm 安装配置集群更加方便,因此试着折腾了一下.安装过程中,也有一些坑,相对来说操作上要比二进制方 ...

随机推荐

  1. Jquery等待ajax执行完毕继续执行(断点调试正常,运行异常)

    以前写过一个程序,发现用断点调试的时候,一步步的运行,程序是可以的,但是去了断点程序就出现了问题. $(document).ready(function(){ var arra=new Array() ...

  2. JavaScript 基础 (变量声明, 数据类型, 控制语句)

    创建: 2017/09/16 更新: 2017/09/24 更改标题 [JavaScript 概要]-> [JavaScript 基础] 完成: 2017/09/25 更新: 2017/10/0 ...

  3. Bloomberg 的一些功能

    FFLO: 查看ETF流动,注意在View点击Contries后选择Asia,查看亚洲流动. 随后对感兴趣的国家点击查看具体股票的流动 关闭Launchpad View之后再次打开: BLP 修改La ...

  4. MongoDb 安装服务 以及 安全配置

    安装MongoDb 的服务 命令如下: (cmd以管理员运行) mongod –logpath "D:\Program Files\mongodb\data\logs.txt" – ...

  5. 洛谷 P4704 太极剑【贪心】

    首先考虑分割线能分割一条线当且仅当分割线一个端点在这条线的ab中间,另一端点在外面,也就是分割线对应的一条弧不能同时有这条线的两个端点 每条线的两端点都染同色,然后分段,一段里面颜色互不相同,分割线就 ...

  6. 2014-10-23 NOIP模拟赛

    NOIP2014模拟赛 -----lwher 时限均为1s,内存 256MB 1.Jams倒酒(pour) Jams是一家酒吧的老板,他的酒吧提供2种体积的啤酒,a ml 和 b ml,分别使用容积为 ...

  7. 洛谷P4570 [BJWC2011]元素(线性基)

    传送门 不知道线性基是什么东西的可以看看蒟蒻的总结 考虑贪心 将所有的矿石按价值从大到小排序 如果一块矿石不会和之前的编号异或为0就加入 这个只要判一下它能不能加进线性基里就可以了 据说这个贪心的证明 ...

  8. 第一次运行PHP项目(phpstorm+wampserver)

    1.配置环境 1)vcredist_x64,wampserver2.5-Apache-2.4.9-Mysql-5.6.17-php5.5.12-64b,如下图 (1)安装vcredist_x64   ...

  9. JDK 重要目录结构

    \bin 目录包含 Java 的开发工具,包括 Java 编译器 javac.exe.Java 解释器 java.exe 等: javac:Java 编译器,用来将 Java 程序编译成字节码 jav ...

  10. 嵌入式C语言模块编写

    C 语言源文件 *.c 理想的模块化应该可以看成是一个黑盒子.即我们只关心模块提供的功能,而不管模块内部的实现细节.在大规模程序开发中,一个程序由很多个模块组成,这些模块的编写任务被分配到不同的人,编 ...