随着公司計算機應用的廣度和深度不斷加大,網絡中的裝置種類和業務類型越來越多,伺服器的數量也與日俱增。傳統上,各種伺服器、網絡裝置使用的時間都是由裝置内部時鐘來提供的。由于伺服器、網絡裝置本身的時鐘誤
計算機NTP時鐘同步(NTP伺服器-NTP時間伺服器)的重要性
計算機NTP時鐘同步(NTP伺服器-NTP時間伺服器)的重要性
技術交流-嶽峰-15901092122;Q-522508213;
時間伺服器的配置
随着公司計算機應用的廣度和深度不斷加大,網絡中的裝置種類和業務類型越來越多,伺服器的數量也與日俱增。傳統上,各種伺服器、網絡裝置使用的時間都是由裝置内部時鐘來提供的。由于伺服器、網絡裝置本身的時鐘誤差是不可避免的,盡管這種誤差每天不大,但經過一段時間的累積就會出現大的時間差,進而導緻網絡中各伺服器、網絡裝置的時間不一緻。
對于一些業務系統獨立運作的企業,這種時間的不一緻性不會帶來什麼問題,然而,對于我們這樣一個有着多種互相關聯的業務系統的供電企業而言,卻是緻命的。一方面是國網公司“SG186”工程要求,同一業務系統在上下級公司的縱向上要做到貫通,各種業務系統在公司内部的橫向上要做到內建。是以各業務系統傳遞的資訊,在時間上必須保持高度一緻,并準确地與中原標準時間同步。另一方面是一些自動化系統,如電能量采集系統、排程自動化系統、配網自動化系統等,這些系統中的計費、維護、管理等功能,對時間的精确有着更苛刻的要求。
基于以上考慮,我們在公司新的資料中心建設過程中,部署了兩台多端口東方電子 IDC510A NTP網絡時間伺服器,該伺服器使用GPS信号作為時間源,通過NTP協定對網絡内的所有伺服器和網絡裝置的時間進行同步。
NTP(Network Time Protocol,網絡時間協定)是網絡中用于時間同步的标準協定。它采用Client/Server模式,NTP用戶端借助NTP協定,從NTP伺服器擷取準确的時間。NTP伺服器的時間通常來源于一個權威的時間源,如原子鐘、GPS時鐘、Internet上的時間伺服器等。NTP不僅校正時間,而且能夠持續跟蹤時間的變化,并自動進行調節,進而使采用NTP協定的用戶端能從網絡中擷取可靠和精确的時間同步。
下面是我們資料中心中各系統下配置NTP的過程,現整理出來與大家一起分享。網絡拓撲見圖1。
圖1
兩台NTP時間伺服器的IP位址分别為172.31.254.100和172.31.254.101,用戶端無需身份驗證就可連接配接。時間伺服器及各伺服器、網絡裝置、桌面裝置、各種終端使用同樣的GMT/UTC+8時區設定。配置中所涉及的平台及作業系統見表1。
序号 | 平台 | 作業系統/型号 |
1 | Linux | Red Hat Enterprise Linux 6 |
2 | AIX | AIX 5.3 |
3 | HPUX | HP-UX 11i v3 |
4 | Solaris | Solaris 10 update 8 |
5 | Windows | Windows Server 2008 R2 Enterprise |
6 | Cisco交換機 | Catalyst 3560 |
7 | H3C交換機 | S3600-28P-EI |
表1
一、Linux中的配置
1、設定時區
在Red Hat中,中國時區為Asia/Shanghai。設定時區的方法有兩種:一是,使用tzselect指令,選擇所在的國家和城市;二是,可以通過修改檔案來變更時區。下面使用的是第二種方法設定時區。
# vi /etc/sysconfig/clock
ZONE=Asia/Shanghai
UTC=false
ARC=false
# rm /etc/localtime
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
因為所有時區設定檔案都儲存在/usr/share/zoneinfo目錄内,其中/usr/share/zoneinfo/Asia/Shanghai為中國時區的檔案,而/etc/localtime為時區設定檔案。上面的指令建立了指向中國時區的連結檔案/etc/localtime。時區修改完後,需要重新開機伺服器。
2、檢視本地時間
檢視系統時鐘
#date
2011年 06月 09日 星期四 18:50:06 cst
檢視硬體時鐘
#hwclock
2011年06月09日星期四 18時50分36秒 -0.781558 seconds
3、手動從NTP伺服器更新時間
# ntpdate 172.31.254.100
9 Jun 18:52:06 ntpdate[13897]: step time server 172.31.254.100 offset 287.912988 sec
使用NTP更新時間,要求服務端與用戶端之間的時間誤差不超過1000秒, 是以需要先手動進行時間同步,然後再與時間伺服器同步。
4、編輯/etc/ntp.conf檔案
server 172.31.254.100
server 172.31.254.101
#server 0.uk.pool.ntp.org
#server 1.uk.pool.ntp.org
#server 2.uk.pool.ntp.org
#server 127.127.1.0
#local clock
#fudge 127.127.1.0 stratum 10
上面的配置,首先設定了網絡内時間伺服器的IP位址,再将系統預設的時間伺服器注釋掉,最後要確定将server 127.127.1.0等與伺服器自身時鐘同步的選項注釋掉。
5、編輯/etc/sysconfig/ntpd檔案,添加如下内容:
SYNC_HWCLOCK= yes
該選項作用是使用NTP時間更新硬體時鐘。
6、啟動Ntpd服務
#/etc/init.d/ntpd start
#chkconfig ntpd on
通過上面的指令就可以啟動Ntpd服務,不過要與NTP伺服器同步則還需要一些時間。
7、檢視運作狀态
#ntpq -p
remote refid st t when poll reach delay offset jitter
===============================================================
*172.31.254.100 .GPS. 1 u 28 64 1 0.366 0.040 0.000
+172.31.254.101 .GPS. 1 u 48 64 1 0.236 0.042 0.000
通過上面的指令,可以檢視到目前的NTP狀态,其中幾列的含義如下:
st 時間伺服器所在層
when 上一次時間同步是在幾秒前
poll 每間隔多少秒,做一次時間同步
delay 網絡延遲
offset 本機與NTP伺服器的時間差
二、AIX中的配置
1、設定時區
使用下面的指令,可以檢視系統目前時區。
#echo $TZ
BEIST-8
在AIX中調整時區很簡單,通過smit指令,選擇即可。
smit->System Environments-> Change / Show Date and Time-> Change Time Zone Using System Defined Values
2、檢視本地時間
#date
Thu Jun 9 19:16:55 BEIST 2011
3、手動從NTP伺服器更新時間
# ntpdate 172.31.254.100
9 Jun 19:17:24 ntpdate[12876]: step time server 172.31.254.100 offset 15.704814
4、編輯/etc/ntp.conf檔案
#broadcastclient
server 172.31.254.100
server 172.31.254.101
driftfile /etc/ntp.drift
tracefile /etc/ntp.trace
5、啟動xntpd守護程序
#startsrc -s xntpd
#smitty xntpd
通過smitty指令,在以後重新開機伺服器時能自動啟動xntpd程序。
6、檢視運作狀态
#ntpq -p
remote refid st t when poll reach delay offset disp
==========================================================
*172.31.254.100 .GPS. 1 u 26 64 1 0.63 0.194 0.75
+172.31.254.101 .GPS. 1 u 45 64 1 0.
三、HPUX中的配置
1、設定時區
使用下面的指令,可以檢視系統目前時區。
#echo $TZ
EAT-8
使用下面的指令,可以通過互動的方式來修改時區。
# set_parms timezone
選擇“Asia”->“Phillipines, Hong Kong, Eastern China, Taiwan (EAT-8)”即可。
2、手動從NTP伺服器更新時間
# ntpdate 172.31.254.100
9 Jun 20:08:06 ntpdate[13610]: adjust time server 172.31.254.100 offset -0.000139 sec
3、編輯/etc/rc.config.d/netdaemons檔案
export NTPDATE_SERVER=’172.31.254.100 172.31.254.101’
export XNTPD=1
export XNTPD_ARGS=
4、編輯/etc/ntp.conf檔案
server 172.31.254.100
server 172.31.254.101
driftfile /etc/ntp.drift
5、生成/etc/ntp.drift檔案
#touch /etc/ntp.drift
#chmod 755 /etc/ntp.drift
上面的指令,生成了/etc/ntp.drift檔案,并修改了該檔案的權限。ntp.drift檔案的作用是用來跟蹤本地時鐘的時間“漂移”。經過一段時間後,NTP使用ntp.drift來補償時鐘的漂流,進而減少通路NTP伺服器的次數。
6、啟動NTP
#/sbin/init.d/xntpd start
7、檢視運作狀态
#ntpq –p
remote refid st t when poll reach delay offset disp
============================================================
*172.31.254.100 .GPS. 1 u 32 64 1 0.49 0.24 0.55
+172.31.254.101 .GPS. 1 u 25 64 1 0.52 0.22 0.62
四、Solaris中的配置
1、設定時區
使用下面的指令,可以檢視系統目前時區。
#echo $TZ
PRC
編輯/etc/TIMEZONE檔案,修改内容如下:
TZ=PRC
2、手動從NTP伺服器更新時間
# ntpdate 172.31.254.100
9 Jun 20:16:31 ntpdate[8420]: adjust time server 172.31.254.100 offset -0.000193 sec
3、複制NTP配置檔案
#cp /etc/inet/ntp.clinet /etc/inet/ntp.conf
4、修改/etc/inet/ntp.conf檔案
#multicastclient 224.0.1.1
server 172.31.254.100 prefer
server 172.31.254.101
5、啟動ntp服務
#svcadm enable network/ntp
6、檢視運作狀态
#ntpq –p
remote refid st t when poll reach delay offset disp
============================================================
*172.31.254.100 .GPS. 1 u 32 64 1 0.59 0.64 0.25
+172.31.254.101 .GPS. 1 u 29 64 1 0.62 0.66
五、Windows 2008中的配置
1、選擇“開始”-> “運作”,輸入gpedit.msc,點選确定。
2、打開本地組政策編輯器,并選擇“計算機配置”->“管理模闆”->“系統”->“Windows時間服務”->“時間提供程式”。
3、選擇右邊欄中的“啟用Windows NTP用戶端”,并在如圖2所示的對話框中選擇“已啟用”。
圖2
4、點選“下一個設定”,并在如圖3所示的“配置Windows NTP用戶端”對話框中,設定NTP伺服器的相應資訊,将NtpServer設定為172.31.254.100, 0x1,類型為NTP,其它參數使用預設值即可。
圖3
5、點選“确定”,完成配置。
6、檢視運作狀态
在指令提示符下執行“w32tm /resync”指令,可以手動與NTP伺服器同步一次時間,預設配置每隔一小時(3600秒)與時間伺服器同步一次。這可以通過如圖4所示的“日期和時間”對話框來确認。
六、Cisco交換機中的配置
1、設定時區
Switch(config)#clock timezone Beijing 8
設定為UTC+8時區
2、啟用NTP
Switch(config)#ntp server 172.31.254.100 prefer
Switch(config)#ntp server 172.31.254.101
配置NTP時間伺服器的IP位址,優先從172.13.254.100同步。
3、檢視NTP運作情況
檢視目前軟體時鐘的日期和時間。
Switch#show clock detail
08:18:06.201 Beijing Fri Jun 10 2011
Time source is NTP
下面的指令可以檢視交換機上NTP的狀态。
Switch#show ntp status
Clock is synchronized, stratum 1, reference is 172.31.254.100
.....
clock offset is -0.3717 msec, root delay is 252.50 msec
root dispersion is 61.05 msec, peer dispersion is 0.48 msec
......
檢視與目前交換機相聯的NTP裝置資訊
Switch#show ntp associations detail
172.31.254.100 configured, authenticated, our_master, sane, valid, stratum 1
......
our mode client, peer mode server, our poll intvl 64, peer poll intvl 64
root delay 210.94 msec, root disp 64.09, reach 64, sync dist 146.840
delay 1.54 msec, offset -0.4527 msec, dispersion 0.50
precision 2**18, version 3
七、H3C交換機中的配置
1、設定時區
<H3C-01> clock timezone beijing add 8
<H3C-01>disp clock
11:16:24 beijing Sun06/19/2011
Time Zone : beijing add 08:00:00
設定為UTC+8時區
2、啟用NTP
[switch-temp]ntp-service unicast-server 172.31.254.100 priority
[switch-temp]ntp-service unicast-server 172.31.254.101
指定兩個NTP時間伺服器,但優先選擇172.31.254.100伺服器同步
3、檢視NTP運作情況
顯示NTP服務的狀态資訊
<switch-temp>display ntp-service status
Clock status: synchronized
Clock stratum: 1
Reference clock ID: 172.31.254.100
Nominal frequency: 100.0000 Hz
Actual frequency: 100.0000 Hz
......
顯示NTP服務維護的所有會話資訊
<switch-temp>display ntp-service sessions
source reference stra reach poll now offset delay disper
******************************************************************
[12345]172.31.254.100 LOCL 1 1 64 4095 0.0 18.5 0.0
......