RAC 群集環境穩定-NTP的微調模式slewing-分析

dbhelper發表於2015-06-11

保持 RAC 群集環境穩定當前必須要做的 11 件事 [ID 1525819.1]

11. 使用 slewing 選項實施 NTP

適用平臺: 所有 Linux Unix 平臺。

原因: 如果沒有 slewing滑行) 選項,在時間差異超過特定(取決於平臺)閾值時,NTP 將向前或向後調整系統時鐘。

大幅度向後調整時間會導致 Clusterware 以為錯過了簽到,從而發生節點驅逐的情況。出於此原因,我們強烈建議將 NTP 配置調整為 slewing time (加快或減慢)時鐘時間以同步時間,以防止此類驅逐情況的發生。有關如何在您的平臺上實施 NTP 時間調整的更多資訊,請參考平臺特定的 RAC Oracle Clusterware 最佳實踐和初學者指南文件(見下文)。







如何在各個平臺上配置NTP的微調模式

對於11.2之前的版本,很多環境的重啟原因(top5的情況)是由於NTP調整時間的步伐過大導致的,所以RAC環境中,我們建議使用者如果使用NTP,需要配置成微調模式;

具體重啟的原因,請大家參考Allen Gao寫的部落格 :如何診斷節點重啟問題


這裡介紹幾個主流linux和unix平臺上NTP微調的配置方法:


For Linux :


1.請確確認各節點的ntp包已經安裝 ,我這裡是個4.2.2的版本


[oracle@nascds10 ~]$ rpm -qa | grep ntp


ntp-4.2.2p1-9.el5_4.1


2.請編輯各個節點的ntp.conf檔案


[oracle@nascds10 ~]$ su - root


Password:


[root@nascds10 ~]#  vi /etc/ntp.conf


#New ntp server added by Robinson


server  192.168.1.128 prefer  <<<<===========這裡是時鐘伺服器


restrict 192.168.7.0  mask 255.255.255.255 nomodify notrap #基於網段的限制(限制在網段192.168.7.0)


broadcastdelay 0.008


[root@nascds11 ~]# vi /etc/ntp.conf


#New ntp server added by Robinson


server 192.168.7.71 prefer


broadcastdelay 0.008


3、配置ntpd的引數,我們主要強調的是要配置成"微調的模式" 也就是在options中要加入 -x的選項


[root@nascds10 ~]# vi /etc/sysconfig/ntpd


#The following item added by Robinson


#Set to 'yes' to sycn hw clock after successful ntpdate


SYNC_HWCLOCK=yes  


OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"


[root@nascds11 ~]# vi /etc/sysconfig/ntpd


The following item added by Robinson


SYNC_HWCLOCK=yes


OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"


4、自動啟動配置


[root@nascds10 ~]# chkconfig ntpd on


[root@nascds11 ~]# chkconfig ntpd on


5、重啟一下,使最新配置生效


[root@nascds10 ~]# service ntpd restart


Shutting down ntpd: [  OK  ]


ntpd: Synchronizing with time server: [  OK  ]


Syncing hardware clock to system time [  OK  ]


Starting ntpd: [  OK  ]


[root@nascds11 ~]# service ntpd restart


Shutting down ntpd: [  OK  ]


ntpd: Synchronizing with time server: [  OK  ]


Syncing hardware clock to system time [  OK  ]


Starting ntpd: [  OK  ]


6、檢查ntpd程式的狀態


[root@nascds10 ~]# ntpq -p


      remote           refid      st t when poll reach   delay   offset  jitter


==============================================================================


  LOCAL(0)        .LOCL.          10 l   40   64    1    0.000    0.000   0.001


[root@nascds11 ~]# ntpq -p


      remote           refid      st t when poll reach   delay   offset  jitter


==============================================================================


  test.oracle.com  .INIT.          16 u   60   64    0    0.000    0.000   0.000


  LOCAL(0)        .LOCL.          10 l   59   64    1    0.000    0.000   0.001




For Aix:




1. NTP的同步設定  編輯 /etc/ntp.conf檔案, 內容如下:


----------------------------


#broadcastclient


server 192.168.5.2 


driftfile /etc/ntp.drift


tracefile /etc/ntp.trace


slewalways yes


----------------------------


我們這裡還是要強調微調slewalways  ,這個值的預設設定是no,也就是說如果您不設定,NTP最大可一次調整1000秒. 根據IBM的官方說明,如果我們不指定slewthreshold  那麼預設值是 0.128 seconds. 如果想特別設定,請指定slewthreshold 的值,注意單位是second




2.在NTP客戶端啟動xntpd守護程式


# startsrc -s xntpd



3. 查詢xntpd的狀態


當 system peer 不為 'insane' 時, 表明客戶端已與伺服器端成功地進行了同步.


# lssrc -ls xntpd


Program name: --/usr/sbin/xntpd


Version: -------3


Leap indicator: 00 (No leap second today.) Sys peer: ------192.168.5.2 ...




關於更多的關於IBM的平臺上NTP的設定,可以參考IBM的官方文件解釋:





For HP  UX:



NTP在HP上的配置,是比較省心的,不容易導致RAC重啟的,因為HP上的NTP預設的就是微調的模式


1、首先我們還是要編輯ntp的配置檔案 /etc/rc.config.d/netdaemons,把 XNTPD 設定為1表示啟動


   export XNTPD=1


2、編輯配置檔案 /etc/ntp.conf ,配置好時間同步伺服器


   server 192.168.5.2      #  第一個地址是主伺服器


   server 192.168.5.3      #  第二個地址是備用伺服器


3、啟動ntp的程式


   # /sbin/init.d/xntpd start


4、檢查NTP的狀態


   # /usr/sbin/ntpq -p


  這個命令您會看到同步的地址


  如果出現的結果是No association ID's returned 那麼表示您失敗了


關於HP主機上NTP的模式,有3種如下,在HP 平臺的man page中有詳細的說明:


模式1:offset below 128 milliseconds

This is the normal operating regime of NTP. A properly configured NTP hierarchy (with reasonable networking) can operate for years without ever approaching the 128 millisecond upper limit. All time adjustments are small and smooth (known as slewing), and nobody even notices the slew adjustments unless they have a cesium clock or a GPS clock and expensive instrumentation to make sophisticated measurements (HP/Agilent makes the instruments).

模式2:offset above 128 milliseconds

This regime is often encountered at power-on because, those battery-backed real-time clocks they put in computers are not too great. Because NTP is quite capable of keeping the offset below one millisecond all the time it is running, many users want to get into the normal regime quickly when an offset above 128 millisecond is encountered at startup. So in this situation NTP will (fairly quickly) make a single step change, and is usually successful in getting the offset well below 128 millisecond so there will be no more of the disruptive step changes.


模式3:offset above 1000 seconds


This is so far out of the normal operating range that NTP decides something is terribly wrong and human intervention is required. The daemon shuts down.


For Solars:


我這沒有測試的平臺,不過在KM (How to Configure NTP or Windows Time for Oracle Clusterware (Doc ID 1056693.1))裡找到了配置的辦法,這裡還有Windows的配置方式


檢查配置:


/usr/bin/svcs ntp


STATE          STIME    FMRI


online          7:39:29 svc:/network/ntp:default


ps -ef|grep ntp


root 21212     1   0   Feb 02 ?           0:33 /usr/lib/inet/xntpd



配置/etc/inet/ntp.conf 啟用slewalaways


grep 'slewalways|pll' /etc/inet/ntp.conf


slewalways yes


disable pll


啟動:


/usr/sbin/svcadm enable ntp


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8494287/viewspace-1695999/,如需轉載,請註明出處,否則將追究法律責任。

相關文章