NTP服務器搭建

轉自:http://blog.csdn.net/wozijisunfly/article/details/8130601
SUSE Linux Enterprise Server 11 (i586)

NTP(網絡時間協議)機制是用於同步網絡上的系統時間的協議。首先,計算機從作爲可靠時間源的服務器獲得時間。然後將此計算機用作網絡中其他計算機的時間源。這樣做有雙重目的,既可維護絕對時間,又可保持網絡中所有計算機系統時間的同步。

1.查看系統時鐘(Linux 內核時鐘)和設置系統時鐘
boco@TJ-Unicom-Group-GnCol2:~> date
Mon Jun 27 14:06:29 CST 2011
#date -s 091713272003.30 設置系統時鐘的操作
#date 月日時分年.秒 通用的設置格式

2.查看硬件時鐘和設置硬件時鐘
Linux將時鐘分爲系統時鐘(System Clock)和硬件(Real Time Clock,簡稱RTC)時鐘兩種。系統時鐘是指當前Linux Kernel中的時鐘,而硬件時鐘則是主板上由電池供電(石英鐘)的那個主板硬件時鐘,這個時鐘可以在BIOS的Standard BIOS Feture”項中進行設置。
TJ-Unicom-Group-GiCol2:~ # hwclock 另一種寫法 hwclock --show 查看硬件時鐘
Mon Jun 27 15:12:29 2011 -0.346217 seconds
hwclock --set --date="MM/DD/YYYY hh:mm:ss" 通用的設置格式

3.同步系統時鐘和硬件時鐘
Linux系統(筆者使用的是Red Hat 8.0,其它系統沒有做過實驗)默認重啓後,硬件時鐘和系統時鐘同步。如果不大方便重新啓動的話(服務器通常很少重啓),使用clock或hwclock命令來同步系統時鐘和硬件時鐘。

hwclock --hctosys 硬件時鐘同步系統時鐘(與硬件時鐘爲基準) ,--hctosys表示Hardware Clock to SYStem clock clock 命令在suse11 上用不了

hwclock -w 或者 hwclock --systohc 系統時鐘同步硬件時鐘(與系統時鐘爲基準),--systohc表示 SYStem clock to Hardware Clock

#hwclock --help 查看所有參數和格式

4.安裝NTP軟件包
安裝之前先檢測是否這些軟件包已安裝,方法如下:
TJ-Unicom-Group-SysLogCol1:~ # rpm -qa | grep ntp
ntp-4.2.4p6-1.15
yast2-ntp-client-2.17.14-1.8
如果沒有安裝,需要進行安裝
linux: ~#rpm -ivh ntp-4.2.4p6-1.15.i586.rpm
此安裝包位於D:\工作軟件\SUSE 11 32位 操作系統 鏡像ISO\SUSE_SLES-11-0-1\suse\i586\ntp-4.2.4p6-1.15.i586.rpm

5.設置時鐘同步– NTP 配置文件模式(配置文件模式是長久有效,命令模式臨時有效) SUSE 11版
NTP 修改配置文件/etc/ntp.conf
server 10.3.64.61 設置時鐘服務器(源),重啓NTP服務即可,上級時間服務器的IP或者域名

local clock (LCL)

fudge 127.127.1.0 stratum 10 fudge設置Stratum(層)

LCL is unsynchronized

啓動/停止/重啓/狀態ntp服務

/sbin/service ntp start

/sbin/service ntp stop

/sbin/service ntp restart

/sbin/service ntp status

 remote           refid      st t when poll reach   delay   offset  jitter

=============================================================================
*10.3.64.61 132.174.32.151 5 u 40 64 17 0.226 0.533 0.133 這是NTP啓動狀態running,指向時鐘源10.3.64.61
Checking for network time protocol daemon (NTPD): running
TJ-Unicom-Group-LupsCol2:/etc # ntpq -p 監視NTP->只有啓動NTP服務才能監視NTP,否則ntpq: read: Connection refused
remote refid st t when poll reach delay offset jitter

LOCAL(0) .LOCL. 10 l 58 64 1 0.000 0.000 0.001 監視NTP,但沒有指向時鐘源
remote refid st t when poll reach delay offset jitter

*10.3.64.61 132.174.32.151 3 u 31 64 377 0.714 207.690 147.835 監視NTP,已經指向時鐘源10.3.64.61,目的NTP是否正常如果發現在remote這列之前會出現星號和+號,說明已經跟這個服務器同步成功了
TJ-Unicom-Group-Analyse1:~ # service ntp status 這是NTP沒有啓動的狀態
Checking for network time protocol daemon (NTPD): unused
TJ-Unicom-Group-GnCol1:/etc # ntpdate 10.3.64.61 NTP命令模式,手工同步NTP,有警告WARNING信息,但可以同步(配置文件模式是長久有效,命令模式臨時有效)
!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!!
The ntpdate program is deprecated and should not be used any more. To
quote the upstream ntp developers:
"The functionality ntpdate offered is now provided by the ntpd daemon
itself. If you call ntpd with the command line option -q it will
retrieve the current time and set it accordingly."
Please check the Network Time Protocol (NTP) daemon man page and
http://support.ntp.org/bin/view/Dev/DeprecatingNtpdate
for further information.
You can replace the ntpdate call with "rcntp ntptimeset" to achieve an
inital poll of the servers specified in /etc/ntp.conf.
The program /usr/sbin/sntp offers comparable functionality to ntpdate.
Specifically
sntp -P no -r pool.ntp.org
is equivalent to
ntpdate pool.ntp.org
For further details please refer to the man page of sntp.
TJ-Unicom-Group-GnCol1:/etc # date
Mon Jul 4 11:32:56 CST 2011
TJ-Unicom-Group-GnCol1:/etc # ntpq -p 監視NTP->只有啓動NTP服務才能監視NTP,否則ntpq: read: Connection refused
ntpq: read: Connection refused 目的NTP是否正常

6.開機自動啓動NTP服務
TJ-Unicom-Group-Analyse1:~ # chkconfig -list | grep ntp 開機不啓動時顯示off,0~6指系統的運行級別
ntp 0:off 1:off 2:off 3:off 4:off 5:off 6:off
chkconfig ntp on 開機自動啓動NTP服務
TJ-Unicom-Group-Analyse1:~ # chkconfig -list | grep ntp
ntp 0:off 1:off 2:off 3:on 4:off 5:on 6:off 確認服務已啓動,啓動服務時顯示on
7.查看NTP服務日誌(就能觀察到時間是否在同步)
#cat /var/log/ntp
10 Jun 15:28:38 ntpd[2022]: ntpd exiting on signal 15
5 Jul 16:23:38 ntpd[17978]: synchronized to 10.3.64.61, stratum 5
5 Jul 16:29:18 ntpd[17978]: time reset +339.397617 s
5 Jul 16:29:18 ntpd[17978]: kernel time sync status change 0001
8.使用crontab設置時鐘同步NTP的任務計劃

          • /usr/sbin/ntpdate 10.3.64.61 &>/dev/null;/sbin/hwclock -w 創建一個cron讓它自動運行以下命令每天同步一次NTP,並把執行結果和錯誤信息都重定向/dev/null->系統時鐘同步硬件時鐘。
          • /usr/sbin/ntpdate 10.3.64.61 &>/dev/null 這是另一種寫法,把命令的結果和錯誤信息都寫入文件
          • /usr/sbin/hwclock -w 系統時鐘同步硬件時鐘
          • su - root -c "/sbin/hwclock -w" 先切換用戶爲root,在執行“系統時鐘同步硬件時鐘”
            0-59/10 /usr/sbin/ntpdate 10.3.64.61 &>/root/ntplog;/sbin/hwclock -w &>/root/ntptb 表示每隔10分鐘同步一次NTP時間,並把執行結果和錯誤信息都重定向/root/ntplog->系統時鐘同步硬件時鐘
            0 10 * /usr/sbin/ntpdate 10.3.64.61 &>/root/ntplog;/sbin/hwclock -w &>/root/ntptb 每天10點整同步一次NTP時間,並把執行結果和錯誤信息都重定向/root/ntplog->系統時鐘同步硬件時鐘
            9.cron文件的目錄和cron執行日誌目錄
            /var/spool/cron/tabs/root cron文件的目錄
            /var/adm/cron/log cron執行日誌目錄
            Red Hat Enterprise Linux Server release 6.1 (Santiago)
            概念:如果你作爲ntp客戶端,去跟別的服務器同步時鐘,不需要啓動什麼服務,直接輸ntpdate 10.3.64.61就可以了。如果你是作爲ntp服務器(時鐘源)的話,那麼得啓動ntpd服務,service ntpd start!
            特點:當我們手工改變了時間後,ntp服務會自動修復時間差(不用我們人工參與),但不是實時的,需要一點時間。

1.安裝NTP軟件包
安裝之前先檢測是否這些軟件包已安裝,方法如下
[root@TJ-Unicom-Group-Gn-02 etc]# rpm -qa | grep ntp 有ntpdate-4.2.4p8-2.el6.x86_64和ntp-4.2.4p8-2.el6.x86_64包就ok了
ntpdate-4.2.4p8-2.el6.x86_64 一般在OS系統安裝後都會自帶這2個包
ntp-4.2.4p8-2.el6.x86_64
fontpackages-filesystem-1.41-1.1.el6.noarch

2.查看系統所在時區和修改系統時鐘
[root@TJ-Unicom-Group-Gn-02 etc]# date -R
Wed, 15 Aug 2012 14:39:52 +0800
修改系統時鐘
date -s "2012-08-14 09:00:00" 特點:當我們手工改變了時間後,ntp服務會自動修復時間差(不用我們人工參與),但不是實時的,需要一點時間。
或者
date -s 08/14/2012 #月/日/年
date -s 09:37:00
或者
date MMDDhhmmYYYY.ss

3.啓動/停止/重啓/狀態ntp服務

/sbin/service ntpd start 啓動

/sbin/service ntpd stop 停止

/sbin/service ntpd restart 重啓

/sbin/service ntpd status 狀態

[root@TJ-Unicom-Group-Gn-02 etc]# service ntpd start 啓動NTP
Starting ntpd: [ OK ]
[root@TJ-Unicom-Group-Gn-02 etc]# service ntpd status 正在運行NTP 【ntpd is stopped 已停止NTP】
ntpd (pid 630) is running...

4.設置時鐘同步– NTP 配置文件模式(配置文件模式是長期有效,命令模式手工同步NTP臨時有效) Red Hat 6.1版
NTP 修改配置文件/etc/ntp.conf
server [IP or hostname] [prefer] 其中[IP or hostname]爲上級時間服務器的IP或者域名,主機名:[prefer]參數是可選的,加上prefer後,同步時會優先先訪問這一條。
server 10.3.64.61 上級時鐘服務器的IP或者域名,設置時鐘服務器(源),重啓NTP服務即可

local clock

fudge 127.127.1.0 stratum 10 fudge設置Stratum(層)
[root@TJ-Unicom-Group-Gn-01 ntp]# echo 127.127.1.0 > /etc/ntp/step-tickers 把127.127.1.0 加入 step-tickers文件
[root@TJ-Unicom-Group-Gn-01 ntp]# cat /etc/ntp/step-tickers
127.127.1.0
[root@TJ-Unicom-Group-Gn-02 etc]# service ntpd restart 重啓NTP服務即可,如果不重啓不能ntp -p 監控
Shutting down ntpd: [ OK ]
Starting ntpd: [ OK ]

5.監控NTP date -s "2012-08-14 09:00:00"
remote refid st t when poll reach delay offset jitter

*10.3.64.61 132.174.32.151 3 u 10 64 17 0.692 12.746 31.794
[root@TJ-Unicom-Group-Gn-02 etc]# ntpq -p
remote refid st t when poll reach delay offset jitter 只有啓動NTP服務才能監控NTP

*10.3.64.61 132.174.32.151 3 u 40 64 377 0.739 -70.969 24.713 如果發現在remote這列之前會出現星號和+號,說明已經跟這個服務器同步成功了,如果沒有星號,說明正在同步還沒有完成。
如果沒有配置NTP初始化文件,即是 run NTP 也不能監控NTP服務 會報錯 No association ID's returned 沒有關聯ID【如果不重啓也不能監控ntp】

6.命令模式手工同步NTP(臨時有效)
[root@TJ-Unicom-Group-Gn-01 ~]# ntpdate 10.3.64.61 NTP命令模式,手工同步NTP
15 Aug 13:57:53 ntpdate[1187]: step time server 10.3.64.61 offset 243.079201 sec 補償243秒
15 Aug 14:08:28 ntpdate[11893]: step time server 10.3.64.61 offset 315.259333 sec 補償315秒
注意:
[root@TJ-Unicom-Group-Gn-03 ~]# ntpdate 10.3.64.61
15 Aug 15:30:46 ntpdate[12948]: adjust time server 10.3.64.61 offset 0.385539 sec
[root@TJ-Unicom-Group-Gn-03 ~]# service ntpd status
ntpd is stopped
[root@TJ-Unicom-Group-Gn-03 ~]# service ntpd start 當啓動NTP服務後,在使用ntpdate 10.3.64.61【NTP在使用套接字,退出】
Starting ntpd: [ OK ]
[root@TJ-Unicom-Group-Gn-03 ~]# service ntpd status
ntpd (pid 12975) is running...
[root@TJ-Unicom-Group-Gn-03 ~]# ntpdate 10.3.64.61
15 Aug 15:31:05 ntpdate[12986]: the NTP socket is in use, exiting
7.開機自動啓動NTP服務
[root@TJ-Unicom-Group-Gn-03 ~]# chkconfig --help 打開幫助
chkconfig version 1.3.47 - Copyright (C) 1997-2000 Red Hat, Inc.
This may be freely redistributed under the terms of the GNU Public License.
usage: chkconfig [--list] [--type <type>] [name]
chkconfig --add <name>
chkconfig --del <name>
chkconfig --override <name>
chkconfig [--level <levels>] [--type <type>] <name> <on|off|reset|resetpriorities>
[root@TJ-Unicom-Group-Gn-03 ~]# chkconfig --list | grep ntp 開機不啓動時顯示off,0~6指系統的運行級別
ntpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
ntpdate 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@TJ-Unicom-Group-Gn-02 etc]# chkconfig --level 2345 ntpd on 開機自動啓動NTP服務 2345是系統運行級別
[root@TJ-Unicom-Group-Gn-02 etc]# chkconfig --list | grep ntp
ntpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off 開機自動啓動顯示on
ntpdate 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@TJ-Unicom-Group-Gn-05 etc]# chkconfig --level 2345 ntpd on 開機自動啓動顯示on【中文版】
[root@TJ-Unicom-Group-Gn-05 etc]# chkconfig --list | grep ntp
ntpd 0:關閉 1:關閉 2:啓用 3:啓用 4:啓用 5:啓用 6:關閉
ntpdate 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉

#############################################################################

HP-UX TJGRDB B.11.31 U ia64 2891597638 unlimited-user license
1.HP-Unix 設置時鐘同步– NTP 配置文件模式(配置文件模式是長久有效,命令模式臨時有效)
NTP 修改配置文件/etc/ntp.conf
#trustedkey 3 4 5 6 14 # define trusted keys
#requestkey 15 # key (7) for accessing server variables
#controlkey 15 # key (6) for accessing server variables
#authdelay 0.000159 # authentication delay (SPARC4c/65 SS1+ MD5)
server 10.3.64.61 設置時鐘服務器(源),重啓NTP服務即可
fudge 127.127.1.1 stratum 10
ftfile /etc/ntp.drift
啓動/停止ntp服務
TJGRDB[#/etc]/sbin/init.d/xntpd stop 如果NTP服務the NTP socket is in use, exiting,請先stop服務再start服務
TJGRDB[#/etc]/sbin/init.d/xntpd start 啓動NTP服務,服務只有啓動/停止,沒有重啓選項
TJGRDB[#/etc]ntpq -p 監視NTP->只有啓動NTP服務才能監視NTP,否則ntpq: read: Can't assign requested address請求的地址不能指定。
remote refid st t when poll reach delay offset disp

10.3.64.61 132.174.32.151 5 u 28 64 37 0.64 7.971 878.46
NTP命令模式,手工同步NTP服務(配置文件模式是長久有效,命令模式臨時有效)
TJGRAPP[#/etc]ntpdate 10.3.64.61
7 Jul 11:35:27 ntpdate[6382]: step time server 10.3.64.61 offset 412.957168 sec 同步時間服務,補償412.957168秒
TJGRAPP[#/etc]ntpdate 10.3.64.61
7 Jul 12:36:54 ntpdate[25942]: adjust time server 10.3.64.61 offset 0.123488 sec 調整時間服務,補償0.123488
2.使用crontab設置時鐘同步NTP的任務計劃
0-59/10
/usr/sbin/ntpdate 10.3.64.61 &>/ntplog 每隔10分鐘同步一次NTP時間
0 10
/usr/sbin/ntpdate 10.3.64.61 > /ntplog 每天10點整同步一次NTP時間並把執行結果重定向到ntplog文件
cron文件的目錄和cron執行日誌目錄
/var/spool/cron/crontabs/root cron文件的目錄
/var/adm/cron/log cron執行日誌

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章