在虛擬機器上同步伺服器上的時間_Hbase

逸卿發表於2014-05-09

區域網內Linux伺服器時間同步

環境:oracle linux5.6 oracle11gR2.0.2 (active dataguard)

最近發現在幾個伺服器的系統時間不準了,資料庫上線才4個多月,都跟正常時間偏差。如下
主庫:比正常時間快10分鐘
備庫1:比正常時間慢2分鐘
備庫2:比正常時間快4分鐘

看來是有快有慢。當時設的是主機板硬體時間同步(hwclock --systohc),時間基本上一樣的。看了現在硬體時間都不準了,這我們同步方法不是很可靠,因為每臺機器的硬體時間可能不一致。

通過在測試環境上測試實驗:
1.將主庫的時間調慢10分鐘,DG仍能正常同步,對系統沒有影響;
2.再將備庫1時間調快5分鐘,DG仍能正常同步,對系統沒有影響;
3.最後,分別在主備上將時間調慢或調快幾分鐘都對系統沒有影響。

通過實驗結果看,系統的時間調整對active dg環境同步沒有影響,並且都是線上修改的時間,資料庫都沒有停,修改完重啟完沒有出現異常,DG能正常同步。
只是修改主庫時間時,在alter.log出現了下面的錯誤:
“opiodr aborting process unknown ospid (28225) as a result of ORA-609”
但是系統沒有出現其它的異常。

下一步就是在生環境上修改系統時間了,希望同步不會有任何異常。

為了保險、安全起見,最終我們還是先把資料庫停掉後,然後再修改的系統時間。完成後資料庫沒有異常,執行正常。

 

下面是修改系統linux時間同步的具體方法:

當有多臺伺服器共同工作時,有時候時間的不同步會帶來不小的麻煩。 
一、 配置時間伺服器
將時間伺服器要與外網的時間伺服器同步時間,所以作為時間伺服器必須可以連線外網。
1、將時間伺服器與網際網路時間伺服器同步
# /usr/bin/rdate -s time-b.timefreq.bldrdoc.gov

2、安裝ntp server
--修改/etc/ntp.conf,新增如下資訊:
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
--如果想在網際網路做ntp server,取消noquery就可以了,如果只是給內部提供,加一行ip限制就行:
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap nopeer
--然後重啟ntpd服務:
[root@bogon ~]# service ntpd restart
--最後等ntp第一次去他的上級ntp server同步,可以檢視:
[root@appserver ~]# ntpq -p
remote        refid      st t when poll reach   delay   offset  jitter
======================================================================
114.80.81.13    66.220.9.122     2 u   22   64    1   37.802  -292.77   0.001
122.226.192.4   127.67.113.92    2 u   21   64    1   38.103  -298.15   0.001
61.153.197.226  .INIT.          16 u    -   64    0    0.000    0.000   0.000
LOCAL(0)        .LOCL.          10 l   21   64    1    0.000    0.000   0.001

3、啟動時間伺服器
# /etc/init.d/ntpd start

4、每週同步一次時間
--設定計劃任務,每週定時的去同步時間伺服器的時間。先建立一個同步指令碼:
# vi /etc/cron.weekly/rdateweekly.sh
#!/bin/sh
/usr/bin/rdate -s time-b.timefreq.bldrdoc.gov
--把該指令碼新增到crontab任務中,定時自動執行:
# chmod 755 /etc/cron.weekly/rdateweekly.sh
# crontab –e
01 00 * 1 * /etc/cron.weekly/rdateweekly.sh &> /dev/null

5、將ntpd設定成為開機自啟動
# chkconfig ntpd on

6、修改防火牆使允許時間伺服器通訊
--如果伺服器開了防火牆,則需要手工配置防火牆的配置檔案,使防火牆允許時間伺服器通訊。
# vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 123 -j ACCEPT

 

二、設定區域網內其它伺服器與該時間伺服器同步
1、
先停止要同步時間的ntp服務
[root@client ~]# /etc/init.d/ntpd stop  --或用service ntpd stop
關閉 ntpd:  [確定]

2、內網伺服器時間同步
[root@client ~]# ntpdate 192.168.1.8
27 Oct 11:24:05 ntpdate[5707]: step time server 192.168.1.8 offset 199.356250 sec
注:該IP為上面的時間伺服器IP。

3、設定計劃任務每週定時同步
先建立一個同步指令碼:
[root@client ~]# vi /etc/cron.weekly/ntpdateweekly.sh
#!/bin/sh 
ntpdate 192.168.1.8

--在crontab任務中新增定時同步任務:
01 00 * * 6 /etc/cron.weekly/ntpdateweekly.sh &> /dev/null

[root@client ~]# chmod 755 /etc/cron.weekly/ntpdateweekly.sh
到此,區域網時間伺服器就算配置完成,以後再也不用為時間的不同步而煩惱了。
 
三、內網伺服器時間同步錯誤
1、
no server suitable for synchronization found
[root@client ~]# ntpdate 192.168.1.8
27 Oct 11:00:02 ntpdate[5299]: no server suitable for synchronization found

解決辦法:安裝ntp server
修改/etc/ntp.conf,新增如下資訊:
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
如果想在網際網路做ntp server,取消noquery就可以了,如果只是給內部提供,加一行ip限制就行:
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap nopeer
然後重啟ntpd服務:
[root@client ~]# service ntpd restart
最後等ntp第一次去他的上級ntp server同步,可以檢視:
[root@appserver ~]# ntpq -p
remote        refid      st t when poll reach   delay   offset  jitter
======================================================================
114.80.81.13    66.220.9.122     2 u   22   64    1   37.802  -292.77   0.001
122.226.192.4   127.67.113.92    2 u   21   64    1   38.103  -298.15   0.001
61.153.197.226  .INIT.          16 u    -   64    0    0.000    0.000   0.000
LOCAL(0)        .LOCL.          10 l   21   64    1    0.000    0.000   0.001

否則用客戶端同步,會報錯:
[root@client ~]# ntpdate -d 192.168.1.8
27 Oct 11:00:44 ntpdate[5307]: ntpdate Thu May 13 14:38:23 UTC 2010 (1)
Looking for host 192.168.1.8 and service ntp
host found : 192.168.1.8
transmit(192.168.1.8)
transmit(192.168.1.8)
transmit(192.168.1.8)
transmit(192.168.1.8)
transmit(192.168.1.8)
192.168.1.8: Server dropped: no data
server 192.168.1.8, port 123
stratum 0, precision 0, leap 00, trust 000
refid [192.168.1.8], delay 0.00000, dispersion 64.00000
transmitted 4, in filter 4
reference time:    00000000.00000000  Thu, Feb  7 2036 14:28:16.000
originate timestamp: 00000000.00000000  Thu, Feb  7 2036 14:28:16.000
transmit timestamp:  d25347df.73e86849  Thu, Oct 27 2011 11:00:47.452
filter delay:  0.00000  0.00000  0.00000  0.00000 
         0.00000  0.00000  0.00000  0.00000 
filter offset: 0.000000 0.000000 0.000000 0.000000
         0.000000 0.000000 0.000000 0.000000
delay 0.00000, dispersion 64.00000
offset 0.000000
27 Oct 11:00:48 ntpdate[5307]: no server suitable for synchronization found

2、the NTP socket is in use, exiting
[root@client ~]# ntpdate 192.168.1.8
 2 Dec 15:20:42 ntpdate[2748]: the NTP socket is in use, exiting
 
解決辦法:在客戶端伺服器上沒停止ntpd服務
[root@client ~]# /etc/init.d/ntpd stop
關閉 ntpd:  [確定]

相關文章