RAC NTP/CTSS

时间:2024-04-10 22:37:40

本文總結主要參考:

http://blog.itpub.net/23135684/viewspace-759693/

http://www.happyworld.net.cn/post/6.html

一 首先說明RAC 的time synchronization

oracle clusterware有兩種時間同步的方式:

1,基於OS的NTP

2,基於cluster的CTSS(oracle cluster time synchronization service)

以上兩種方式只能選擇其一,

如果選擇了NTP,那麼CTSS就處於觀察模式(observer mode)

如果選擇了CTSS,就必須禁用NTP,且CTSS處於活動模式(active mode),時間同步就在集群成員之間,而不必聯繫外部時間服務器

1,採用CTSS,禁用NTP方法:

# /sbin/service ntpd stop   --停止ntpd服務
# chkconfig ntpd off --開機禁止啟動ntpd
# rm /etc/ntp.conf --刪除ntp.conf文件

or, mv /etc/ntp.conf to /etc/ntp.conf.org.

Also remove the following file:

/var/run/ntpd.pid   --刪除ntpd.pid文件
 
確認CTSS處於active mode

[root@xxx1 etc]# crsctl check ctss
CRS-4701: The Cluster Time Synchronization Service is in Active mode.
CRS-4702: Offset (in msec): 0

2,採用ntp方式

主要是為ntpd的配置-x flag

編輯/etc/sysconfig/ntpd

# Drop root to id 'ntp:ntp' by default.
PTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid" # Set to 'yes' to sync hw clock after successful ntpdate
SYNC_HWCLOCK=no # Additional options for ntpdate
NTPDATE_OPTIONS=""

Then, restart the NTP service.

# /sbin/service ntp restart

二 下面說明一下NTP的時間同步方式

NTP時間同步有兩種方式:

(1)手動的ntpdate(一般做成定時任務)

特點是一次調整到位

(2)通過ntpd服務自動調整

ntpd服務調整有兩種策略:

①平滑、緩慢漸進式調整(微調),叫做slewing time

②步進、跳躍式

兩種方式區別就在於,微調方式在啟動NTP服務是加了“-x”(slew)參數,默認不加“-x”

加“-x”的副作用:時間差別較大,同步時間長。

兩種方式都有閾值(threshold),超過閾值,則跳躍

不加“-x” 閾值 128s,小於128s ,使用微調,大於,就跳躍

加“-x”    閾值600s,小於600s,使用微調,大於,就跳躍

兩種方式都會在閾值超過1000的時候,ntpd停止,加“-g”參數忽略

三 下面說明為什麼使用NTP要加“-x” --slewing
使用 slewing 选项实施 NTP

适用平台:  所有 Linux 和 Unix 平台。
原因: 如果没有 slewing 选项,在时间差异超过特定(取决于平台)阈值时,NTP 将向前或向后调整系统时钟。大幅度向后调整时间会导致 Clusterware 以为错过了签到,从而发生节点驱逐的情况。出于此原因,我们强烈建议将 NTP 配置调整为 slewing time (加快或减慢)时钟时间以同步时间,以防止此类驱逐情况的发生。