1. 程式人生 > >NTP服務及時間同步(CentOS6.x)

NTP服務及時間同步(CentOS6.x)

今有一小型專案,完全自主弄,原來以為很簡單的NTP服務,我給折騰了2個多小時才整撐頭(以前都是運維搞,沒太注意,所以這技術的東西,在簡單都需要親嘗啊),這裡記錄為以後別再浪費時間。

目標環境,5臺linux centos 6.3, 一臺作為NTPD服務與外部公共NTP服務同步時間,同時作為內網的NTPD伺服器,其他機器與這臺服務做時間同步。

 伺服器IP 角色   說明 同步方式
 192.168.1.135   NTPD服務

 1、負責與外部公共NTPD服務同步標準時間

 2、作為內外網路的NTPD服務

NTPD服務平滑同步

 192.168.1.xxx  內外NTP客戶端  內網裝置與192.168.1.135同步時間 NTPD服務平滑同步
 ……   內外NTP客戶端   內網裝置與192.168.1.135同步時間 NTPD服務平滑同步

1、NTP時間同步方式選擇

NTP同步方式在linux下一般兩種:使用ntpdate命令直接同步和使用NTPD服務平滑同步。有什麼區別呢,簡單說下,免得時間長了,概念又模糊。

現有一臺裝置,系統時間是 13:00 , 真實的當前時間(在空中,也許衛星上,這裡假設是在準備同步的上級目標NTP伺服器)是: 12:30  。如果我們使用ntpdate同步(ntpdate -u 目標NTP伺服器IP),作業系統的時間立即更新為12:30,假如,我們的系統有一個定時應用,是在每天12:40執行,那麼實際今天這個的任務已經執行過了(當前時間是13:00嘛),現在被ntpdate修改為12:30,那麼意味作10分鐘後,又會執行一次任務,這就糟糕了,這個任務只能執行一次的嘛!!我想你(其實是我)已經懂了ntpdate時間同步的隱患,當然這個例子有些極端,但的確是有風險的,生產環境我不打算這麼幹,還是穩妥點好。所以解決該問題的辦法就是時間平滑更改,不會讓一個時間點在一天內經歷兩次,這就是NTPD服務方式平滑同步時間,它每次同步時間的偏移量不會太陡,是慢慢來的(問:怎麼來,沒有細究,只曉得一次一點的同步,完全同步好需要較長時間,所以一般開啟NTPD服務同步前先用ntpdate先手動同步一次)。

2、安裝配置

CentOS 6.3系統已經自帶了NTPD服務,一般預設是按照了的,如果沒有安裝,先檢查下,然後配置好yum倉庫,yum方式安裝下就OK,具體如下:

# rpm -q ntp

ntp-4.2.4p8-2.el6.x86_64    // 這表示已安裝了,如果沒有安裝,這是空白。

如果沒有安裝,我們按照下

# yum install ntp

......

按上面的安裝方式在內網每臺伺服器上都安裝好NTP軟體包。

完成後,都需要配置NTP服務為自啟動

# chkconfig ntpd on

# chkconfig --list ntpd

ntpd           0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉

在配置前,先使用ntpdate手動同步下時間,免得本機與外部時間伺服器時間差距太大,讓ntpd不能正常同步。

# ntpdate -u 202.112.10.36

22 Dec 16:52:38 ntpdate[6400]: adjust time server 202.112.10.36 offset 0.012135 sec


配置內網NTP-Server(192.168.1.135)

下面主要是配置內網的NPTD伺服器(192.168.1.135), NTPD服務配置核心就在/etc/ntp.conf檔案,配置好了就OK。網上特別是老外的文章都很簡單,我上當了,媽喲,基礎環境不一樣,我們得中國特色才行。先上配置檔案再說,紅色部分是我的修改,其他的是預設。

# For more information about this file, see the man pages

# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).

driftfile /var/lib/ntp/drift

# Permit time synchronization with our time source, but do not

# permit the source to query or modify the service on this system.

restrict default kod nomodify notrap nopeer noquery

restrict -6 default kod nomodify notrap nopeer noquery

# Permit all access over the loopback interface.  This could

# be tightened as well, but to do so would effect some of

# the administrative functions.

restrict 127.0.0.1

restrict -6 ::1

# Hosts on local network are less restricted.

# 允許內網其他機器同步時間

restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

# Use public servers from the pool.ntp.org project.

# Please consider joining the pool (http://www.pool.ntp.org/join.html).

server 210.72.145.44 perfer   # 中國國家受時中心

server 202.112.10.36             # 1.cn.pool.ntp.org

server 59.124.196.83             # 0.asia.pool.ntp.org

#broadcast 192.168.1.255 autokey        # broadcast server

#broadcastclient                        # broadcast client

#broadcast 224.0.1.1 autokey            # multicast server

#multicastclient 224.0.1.1              # multicast client

#manycastserver 239.255.254.254         # manycast server

#manycastclient 239.255.254.254 autokey # manycast client

# allow update time by the upper server 

# 允許上層時間伺服器主動修改本機時間

restrict 210.72.145.44 nomodify notrap noquery

restrict 202.112.10.36 nomodify notrap noquery

restrict 59.124.196.83 nomodify notrap noquery

# Undisciplined Local Clock. This is a fake driver intended for backup

# and when no outside source of synchronized time is available. 

# 外部時間伺服器不可用時,以本地時間作為時間服務

server  127.127.1.0     # local clock

fudge   127.127.1.0 stratum 10

# Enable public key cryptography.

#crypto

includefile /etc/ntp/crypto/pw

# Key file containing the keys and key identifiers used when operating

# with symmetric key cryptography. 

keys /etc/ntp/keys

# Specify the key identifiers which are trusted.

#trustedkey 4 8 42

# Specify the key identifier to use with the ntpdc utility.

#requestkey 8

# Specify the key identifier to use with the ntpq utility.

#controlkey 8

# Enable writing of statistics records.

#statistics clockstats cryptostats loopstats peerstats


配置檔案修改完成,儲存退出,啟動服務。

# service ntpd start

......

啟動後,一般需要5-10分鐘左右的時候才能與外部時間伺服器開始同步時間。可以通過命令查詢NTPD服務情況。

檢視服務連線和監聽

# netstat -tlunp | grep ntp      

udp        0      0 192.168.1.135:123           0.0.0.0:*                               23103/ntpd          

udp        0      0 127.0.0.1:123               0.0.0.0:*                               23103/ntpd          

udp        0      0 0.0.0.0:123                 0.0.0.0:*                               23103/ntpd          

udp        0      0 fe80::6cae:8bff:fe3d:f65:123 :::*                                    23103/ntpd          

udp        0      0 fe80::6eae:8bff:fe3d:f65:123 :::*                                    23103/ntpd          

udp        0      0 ::1:123                     :::*                                    23103/ntpd          

udp        0      0 :::123                      :::*                                    23103/ntpd  

看紅色加粗的地方,表示連線和監聽已正確,採用UDP方式

ntpq -p 檢視網路中的NTP伺服器,同時顯示客戶端和每個伺服器的關係

# ntpq -p

# ntpq -p

     remote           refid      st t when poll reach   delay   offset  jitter

==============================================================================

*202.112.10.36   202.112.10.60    2 u  277  128  314  201.553    9.193  17.068

+59.124.196.83   129.6.15.28      2 u   88  128  377   71.153  -25.111  14.004

 LOCAL(0)        .LOCL.          10 l   15   64  377    0.000    0.000   0.000

位置 標誌 含義
符號 * 響應的NTP伺服器和最精確的伺服器
+ 響應這個查詢請求的NTP伺服器
blank(空格) 沒有響應的NTP伺服器
標題 remote 響應這個請求的NTP伺服器的名稱
refid NTP伺服器使用的更高一級伺服器的名稱
st 正在響應請求的NTP伺服器的級別
when 上一次成功請求之後到現在的秒數
poll 本地和遠端伺服器多少時間進行一次同步,單位秒,在一開始執行NTP的時候這個poll值會比較小,伺服器同步的頻率大,可以儘快調整到正確的時間範圍,之後poll值會逐漸增大,同步的頻率也就會相應減小
reach 用來測試能否和伺服器連線,是一個八進位制值,每成功連線一次它的值就會增加
delay 從本地機發送同步要求到ntp伺服器的往返時間
offset 主機通過NTP時鐘同步與所同步時間源的時間偏移量,單位為毫秒,offset越接近於0,主機和ntp伺服器的時間越接近
jitter 統計了在特定個連續的連線數裡offset的分佈情況。簡單地說這個數值的絕對值越小,主機的時間就越精確

ntpstat 命令檢視時間同步狀態,這個一般需要5-10分鐘後才能成功連線和同步。所以,伺服器啟動後需要稍等下。

剛啟動的時候,一般是:

# ntpstat 

unsynchronised

  time server re-starting

   polling server every 64 s

連線並同步後:

synchronised to NTP server (202.112.10.36) at stratum 3 

   time correct to within 275 ms

   polling server every 256 s

OK,內網的NTPD服務已經配置完成,如果所有正常後,開始配置內網的其他裝置與這臺伺服器作為時間同步服務。


配置內網NTP-Clients

內網其他裝置作為NTP的客戶端配置,相對就比較簡單,而且所有裝置的配置都相同。

首先需要安裝NTPD服務,然後配置為自啟動(與NTP-Server完全一樣)。然後找其中一臺配置/etc/ntp.conf檔案,配置完成驗證通過後,拷貝到其他客戶端機器,直接使用即可。

# yum install ntp

...

# chkconfig ntp on

# vim /etc/ntp.conf

driftfile /var/lib/ntp/drift

restrict 127.0.0.1

restrict -6 ::1

# 配置時間伺服器為本地的時間伺服器

server 192.168.1.135

restrict 192.168.1.135 nomodify notrap noquery

server  127.127.1.0     # local clock

fudge   127.127.1.0 stratum 10

includefile /etc/ntp/crypto/pw

keys /etc/ntp/keys

 為了簡單,這裡只列出了配置項,註釋全部清理了。

 OK,儲存退出,請求伺服器前,請先使用ntpdate手動同步下時間

# ntpdate -u 192.168.0.135

22 Dec 17:09:57 ntpdate[6439]: adjust time server 192.168.1.135 offset 0.004882 sec

這裡有可能出現同步失敗,一般情況下原因都是本地的NTPD伺服器還沒有正常啟動起來,一般需要幾分鐘時間後才能開始同步。

錯誤判斷請參考後面的錯誤處理。

# service ntpd start

....

啟動後,檢視同步情況

# ntpq -p

# ntpstat

.....

因為是內網,一般ntpstat很快就可以同步上,幾分鐘需要等下.

OK,本機客戶端配置完成後,使用SCP拷貝/etc/ntp.conf到其他需要同步的客戶端機器,啟動NTPD服務即可。

其他客戶端機器上操作配置如下:

ntpdate -u 192.168.0.135

22 Dec 17:09:57 ntpdate[6439]: adjust time server 192.168.1.135 offset 0.004882 sec

# scp 192.168.1.xxx:/etc/ntp.conf /etc/ntp.conf

# service ntpd start

3、錯誤問題處理

用於收集安裝,配置和應用中出現的問題

錯誤1:ntpdate -u ip ->  no server suitable for synchronization found

判斷:在ntp客戶端用ntpdate –d serverIP檢視,發現有“Server dropped: strata too high”的錯誤,並且顯示“stratum 16”。而正常情況下stratum這個值得範圍是“0~15”。

原因:NTP server還沒有和其自身或者它的server同步上。在ntp server上重新啟動ntp服務後,ntp server自身或者與其server的同步的需要一個時間段,這個過程可能是5分鐘,在這個時間之內在客戶端執行ntpdate命令時會產生no server suitable for synchronization found的錯誤。

處理:等待幾分鐘後,重試一般解決。

也可以使用命令 ntpq -p檢視情況


相關推薦

NTP服務時間同步(CentOS6.x)

今有一小型專案,完全自主弄,原來以為很簡單的NTP服務,我給折騰了2個多小時才整撐頭(以前都是運維搞,沒太注意,所以這技術的東西,在簡單都需要親嘗啊),這裡記錄為以後別再浪費時間。 目標環境,5臺linux centos 6.3, 一臺作為NTPD服務與外部公共NTP服

ntp服務時間同步問題

今有一小型專案,完全自主弄,原來以為很簡單的NTP服務,我給折騰了2個多小時才整撐頭(以前都是運維搞,沒太注意,所以這技術的東西,在簡單都需要親嘗啊),這裡記錄為以後別再浪費時間。    目標環境,5臺linux centos 6.3, 一臺作為NTPD服務與外部公共NT

NTP服務時間同步

  今有一小型專案,完全自主弄,原來以為很簡單的NTP服務,我給折騰了2個多小時才整撐頭(以前都是運維搞,沒太注意,所以這技術的東西,在簡單都需要親嘗啊),這裡記錄為以後別再浪費時間。    目標環境,5臺linux centos 6.3, 一臺作為NTPD服務與外部公共NTP服務同步時間,同時作為

Linux集群的NTP服務時間同步

inux art .org str 使用 rontab 定時任務 emc 用戶 我們搭建集群環境的時候,時間必須是要統一的,才能保證集群數據的一致性。 一般操作是直接使用NTP,跟默認的時間服務器同步,但是最好還是讓所有節點跟集群中的某臺作為時間服務器的節點同步。 步驟:(

NTP服務時間同步

位置 之前 時間同步 unity logs 選擇 --date 內容 sha 一、簡要說明 二、安裝步驟 三、配置文件 四、常用命令 五、註意事項 六、運行截圖 七、參考資料 一、簡要說明????????? 搭建Kubernetes環境,需要幾臺、幾十臺機器配合運作,許

免費的NTP服務器-時間在線同步

免費的NTP服務器-時間在線同步免費的NTP服務器NTP服務器地址為:42.51.222.2使用方法:(win10系統為例。其他系統都一樣)打開控制面板的時間設置免費的NTP服務器-時間在線同步

Linux服務時間同步

國家授時中心 sync ntpd linux 時間同步 div 服務器 server nbsp 0 0 * * * /usr/sbin/ntpdate -u ntp.api.bz 註意:若不加上-u參數, 會出現以下提示:no server suitable for syn

使用NTP進行CentOS7時間同步

ntp時間同步NTP時鐘同步方式說明NTP在linux下有兩種時鐘同步方式,分別為直接同步和平滑同步:直接同步使用ntpdate命令進行同步,直接進行時間變更。如果服務器上存在一個12點運行的任務,當前服務器時間是13點,但標準時間時11點,使用此命令可能會造成任務重復執行。因此使用ntpdate同步可能會引

服務時間同步

承載 restart sta lnp type tp服務器 影響 client controls 定外部時間源並與之同步,在PDC所在的域控制器上的管理員命令行進行操作(PDC角色(默認的域內權威的時間服務源))。 w32tm /config /manualpeerlis

Linux服務時間同步配置

時間同步 時間服務器以CentOS7 做時間服務器,其他服務器(Centos 6、RHEL7)同步該服務器時間RHEL 7、CentOS 7 默認的網絡時間協議 為Chrony本教程時間服務器服務端主機名:CentOS7-Node3 IP:192.168.231.130

Linux 服務時間同步

com 命令 數據庫集群 自啟動 hit Linux 服務 window pda oot Linux 服務器時間同步 Linux服務器運行久時,系統時間就會存在一定的誤差,一般情況下可以使用date命令進行時間設置,但在做數據庫集群分片等操作時對多臺機器的時間差是有要求的

linux,window服務時間同步

同步 sets 本地 情況 sntp 情況下 1.10 服務器 針對 一般情況下我們經常會要求每臺服務器的服務器時間保持同步,針對無服務器時間同步做如下說明: 1)window w32tm是用來同步本地計算機與遠程計算機或域時間.   1、啟動window ti

Linux系統時間與硬體時間時間同步

Linux系統有系統時間和硬體時間之分: 系統時間: 一般說來就是我們執行 date命令看到的時間,linux系統下所有的時間呼叫(除了直接訪問硬體時間的命令)都是使用的這個時間。 硬體時間:主機板上BIOS中的時間,由主機板電池供電來維持執行,系統開機時要讀取這個時間,

Xinetd 服務中的rdate服務時間同步服務

配置多臺伺服器時,經常需要讓各個伺服器之間的時間保持同步,如果伺服器有外網環境,可以直接同外部的時間伺服器更新時間,可以採用rdate命令更新時間: rdate -s tick.greyware.com 可以寫個指令碼放在/etc/cron.hourly中每小時校正一下時間。 如果是內網環境下,可以自己配

CentOS 6.8 時間,時區,設定修改時間同步

一、時區 顯示時區 date --help 獲取幫助 date -R date +%z 上面兩個命令都可 [[email protected] ~]# date -R; date +%z Fri, 19 Oct 2012 23:34

CentOS 6 時間,時區,設定修改時間同步

一、時區 顯示時區 date –help 獲取幫助 date -R date +%z 上面兩個命令都可 [[email protected] ~]# date -R; date +%zFri, 19 Oct 2012 23:34:27 +0800+0800 主要就是後面的+0800,東八區

NTP協議網路時間同步 ios中應用 實現秒殺倒計時

專案中需要實現秒殺倒計時功能,手機客戶端本地系統時間有被修改的可能,因此無法獲取本地時間來做,下面看實現程式碼吧 -(void)startTimerShow { self.ysmagTimer = [NSTimerscheduledTimerWithTimeInterv

NTPChrony時間同步服務設置

ntpNTP服務設置Chronyd服務設置內容詳見附件本文出自 “Linux” 博客,請務必保留此出處http://837244.blog.51cto.com/827244/1980308NTP及Chrony時間同步服務設置

Windows server 2012 NTP配置,實現成員服務客戶端時間與域控制器時間同步

ges 域控制器 pad 右鍵 多個 控制器 lint 命令 解決方法 近期,發現公司域成員用戶時間與域服務器時間不同步 ,要實現:1、域內成員服務器及域內客戶端與域內NTP服務器同步 ,2、域NTP服務器當做客戶端與外網NTP服務器同步(配置Windows 時間服務以使用

Centos6.9 搭建NTP時間同步服務

目錄 1 前言 在內部區域網不能聯網進行時間同步的時候我們就需要搭建NTP時間伺服器使區域網的機器時間同步。此時區域網的機器只有一個或多個內網網絡卡而沒有外部網絡卡,而搭建NTP服務