SUSE 11 & RedHat 6.1 & HP-UX B.11.31 NTP時間同步服務實施案例集錦

leonarding發表於2012-08-15
SUSE Linux Enterprise Server 11 (i586)
NTP(網路時間協議)機制是用於同步網路上的系統時間的協議。首先,計算機從作為可靠時間源的伺服器獲得時間。然後將此計算機用作網路中其他計算機的時間源。這樣做有雙重目的,既可維護絕對時間,又可保持網路中所有計算機系統時間的同步。
1.檢視系統時鐘(Linux 核心時鐘)和設定系統時鐘
:~> 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
  
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 ] [name]
         chkconfig --add
         chkconfig --del
         chkconfig --override
         chkconfig [--level ] [--type ]     
[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執行日誌
 
Leonarding
2012.8.15
天津&autumn
分享技術~收穫快樂
Blog:http://space.itpub.net/26686207

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26686207/viewspace-741086/,如需轉載,請註明出處,否則將追究法律責任。

相關文章