接RAC的一些概念和原理性知识多方总结【1】
5) OPROCD
OPROCD这个进程也叫作Process Monitor Daemon.如果在非Linux 平台上,并且没有使用第三方的集群软件时,就会看到这个进程。这个进程用来检查节点的Processor Hang(CPU挂起),如果调度时间超过1.5秒,就会认为CPU工作异常,会重启节点。也就是说这个进程提供"IO 隔离"的功能。从其在Windows平台上的服务名:OraFnceService也可以看出它的功能。而在Linux平台上,是利用Hangcheck-timer模块来实现"IO 隔离"的。
2.3 VIP 原理和特点
Oracle 的TAF 就是建立在VIP 技术之上的。IP 和VIP 区别在与:IP是利用TCP层超时,VIP利用的是应用层的立即响应。VIP它是浮动的IP. 当一个节点出现问题时会自动的转到另一个节点上。
假设有一个2个节点的RAC,正常运行时每个节点上都有一个VIP。VIP1和VIP2. 当节点2发生故障,比如异常关系。RAC会做如下操作:
1). CRS在检测到rac2节点异常后,会触发Clusterware重构,最后把rac2节点剔除集群,由节点1组成新的集群。
2). RAC的Failover机制会把节点2的VIP转移到节点1上,这时节点1的PUBLIC 网卡上就有3个IP 地址:VIP1,VIP2, PUBLIC IP1.
3). 用户对VIP2的连接请求会被IP层路由转到节点1
4). 因为在节点1上有VIP2的地址,所有数据包会顺利通过路由层,网络层,传输层。
5). 但是,节点1上只监听VIP1和public IP1的两个IP地址。并没有监听VIP2,故应用层没有对应的程序接收这个数据包,这个错误立即被捕获。
6). 客户端能够立即接收到这个错误,然后客户端会重新发起向VIP1的连接请求。
VIP 特点:
1). VIP是通过VIPCA脚本创建的。
2). VIP作为Nodeapps类型的CRS Resource注册到OCR中,并由CRS维护状态。
3). VIP会绑定到节点的public网卡上,故public网卡有2个地址。
4). 当某个节点发生故障时,CRS会把故障节点的VIP转移到其他节点上。
5). 每个节点的Listener会同时监听public网卡上的public ip和VIP.
6). 客户端的tnsnames.Ora一般会配置指向节点的VIP.
2.4 Clusterware 的日志体系
Oracle Clusterware的辅助诊断,只能从log和trace进行。而且它的日志体系比较复杂。
alert.log告警日志:
$ORA_CRS_HOMEloghostnamealert.Log, 这是首选的查看文件。
Clusterware后台进程日志:
crsd.Log: $ORA_CRS_HOMEloghostnamecrsdcrsd.Log
ocssd.Log: $ORA_CRS_HOMEloghostnamecssdocsd.Log
evmd.Log: $ORA_CRS_HOMEloghostnameevmdevmd.Log
Nodeapp日志位置:
$ORA_CRS_HOMEloghostnameracg
这里面放的是nodeapp的日志,包括ONS和VIP,比如:ora.Rac1.ons.Log
工具执行日志:
$ORA_CRS_HOMEloghostnameclient
Clusterware提供了许多命令行工具:
比如ocrcheck, ocrconfig,ocrdump,oifcfg和clscfg, 这些工具产生的日志就放在这个目录下,还有$ORACLE_HOMEloghostnameclient和$ORACLE_HOMEloghostnameracg也有相关的日志。
参考:http://www.111161.cn/thread-23991-1-1.html http://apps.hi.baidu.com/share/detail/23532601
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞0
添加新评论0 条评论