ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Linux NTP configure and Hangcheck-time

Linux NTP configure and Hangcheck-time

原创 Linux操作系统 作者:ygzhou518 时间:2011-12-09 10:35:19 0 删除 编辑
RAC01 10.202.73.1 RAC02 10.202.73.2

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

下面分别演示这两种方法:

1、如果公司网络中已经有一台时间服务器,如:192.168.0.1是一台ntp时间服务器

server 127.127.1.0 prefer
fudge 127.127.1.0 stratum 11
driftfile /var/lib/ntp/drift
broadcastdelay 0.008

说明:
127.127.1.0 : 该IP为NTP定义的server自己的IP
prefer :这个参数表示该server是master server
fudge:这个参数表示该IP为NTPserver, 
stratum:表示该系统所在的NTP层级.


    此时NTP服务器的配置文件是/etc/ntp.conf,在每个节点编辑这个文件。

[root@RAC01]# vi /etc/ntp.conf
编辑后的内容如下,首选公司的时间服务器。
server 192.168.0.1 prefer
driftfile /var/lib/ntp/drift
broadcastdelay 0.008

[root@RAC02]# vi /etc/ntp.conf
编辑后的内容如下,首选公司的时间服务器。
server 192.168.0.1 prefer
driftfile /var/lib/ntp/drift
broadcastdelay 0.008

2、如果没有外部时间服务器
     这时公司选择集群中某个节点作为时间服务器,NTP服务只需要很少的系统资源。假设选择主节点作为时间服务器(RAC01)从节点(RAC02)向它同步,其配置方法如下。
编辑主节点的/etc/ntp.conf文件,编辑后的内容如下:

[root@RAC01]# vi /etc/ntp.conf
server 127.127.1.0
fudge 127.127.1.0 stratum 11
driftfile /var/lib/ntp/drift
broadcastdelay 0.008

编辑从节点的/etc/ntp.conf文件,编辑后的内容如下:

[root@RAC02]# vi /etc/ntp.conf
编辑后的内容如下,首选公司的时间服务器。
server 10.202.73.1 prefer           #注意10.202.73.1为主节点的IP地址
driftfile /var/lib/ntp/drift
broadcastdelay 0.008

配置完成后,启动NTP服务。
[root@RAC01]# /etc/init.d/ntpd start
[root@RAC01]# chkconfig –level 345 ntpd on

3、查看执行情况(主从)
[root@cc-svr-a ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*CC-Node-02 LOCAL(0) 12 u 58 64 17 0.226 -22.698 29.261

4、編輯腳本自動同步時間

[root@RAC01]chkconfig ntpd on

[root@RAC02]crontab -e

* 12 *** /user/sbin/ntpdate 10.202.73.1 >> /root/ntpdate.exe

【注意】啟用同步ntp; client端的ntpd 服務需stop;

[root@RAC02]#/usr/sbin/ntpdate 10.202.73.1
 8 Dec 23:36:25 ntpdate[7645]: the NTP socket is in use, exiting

[root@RAC02]# service ntpd stop
Shutting down ntpd:                                        [  OK  ]

[root@RAC02]# /usr/sbin/ntpdate 10.202.73.1
 9 Dec 11:48:20 ntpdate[7662]: step time server 10.202.73.1 offset 43900.766507 sec

5、配置hangcheck-timer模块

 

     9.2以前使用一个名为watchdogd的用户空间监视后台程序来监视集群的状态情况,并在出现故障时重新启动RAC节点。从Oracle9.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@RAC01]# lsmod | grep hangcheck_timer

hangcheck_timer        5593 0

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24867586/viewspace-713025/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 簡單實用命令
请登录后发表评论 登录
全部评论

注册时间:2011-02-11

  • 博文量
    167
  • 访问量
    360354