licharles 发表于 2014-1-15 16:51:30

关于disktimeout和misscount,oracle rac心跳机制

本帖最后由 licharles 于 2014-1-15 17:21 编辑

  最近在学习Oracle RAC 的心跳机制,但是在网上看来看去有的说法不太一样,不知道到底哪个对。在官方文档上没找到地方哪有说明的。
希望各位给介绍下oracle rac心跳机制的原理还有关于disktimeout,misscount这两个值得介绍。
或者推荐下哪有比较全面的资料。谢谢啦!

Liu Maclean(刘相兵 发表于 2014-1-15 17:26:11

http://www.askmaclean.com/archives/oracle-rac-brain-split-resolution.html

http://www.askmaclean.com/archives/%E5%86%8D%E8%AE%AErac-brain-split%E8%84%91%E8%A3%82.html

licharles 发表于 2014-1-16 10:42:12

Liu Maclean(刘相兵 发表于 2014-1-15 17:26 static/image/common/back.gif
http://www.askmaclean.com/archives/oracle-rac-brain-split-resolution.html

http://www.askmaclean.com ...

Maclean如果节点不能向vote disk写入信息,就是说Disk heartbeat没有了,Network heartbeat正常,那是否会造成灾难性的问题。

Liu Maclean(刘相兵 发表于 2014-1-16 13:27:24

http://www.askmaclean.com/archives/oracle-rac-brain-split-resolution.html#comments

能仔细读下吗?  如果对文字完全不敏感,建议最好别做IT

若节点间的网络心跳正常,且节点所能正常心跳的vote disk 大于 不能正常访问的 ,如3个votedisk 时 恰巧有1个vote disk 的disk heartbeat 超时,此时Brain split 会发生吗?
Answer:
这种情况即不会触发Brain Split,也不会引发节点驱逐协议(eviction protocol)。 当单个或小于(N/2+1)个的voting disk心跳失败(disk heartbeat failure)时,这种心跳失败可能是由于短期内节点访问voting disk发生I/O error错误而引起的,此时css会立刻将这些失败的voting disk标记为OFFLINE。虽然有一定数量的voting disk OFFLINE了,但是我们仍有至少(N/2+1)个投票磁盘可用,这保证了eviction protocol不会被调用,所以没有节点会被reboot重启。紧接着node monitor模块的Disk ping Monitor Thread(DPMT-clssnmDiskPMT)会重复尝试访问这些失败的OFFLINE voting disk,若这些投票磁盘变得再次可I/O访问且经过验证其上的数据也没有讹误,那么css会再次将此voting disk标记为ONLINE;但是如果在45s( 这里的45s是基于misscount和 内部算法获得的) 内仍不能正常访问相关的voting disk,那么DMPT将在cssd.log中生成警告信息,如:

CSSD]2011-11-11 20:11:20.668 >
WARNING: clssnmDiskPMT: long disk latency >(45940 ms) to voting disk (0//dev/asm-votedisk1)

假设以上发生clssnmDiskPMT警告的RAC场景共有3个voting disk,现已有一个asm-votedisk1因为I/O error或其他原因而被标记为OFFLINE,若此时再有一个votedisk也出现了问题并disk heartbeat 失败,那么节点会因为少于规定数目(2)的votedisk而引发eviction protocol,进而重启reboot。

licharles 发表于 2014-1-16 16:43:34

Liu Maclean(刘相兵 发表于 2014-1-16 13:27 static/image/common/back.gif
http://www.askmaclean.com/archives/oracle-rac-brain-split-resolution.html#comments

能仔细读下吗?   ...

这点我看到了,但是我想到的是一个全部Disk Heartbeat丢失会是什么样。我下午看了一些文档,如果全部丢失的话,所有节点将会死亡是这样的吗?

Liu Maclean(刘相兵 发表于 2014-1-16 17:09:17

全部Disk Heartbeat丢失   等于  当  (N/2+1)个的voting disk心跳失败(disk heartbeat failure)
的场景

licharles 发表于 2014-1-16 21:41:45

Liu Maclean(刘相兵 发表于 2014-1-16 17:09 static/image/common/back.gif
全部Disk Heartbeat丢失   等于  当  (N/2+1)个的voting disk心跳失败(disk heartbeat failure)
的场景 ...

恩,那如果全部节点都丢失,等于RAC全挂了。明白!
页: [1]
查看完整版本: 关于disktimeout和misscount,oracle rac心跳机制