linux安裝oracle rac機器的時間同步問題

eric0435發表於2011-11-01
在安裝oracle rac所有節點的時間要同步

Linux自帶了ntp服務 -- /etc/init.d/ntpd,這個服務不僅可以設定讓本機和某臺/某些機器做時間同步,他本身還可以扮演一個timeserver的角色,讓其他機器和他同步時間
配置檔案就是/etc/ntp.conf。

現在讓兩臺機器做時間同步
weblogic30 -- 10.138.130.30和weblogic29 -- 10.138.130.29做時間同步。
在時間同步前兩臺機器的時間是不一至的
[root@weblogic29 ~]# date
Wed Nov  7 10:48:42 CST 2012

[root@weblogic30 ~]# date
Wed Nov  7 10:51:53 CST 2012

1
weblogic29做time server,weblogic29本身不和其他機器時間同步,就是取本地時間。
所以,先把weblogic29機器的時間調準了:
[root@weblogic29 ~]date --set "01/23/2011 10:49"
也可以就用當前weblogic29機時所顯示的時間
[root@weblogic29 ~]clock -w
[root@weblogic29 ~]hwclock --systohc
後兩個命令是把設定的時間寫到硬體時間中去(也就是CMOS裡面的時間)。

2,
然後將weblogic29配置成一個time server,修改/etc/ntp.conf,
[root@weblogic29 ~]vi /etc/ntp.conf
其他的配置不怎麼需要改,只需要關注restrict的配置:


 加入:restrict 10.138.130.0 mask 255.255.255.0 -- 讓10.138.130網段上的機器能和本機做時間同步

這樣就可以了,記得下面的:

server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10

這兩行需要,這是讓本機的ntpd和本地硬體時間同步。

當然,我們也可以新增server xxx.xxx.xxx.xxx,讓他和其他的time server時間同步。

[root@weblogic29 ~]/etc/init.d/ntpd restart

[root@weblogic29 ~]chkconfig ntpd on

修改iptables配置,將tcp和udp 123埠開放,這是ntp需要的埠,
在/etc/services中可以查到這個埠。


3
這樣weblogic29就成為一臺time server了,現在我們配置weblogic30這臺機器,也是修改/etc/ntp.conf ,
[root@weblogic30 ~]vi /etc/ntp.conf

restrict default ignore這行保留為註釋狀態,因為不需要做time server

註釋掉server 127.127.1.0, fudge 127.127.1.0 stratum 10這兩行,因為這臺機器不需要和本地硬體時鐘同步了。

加入server 10.138.130.29這行,和weblogic29機器同步。


這樣就OK了。看看時間,已經和weblogic29同步了。往後預設配置好像是5分鐘和time server同步一次。ntpdate命令是顯式的和某臺機器做時間同步,以前將ntpdate放到crontab中定期同步也是可以的,但是既然ntpd本身就可以做這個時間

4.將ntpdate放到crontab中定期步也是可以的
[root@weblogic30 ~]#vi ntpupdate.sh
/usr/sbin/ntpdate 10.138.130.29
[root@weblogic30 ~]#chmod 755 ntpupdate.sh

crontab可以定時去執行你要做的動作
直接用crontab命令編輯
crontab -u //設定某個使用者的cron服務,一般root使用者在執行這個命令的時候需要此引數
crontab -l //列出某個使用者cron服務的詳細內容
crontab -r //刪除某個使用者的cron服務
crontab -e //編輯某個使用者的cron服務
一般使用crontab -e來編輯一個計劃動作,編輯模式同vi編輯器相同
crontab內的基本編輯格式如下
*  *  *  *  *  command
分  時  日  月 周   命令
第1列表示分鐘1~59 每分鐘用*或者 */1表示
第2列表示小時1~23(0表示0點)
第3列表示日期1~31
第4列表示月份1~12
第5列標識號星期0~6(0表示星期天)
第6列要執行的命令
crontab檔案的一些例子:
30 21 * * * /etc/init.d/smb restart
上面的例子表示每晚的21:30重啟smb 。
45 4 1,10,22 * * /etc/init.d/smb restart
上面的例子表示每月1、10、22日的4 : 45重啟smb 。
10 1 * * 6,0 /etc/init.d/smb restart
上面的例子表示每週六、週日的1 : 10重啟smb 。
0,30 18-23 * * * /etc/init.d/smb restart
上面的例子表示在每天18 : 00至23 : 00之間每隔30分鐘重啟smb 。
0 23 * * 6 /etc/init.d/smb restart
上面的例子表示每星期六的11 : 00 pm重啟smb 。
* */1 * * * /etc/init.d/smb restart
每一小時重啟smb
* 23-7/1 * * * /etc/init.d/smb restart
晚上11點到早上7點之間,每隔一小時重啟smb
0 11 4 * mon-wed /etc/init.d/smb restart
每月的4號與每週一到週三的11點重啟smb
0 4 1 jan * /etc/init.d/smb restart
一月一號的4點重啟smb
現在讓weblogic30每分鐘與weblogic29做一次時間同步
[root@weblogic30 ~]#crontab -e
*/1 * * * * /root/ntpupdate.sh

[root@weblogic30 ~]#/etc/init.d/crond restart

在同步後兩臺機器時間顯示如下:
[root@weblogic30 ~]# date
Wed Nov  7 11:13:04 CST 2012

[root@weblogic29 ~]# date
Wed Nov  7 11:13:06 CST 2012

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

相關文章