1 CHM 概述
Cluster HealthMonitor 会通过OS API来收集操作系统的统计信息,如内存,swap 空间使用率,进程,IO 使用率,网络等相关的数据。
CHM 的信息收集是实时的,在11.2.0.3 之前是每1秒收集一次,在11.2.0.3 之后,改成每5秒收集一次数据,并保存在CHM 仓库中。 这个收集时间间隔不能手工修改。
CHM 的目的也是为了在出现问题时,提供一个分析的依据,比如节点重启,hang,实例被驱逐,性能下降,这些问题都可以通过对CHM 收集的数据进行分析。
而通过对这些常量的监控,也可以提前知道系统的运行状态,资源是否异常。
其实在GI 11.2.0.2 中,ORACLE 就把CHM 整合到GI中了,所以在11.2.0.2 的Linux 和Solaris 的2个平台中,不需要单独的安装CHM。
AIX 平台和Windows是在11.2.0.3 版本中整合进来的,11.2.0.2 之前的版本如果需要使用CHM的功能,必须从OTN上手工下载安装,并且在11.2.0.2 之前的版本中,也是没有Windows 的版本呢。
归纳如下:
11.2.0.1 之前: Linuxonly (download from OTN)
11.2.0.2: Solaris (Sparc 64 and x86-64only), and Linux.
11.2.0.3: AIX, Solaris (Sparc 64 and x86-64only), Linux, and Windows.
注意CHM不支持任何 Itanium 平台。
另外要注意,从OTN上下载的CHM 只能在单实例安装,并且从OTN 上下载的CHM 也只有Linux 和 Windows版本,对于11.2 之后的版本,CHM 只能在GI(RC)环境下运行。
在之前的版本里,当系统出现问题时,比如节点重启,我们都会部署OSW,来收集相关的信息。
既然是2个类似的工具,那么肯定就有对比和选择:
(1) CHM直接调用OS的API来降低开销,而OSWatcher则是直接调用OS命令,CHM 对CPU 小消耗小于5%(core),几乎没有影响。
(2) 相对于OSW,CHM 收集的频率更快,每秒一次,
(3) 与OSW比,CHM 不会收集top,traceroute,netstat 的信息。
(4) OSW 是运行在user priority,所以在CPU 负载很高的时候,是不能工作的,也就是说CHM 可以收集到OSW 收集不到的数据。
所以如果在部署一个工具的情况下,不能定位问题,那就2个工具都用上,如果只能选择一个,那就选择CHM。
2 CHM 基本管理
2.1 CHM 的资源的管理
由Oracle GI 管理的对象都有资源名,CHM 也不例外,其对应的资源名叫:ora.crf。 可以使用如下命令查看:
[root@rac1 ~]# crsctl stat res -t -init -------------------------------------------------------------------------------- Name Target State Server Statedetails -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.asm 1 ONLINE ONLINE rac1 Started,STABLE ora.cluster_interconnect.haip 1 ONLINE ONLINE rac1 STABLE ora.crf 1 ONLINE ONLINE rac1 STABLE ora.crsd 1 ONLINE ONLINE rac1 STABLE …… [root@rac2 ~]# crsctl stat res -t -init -------------------------------------------------------------------------------- Name Target State Server Statedetails -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.asm 1 ONLINE ONLINE rac2 Started,STABLE ora.cluster_interconnect.haip 1 ONLINE ONLINE rac2 STABLE ora.crf 1 ONLINE ONLINE rac2 STABLE ora.crsd 1 ONLINE ONLINE rac2 STABLE ora.cssd 1 ONLINE ONLINE rac2 STABLE
查看到资源名之后,就可以按照普通资源一样,对其进行管理。
?
[root@rac1 ~]# crsctl stop res ora.crf-init CRS-2673: Attempting to stop 'ora.crf' on'rac1' CRS-2677: Stop of 'ora.crf' on 'rac1'succeeded [root@rac1 ~]# crsctl stat res -t -init -------------------------------------------------------------------------------- Name Target State Server Statedetails -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.asm 1 ONLINE ONLINE rac1 Started,STABLE ora.cluster_interconnect.haip 1 ONLINE ONLINE rac1 STABLE ora.crf 1 OFFLINE OFFLINE STABLE ora.crsd 1 ONLINE ONLINE rac1 STABLE [root@rac1 ~]# crsctlstart res ora.crf -init CRS-2672: At