[转帖]10gR2 RAC配置时间同步和hangcheck-timer模块_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4056 | 回复: 0   主题: [转帖]10gR2 RAC配置时间同步和hangcheck-timer模块        下一篇 
kim
注册用户
等级:中校
经验:1729
发帖:222
精华:0
注册:2011-7-21
状态:离线
发送短消息息给kim 加好友    发送短消息息给kim 发消息
发表于: IP:您无权察看 2011-9-15 10:39:49 | [全部帖] [楼主帖] 楼主

4、配置时间同步

在安装Oracle集群件和Oracle数据库软件时,Oracle安装程序将首先在本地节点上安装软件,然后再将软件远程复制到远程节点。如果两个RAC节点的日期和时间未同步,可能会收到类似于以下内容的错误:

"/bin/tar: ./inventory/Components21/oracle.ordim.server/10.2.0.1.0: time stamp 2010-12-04 06:24:04 is 25 s in the future"


所有节点的时间必须同步,这通常是通过配置NTP服务实现的。如果用户的网络中已经有一个时间服务器,那么可以所有节点都指向它,否则可以从集群中挑选一个节点作为时间服务器,让其他节点与它同步。

(1)网络中有时间服务器(本环境采取这种方式)

vi /etc/ntp.conf
server 192.168.1.7 prefer
driftfile /var/lib/ntp/drift
broadcastdelay 0.008


(2)网络中没有时间服务器

可以选择集群中某个节点作为时间服务器,NTP服务只需要很少的系统资源。假设选择zhh1作为时间服务器,zhh2向它同步:

编辑zhh1的ntp配置文件

server 127.127.1.0          #注意不是127.0.0.1 
fudge  127.127.1.0 stratum 11
driftfile /var/lib/ntp/drift broadcastdelay 0.008


然后编辑zhh2的ntp配置文件

server 192.168.5.235 prefer
driftfile /var/lib/ntp/drift
broadcastdelay 0.008


(3)启动ntp服务,并设置开机启动

[root@zhh1 ~]# /etc/init.d/ntpd start
[root@zhh1 ~]# chkconfig ntpd on


5、配置hangcheck-timer模块

9.2以前使用一个名为watchdogd的用户空间监视后台程序来监视集群的状态情况,并在出现故障时重新启动RAC节点。从Oracle<?xml:namespace prefix = st1 />9.2.0.2开始,此监视后台程序已被名为hangcheck-timer的模块所代替,该模块可以更好地解决可用性和可靠性问题。hang-check计时器被加载到Linux内核中并检查系统是否挂起。它将设置一个计时器,并在特定的时间量之后检查该计时器。有一个用于检查挂起情况的可配置阈值,如果超过该阈值,计算机将重新启动。尽管Oracle CRS并不需要hangcheck-timer模块,但Oracle强烈建议使用它。

hangcheck-timer模块使用了一个基于内核的计时器,该计时器周期性地检查系统任务调度程序,以捕获延迟,从而确定系统的运行状况。如果系统挂起或暂停,则计时器重置该节点。hangcheck-timer模块使用时间戳计数器(TSC) CPU寄存器,该寄存器在每个时钟信号处递增。由于此寄存器由硬件自动更新,因此TCS提供了更精确的时间度量。

两个参数,即hangcheck_tick(定义系统检查频率,默认60s,oracle建议30s)和hangcheck_margin(定义在重置RAC节点前的最大挂起延时,默认180s,oracle建议180s)来确定节点是否出现故障。hangcheck-timer模块会根据hangcheck_tick的设置,定时检查内核。只要响应时间小于hangcheck_tick+hangcheck_margin,都会认为内核运行正常。否则,就意味着运行异常,模块会自动重启系统。

注意:crs的参数MissCount必须大于hangcheck_tick+hangcheck_margin的和(需考证)

miscount的值用crsctl get css misscount查询,10gR2 linux平台,默认60s

设置hangcheck内核模块参数:

vi /etc/modprobe.conf
options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180


设置hangcheck内核模块开机加载

vi /etc/rc.d/rc.local
/sbin/modprobe hangcheck-timer


要立即加载模块,执行:

modprobe -v hangcheck-timer


检查加载情况:

[root@zhh1 ~]# lsmod | grep hangcheck_timer
hangcheck_timer        5593 0




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论