天天看點

計算機NTP時鐘同步(NTP伺服器-NTP時間伺服器)的重要性及其配置方法

随着公司計算機應用的廣度和深度不斷加大,網絡中的裝置種類和業務類型越來越多,伺服器的數量也與日俱增。傳統上,各種伺服器、網絡裝置使用的時間都是由裝置内部時鐘來提供的。由于伺服器、網絡裝置本身的時鐘誤

計算機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

......