在我們常見的應用系統中,都會有多台伺服器在同時工作。由於應用的需要,所有伺服器要求有盡可能一致的時間,否則可能會引起一些意想不到的後果,以前就曾出現過因為應用伺服器時間還在23點50多分,而資料庫伺服器已跨過24點,導致正在進行的整個批處理日切或資料歸檔等重要處理失敗或根本無法進行的情況,其實應用和資料庫伺服器時間也只是相差了幾分鐘而已。為了避免出現這種情況,系統管理員要經常關注伺服器的時間,發現時間差距較大時可以手工調整,但由系統管理員手工調整既不準確、並且隨著伺服器數量的增加也顯得越來越不現實,因此有必要讓系統自動完成同步多個伺服器的時間。
針對我們經常接觸到的ibm-aix、hp-unix、linux三種系統,一一分析如何實現自動同步時間。
一、ibm-aix中用ntp實現時間自動同步
在aix中可以用兩種方法來實現區域網中多台伺服器的系統時間的統一。乙個方法是啟動xntpd 守護程序,另乙個方法是啟動timed程序,為了保證時間的一致性,在同一臺伺服器上只啟動xntpd 或 timed中的乙個。在aix中,這兩個程序預設是不啟動,每個aix系統使用自己的系統時間,這裡選擇採用xntpd守護程序來實現時間同步。
xntpd 是乙個關於網路時間協議的守護程序,它遵循了網際網路時間伺服器的通用標準。在啟動 xntpd 時, xntpd 會讀取 /etc/ntp.conf 配置檔案來確定網路中系統時鐘伺服器,以 ntp 伺服器的系統時間為標準,來調整本機的系統時間。使用 ntp 時應注意,xntpd 伺服器和 xntpd 客戶端的時鐘不能相差超過1000秒。若有大於1000秒的偏移,在客戶端啟動 xntpd 守護程序前,用 data 命令或smitty date 命令調整本機的系統時間,使偏移量在1000秒之內,然後啟動xntpd。
1、設定ntp 伺服器 (master)
broadcastclient
server 127.127.1.0
driftfile /etc/ntp.drift
tracefile /etc/ntp.trace
注意檔案中的 server 127.127.1.0 這一行, 此處的127.127.1.0 是一固定的位址,表示ntp主伺服器是與自身的系統時鐘同步。編輯好/etc/ntp.conf後,啟動xntpd守護程序。
# startsrc -s xntpd也可通過呼叫smitty,使xntpd在以後重啟伺服器時能自動啟動,
# smitty xntpd
剛啟動xntpd時,sys peer為'insane',表明xntpd還沒有完成同步,
#lssrc -ls xntpd
program name: --/usr/sbin/xntpd
version: -------3
leap indicator: 11 (leap indicator is insane.)
sys peer: ------no peer, system is insane
等待5分鐘後, sys peer 就不再是'insane'了,
#lssrc -ls xntpd
program name: --/usr/sbin/xntpd
version: -------3
leap indicator: 00 (no leap second today.)
sys peer: ------127.127.1.0
2、ntp客戶端的設定
#broadcastclient
server 10.118.0.3
driftfile /etc/ntp.drift
tracefile /etc/ntp.trace
其中的server 10.118.0.3表明,此客戶端與ip位址為 10.118.0.3的ntp伺服器進行時間同步。
(2)、在ntp客戶端啟動xntpd守護程序
# startsrc -s xntpd
也可通過呼叫smitty,使xntpd在以後重啟伺服器時能自動啟動(next system restart)。
# smitty xntpd
(3)、查詢xntpd的狀態
當 system peer 不為'insane'時,表明客戶端已與伺服器端成功地進行了同步(通常啟動xntpd服務10分鐘後)。
# lssrc -ls xntpd
program name: /usr/sbin/xntpd
version: 3
leap indicator: 00 (no leap second today.)
sys peer: dbs1
3、ntp客戶端查詢ntp伺服器
在ntp客戶端使用ntpdate命令來確認是否可用指定的ntp伺服器進行時間同步。命令的結果會顯示客戶端與伺服器的時間偏移。
#ntpdate -d 10.118.0.3
13 jun 11:20:01 ntpdate[36094]: adjust time server 10.118.0.3 offset -0.000993 sec
上面例子中的兩台伺服器時間差了0.000993秒,即0.993 毫秒,這是可以接受的正常偏差。若時間間隔大於1000秒,最好先使用smitty date進行調整。
這種方法在aix4.3上和aix5l上均可以實現。
二、hp-unix中用ntp實現時間自動同步
與在ibm-aix中方法類似,用ntp來實現時間同步,由於採用相同的ntp協議來同步時間,因此就直接舉個例子說明,只是具體的配置檔案與在aix中不完全相同。
下面是乙個具體的配置例子:
當然也可以通過sam來配置, 最後一項 time --> ntp network time source
在啟動時間伺服器和客戶端的xntpd程序以後,需要5-10分鐘的時間,才會進行同步。可以使用ntpdate來根據ntp server設定客戶端伺服器的時間。
如果主伺服器和客戶機器的時間相差超過1000秒,那麼這個時間同步系統會認為伺服器出現了系統故障,從而停止同步,需要注意這一點。
可以通過檢視/var/adm/syslog/syslog.log檔案,檢視xntpd的執行狀況。
三、linux中用rdate實現時間自動同步
在各種linux中都有rdate命令,只是一般很少有人使用,我們可以利用rdate命令來同步區域網中的linux伺服器時間。首先找一台時間最準確的伺服器作為主伺服器(master),以它的時間為標準,其他伺服器統一以它的時間為準,這樣,即使這台主伺服器的時間出現偏差,但至少有兩個好處,一是對於業務時間是統一的,不會出現前後臺不一致的情況;二是對於系統管理員減少了手工調整每台伺服器的工作,只要調整一台主伺服器即可,並且這樣的準確性也比手工調整高。
在主伺服器上(10.118.36.3)啟動檢查時鐘的服務:
#chkconfig time on
如果不啟動這個服務,在客戶端(10.118.36.7)同步時會報如下錯誤:
#rdate: couldn't connect to host 10.118.36.3: connection refused
在每台需要同步的伺服器上執行:
#rdate –s 10.118.36.3
這樣就完成了一次手動的同步,如果想要系統自動去完成,可以把這句命令加入到root 使用者的計畫任務中,例如:crontab –l
00 07 * * * rdate –s 10.118.36.3
表示每天早晨業務開始前的7點按照10.118.36.3來同步所有伺服器時鐘。
如果覺得以某台伺服器為主伺服器不夠準確,在網路情況允許的情況下,可以用標準伺服器的時間來同步:
#rdate -s time.nist.gov(生產環境中不可能實現也不建議這樣)
全世界約有100多個ntp伺服器,從下面位址找乙個離你最近的
我選擇了兩個
clock.nc.fukuoka-u.ac.jp 133.100.9.2
clock.tl.fukuoka-u.ac.jp 133.100.11.8
綜上各種常見系統,系統管理員為了提高系統的準確性,自動同步時間是必要和可行的
時鐘伺服器搭建
1 安裝ntp yum y install ntp 直接yum安裝即可 2 相關配置 修改ntp.conf配置 vim etc ntp.conf 但可以分如下2種限制 2.1 只允許192.168.100.0網段的客戶機進行時間同步 在restrict default kod nomodify no...
如何增強Linux和Unix伺服器系統安全性
一 系統安全記錄檔案 作業系統內部的記錄檔案是檢測是否有網路入侵的重要線索。如果您的系統是直接連到internet,您發現有很多人對您的系統做 telnet ftp登入嘗試,可以執行 more var log secure grep refused 來檢查系統所受到的攻擊,以便採取相應的對策,如使用...
時鐘伺服器同步轉文
ntp1.aliyun.com ntp2.aliyun.com ntp3.aliyun.com ntp4.aliyun.com ntp5.aliyun.com ntp6.aliyun.com ntp7.aliyun.com 210.72.145.44 國家授時中心伺服器ip位址 133.100.11...