1.HAIP
ohasd 管理的集群初始化资源包括:HAIP,CHM;
对于Oracle集群,私网通信是非常重要的,因为节点和节点之间的通信
绝大部分是要通过私网来实现的。私网通信可以分为两种:
第一种是集群层面之间的通信;
第二种数据库实例之间的通信。
第一种通信的主要特点是持续存在,实时性要求高,但是数据量比较小,所以通过
TCP/IP协议传递就可以了。第二种通信,也就是读者熟知的内存融合造成的实例之间
的数据传输的特点是数据量很大,而且速度要求非常高,TCP/IP协议此时已经无法
满足Oracle的要求了,所以需要使用UDP或者RDS,同时Oracle叶一枝花建议用户
对集群的私网进行高可用性和负载均衡的配置。Oracle11.2.0.2版本开始,Oracle
提供了私网的高可用性和负载均衡特性HAIP;
HAIP故名思义就是一个或多个IP地址。Oracle会自动在集群的每一块私网网卡上绑定
一个 169.254.*.* 网段的IP地址,这个IP地址被称为HAIP,数据库实例(ASM实例也一样)
之间在进行通信时,会通过这个Oracle绑定的IP地址 来完成,当某一块私网网卡出现
问题时,对应网卡上绑定的IP地址可以漂移到其他的私网网卡上,这就是实现了私网
高可用性。
HAIP的功能要比很多操作系统层面的网卡绑定更加强大,而且管理起来更加简单,
因为用户只需要在安装时选择私网网卡就可以了,Oracle在启动集群时会自动把
HAIP绑定到网卡上。HAIP的负载均衡时以网卡为单位的,不需要额外的OS软件
和交换机支持。Oracle也支持在集群创建后,添加新的私网网卡。
到目前为止,Oracle集群最多支持4块私网网卡。
1块私网网卡,1个HAIP地址。
2块私网网卡,2个HAIP地址
3块私网网卡,3个HAIP地址
4块私网网卡,4个HAIP地址。
--HAIP资源查看
crsctl stat res -t -init
--查看私网网卡。
oifcfg getif
--检查HAIP是否绑定在网卡上。
ifconfig -a
集群管理软件在私网网卡出现问题后仍然会继续监控这块网卡,以便
在网卡恢复后能够将HAIP重新恢复到原有的网卡上,从而保证HAIP
能够自动负载均衡。
数据库和ASM实例是在启动时读取HAIP地址的,数据库通过UDP协议在
IP地址:169.254.x.x 和 169.254.x.x 上实现数据传输。
2.CHM
CHM(Cluster Health Monitor)是Oracle提供的一款工具,用来自动收集系统
资源(CPU,内存,SWAP,进程,IO以及网络)的统计信息。从11.2.0.2 版本开始,
CHM以初始化资源 ora.crf 的形式存在于集群每个节点。
crsctl stat res -t -init
相对于 OSWatcher ,CHM 直接调用OS的API,系统开销小,CHM每秒收集一次数据
(11.2.0.3之后,改为 5s收集一次),具有更强的实时性。而OSWatcher 的优点
是搜集的信息更加全面,而且所生成的数据的保留时间可以设置更长,
但是数据实时性没有CHM强,产生的信息可能占用很大的磁盘空间。
因此这两个工具不能互相替换,而是互补。
CHM搜集的系统资源数据对于诊断集群系统的节点重启,hang,实例驱逐,性能
问题非常重要。可以使用CHM及早发现系统负载异常,内存异常等问题。
CHM的主要组件:
CHM档案库:它是一个Berkeley数据库,作为保存从各个节点搜集到的
操作系统统计信息的档案库。默认占用大小1G的磁盘空间,对于绝大部分系统,
每个节点每天搜集的统计信息大约会占用500M的空间。CHM最大允许信息保留3天。
系统监控服务:以 osysmond.bin 守护进程的方式在所有节点运行,
osysmond.bin 负责定期搜集本地节点的操作系统统计信息,并将搜集到的统计
信息发送给主节点上的集群日志服务。
集群日志服务:这个服务以守护进程 ologgerd 的形式运行在集群的CHM主节点和
副节点上。主节点的 ologgerd 负责接收从所有节点的 osysmond.bin 发送过来
的操作系统统计信息,并记录到主节点的CHM档案库中。副节点的 ologgerd 接收
主节点发送的操作系统统计信息。
3.CHM 管理
--查看主节点和副节点
oclumon manage -get MASTER REPLICA
--看当前的统计信息的保存时间段
oclumon manage -get repsize
--搜集一段时间内各个节点的统计信息。
oclumon dumpnodeview -allnodes -v -s "2024-09-08 06:00:00" -e "2024-09-08 08:00:00" > /tmp/chm.log