linux時(shí)間同步_第1頁
linux時(shí)間同步_第2頁
linux時(shí)間同步_第3頁
linux時(shí)間同步_第4頁
linux時(shí)間同步_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余4頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、linux 時(shí)間同步,ntpd、ntpdateLINUX2010-10-1309:01:02 閱讀 1043 評論 0 字號(hào):大中小訂閱在 Windwos 中,系統(tǒng)時(shí)間的設(shè)置很簡單,界面操作,通俗易懂。而且設(shè)置后,重啟,關(guān)機(jī)都沒關(guān)系。系統(tǒng)時(shí)間會(huì)自動(dòng)保存在 Bios 的時(shí)鐘里面,啟動(dòng)計(jì)算機(jī)的時(shí)候,系統(tǒng)會(huì)自動(dòng)在 Bios 里面取硬件時(shí)間,以保證時(shí)間的不間斷。但在 Linux 下,默認(rèn)情況下,系統(tǒng)時(shí)間和硬件時(shí)間,并不會(huì)自動(dòng)同步。在 Linux 運(yùn)行過程中,系統(tǒng)時(shí)間和硬件時(shí)間以異步的方式運(yùn)行,互不干擾。硬件時(shí)間的運(yùn)行,是靠 Bios 電池來維持,而系統(tǒng)時(shí)間,是用CPUtick 來維持的。在系統(tǒng)開機(jī)的時(shí)

2、候,會(huì)自動(dòng)從 Bios 中取得硬件時(shí)間,設(shè)置為系統(tǒng)時(shí)間。一.Linux 系統(tǒng)時(shí)間的設(shè)置在 Linux 中設(shè)置系統(tǒng)時(shí)間,可以用 date 命令:查看時(shí)間rootlocalhost#date2008 年 12 月 12 日星期五 14:44:12CST修改時(shí)間rootlocalhost#date-set1/1/0900:01=(月/日/年時(shí):分:秒)2009 年 01 月 01 日星期四 00:01:00CST/date 有幾種時(shí)間格式可接受,這樣也可以設(shè)置時(shí)間:rootlocalhost#date012501012009.30=月日時(shí)分年秒2009 年 01 月 25 日星期日 01:01:30

3、CST二.Linux 硬件時(shí)間的設(shè)置硬件時(shí)間的設(shè)置,可以用 hwclock 或者 clock 命令。其中,clock 和 hwclock 用法相近,只用一個(gè)就行,只不過 clock 命令除了支持 x86 硬件體系外,還支持 Alpha 硬件體系。查看硬件時(shí)間可以是用 hwclock,hwclock-show 或者 hwclock-rrootlocalhost#hwclock-show2008 年 12 月 12 日星期五 06 時(shí) 52 分 07 秒-0.376932seconds設(shè)置硬件時(shí)間rootlocalhost#hwclock-set-date=1/25/0900:00=月/日/年時(shí):

4、分:秒rootlocalhost#hwclock2009 年 01 月 25 日星期日 00 時(shí) 00 分 06 秒-0.870868seconds三.系統(tǒng)時(shí)間和硬件時(shí)間的同步同步系統(tǒng)時(shí)間和硬件時(shí)間,可以使用 hwclock 命令。以系統(tǒng)時(shí)間為基準(zhǔn),修改硬件時(shí)間rootlocalhost#hwclock-systohc=sys(系統(tǒng)時(shí)間)to(寫到)hc(HardClock)rootlocalhost#hwclock-w以硬件時(shí)間為基準(zhǔn),修改系統(tǒng)時(shí)間rootlocalhost#hwclock-hctosysrootlocalhost#hwclock-s四.不同機(jī)器之間的時(shí)間同步為了避免主機(jī)時(shí)間

5、因?yàn)殚L期運(yùn)作下所導(dǎo)致的時(shí)間偏差,進(jìn)行時(shí)間同步(synchronize)的工作是非常必要的。Linux 系統(tǒng)下,一般使用 ntp 服務(wù)器來同步不同機(jī)器的時(shí)間。一臺(tái)機(jī)器,可以同時(shí)是 ntp 服務(wù)器和 ntp 客戶機(jī)。在網(wǎng)絡(luò)中,推薦使用像 DNS 服務(wù)器一樣分層的時(shí)間服務(wù)器來同步時(shí)間。同步時(shí)間,可以使用 ntpdate 命令,也可以使用 ntpd 服務(wù)。使用 ntpdate 比較簡單。格式如下:rootlinux#ntpdate-nvNTPIP/hostnamerootlinux#ntpdaterootlinux#但這樣的同步,只是強(qiáng)制性的

6、將系統(tǒng)時(shí)間設(shè)置為 ntp 服務(wù)器時(shí)間。如果 cputick 有問題,只是治標(biāo)不治本。所以,一般配合 cron 命令,來進(jìn)行定期同步設(shè)置。比如,在 crontab 中添加:012*/usr/sbin/ntpdate這樣,會(huì)在每天的 12 點(diǎn)整,同步一次時(shí)間。ntp 服務(wù)器為 。使用 ntpd 服務(wù),要好于 ntpdate 加 cron 的組合。因?yàn)?,ntpdate 同步時(shí)間,會(huì)造成時(shí)間的跳躍,對一些依賴時(shí)間的程序和服務(wù)會(huì)造成影響。比如 sleep,timer 等。而且,ntpd 服務(wù)可以在修正時(shí)間的同時(shí),修正 cputick。理想的做法為,在開機(jī)的時(shí)候

7、,使用 ntpdate 強(qiáng)制同步時(shí)間,在其他時(shí)候使用 ntpd 服務(wù)來同步時(shí)間。要注意的是,ntpd 有一個(gè)自我保護(hù)設(shè)置:如果本機(jī)與上源時(shí)間相差太大,ntpd 不運(yùn)行.所以新設(shè)置的時(shí)間服務(wù)器一定要先 ntpdate 從上源取得時(shí)間初值,然后啟動(dòng) ntpd 服務(wù)。ntpd 服務(wù)運(yùn)行后,先是每 64 秒與上源服務(wù)器同步一次,根據(jù)每次同步時(shí)測得的誤差值經(jīng)復(fù)雜計(jì)算逐步調(diào)整自己的時(shí)間,隨著誤差減小,逐步增加同步的間隔.每次跳動(dòng),都會(huì)重復(fù)這個(gè)調(diào)整的過程.五.ntpd 服務(wù)的設(shè)置ntpd 服務(wù)的相關(guān)設(shè)置文件如下:1 ./etc/ntp.conf:這個(gè)是 NTPdaemon 的主要設(shè)文件,也是 NTP 唯一的

8、設(shè)定文件。2 ./usr/share/zoneinfo/:在這個(gè)目錄下的文件其實(shí)是規(guī)定了各主要時(shí)區(qū)的時(shí)間設(shè)定文件,例如北京地區(qū)的時(shí)區(qū)設(shè)定文件在/usr/share/zoneinfo/Asia/Beijing 就是了。這個(gè)目錄里面的文件與底下要談的兩個(gè)文件(clock與 localtime)是有關(guān)系的。3 ./etc/sysconfig/clock:這個(gè)文件其實(shí)也不包含在 NTP 的 daemon 當(dāng)中,因?yàn)檫@個(gè)是 linux 的主要時(shí)區(qū)設(shè)定文件。每次開機(jī)后,Linux 會(huì)自動(dòng)的讀取這個(gè)文件來設(shè)定自己系統(tǒng)所默認(rèn)要顯示的時(shí)間。4 ./etc/localtime:這個(gè)文件就是本地端的時(shí)間配置文件:剛

9、剛那個(gè) clock 文件里面規(guī)定了使用的時(shí)間設(shè)置文件(ZONE)為/usr/share/zoneinfo/Asia/Beijing,所以說,這就是本地端的時(shí)間了,此時(shí),Linux 系統(tǒng)就會(huì)將 Beijing 那個(gè)文件另存為一份/etc/localtime 文件,所以未來我們的時(shí)間顯示就會(huì)以 Beijing 那個(gè)時(shí)間設(shè)定文件為準(zhǔn)。5./etc/timezone:系統(tǒng)時(shí)區(qū)文件下面重點(diǎn)說說/etc/ntp.conf 文件的設(shè)置。在 NTPServer 的設(shè)定上面,其實(shí)最好不要對 Internet 無限制的開放,盡量僅提供您自己內(nèi)部的 Client 端聯(lián)機(jī)進(jìn)行網(wǎng)絡(luò)校時(shí)就好。止匕外,NTPServer

10、總也是需要網(wǎng)絡(luò)上面較為準(zhǔn)確的主機(jī)來自行更新自己的時(shí)間啊,所以在我們的 NTPServer 上面也要找一部最靠近自己的TimeServer 來進(jìn)行自我校正。事實(shí)上,NTP 這個(gè)服務(wù)也是 Server/Client 的一種模式。rootlinux#vi/etc/ntp.conf#1.關(guān)于權(quán)限設(shè)定部分#權(quán)限的設(shè)定主要以 restrict 這個(gè)參數(shù)來設(shè)定,主要的語法為:#restrictIPmasknetmask_IPparameter#其中 IP 可以是軟件地址,也可以是 default,default 就類似 #至于 paramter 則有:#ignore:關(guān)閉所有的 NTP 聯(lián)機(jī)服

11、務(wù)#nomodify:表示 Client 端不能更改 Server 端的時(shí)間參數(shù),不過,#Client 端仍然可以透過 Server 端來進(jìn)行網(wǎng)絡(luò)校時(shí)。#notrust:該 Client 除非通過認(rèn)證,否則該 Client 來源將被視為不信任網(wǎng)域#noquery:不提供 Client 端的時(shí)間查詢#notrap:不提供 trap 這個(gè)遠(yuǎn)程事件登入#如果 paramter 完全沒有設(shè)定,那就表示該 IP(或網(wǎng)域)沒有任何限制”restrictdefaultnomodifynotrapnoquery#關(guān)閉所有的 NTP 要求封包restrict#這是允許本級(jí)查詢r(jià)estrict1

12、masknomodify#在 /24 網(wǎng)段內(nèi)的服務(wù)器就可以通過這臺(tái) NTPServer 進(jìn)行時(shí)間同步了#2.上層主機(jī)的設(shè)定#要設(shè)定上層主機(jī)主要以 server 這個(gè)參數(shù)來設(shè)定,語法為:#serverIP|HOSTNameprefer#Server 后面接的就是我們上層 TimeServer 啰!而如果 Server 參數(shù)#后面加上 perfer 的話,那表示我們的 NTP 主機(jī)主要以該部主機(jī)來作為#時(shí)間校正的對應(yīng)。另外,為了解決更新時(shí)間封包的傳送延遲動(dòng)作,#所以可以使用 driftfile 來規(guī)定我們的主機(jī)#在與 TimeSe

13、rver 溝通時(shí)所花費(fèi)的時(shí)間,可以記錄在 driftfile#后面接的文件內(nèi),例如下面的范例中,我們的 NTPserver 與# 聯(lián)機(jī)時(shí)所花費(fèi)的時(shí)間會(huì)記錄在/etc/ntp/drift 文件內(nèi)prefer#其他設(shè)置值,以系統(tǒng)默認(rèn)值即可server#localclockfudgestratum10driftfile/var/lib/ntp/driftbroadca

14、stdelay0.008keys/etc/ntp/keys總結(jié)一下,restrict 用來設(shè)置訪問權(quán)限,server 用來設(shè)置上層時(shí)間服務(wù)器,driftfile 用來設(shè)置保存漂移時(shí)間的文件。六.ntp 服務(wù)的啟動(dòng)與觀察在啟動(dòng) NTP 服務(wù)前,先對提供服務(wù)的這臺(tái)主機(jī)手動(dòng)的校正一次時(shí)間咯。(因?yàn)閱?dòng)服務(wù)器,端口會(huì)被服務(wù)端占用,就不能手動(dòng)同步時(shí)間了)rootlinux#25Apr14:33:51ntpdate8310:steptimeserveroffset6.655976sec然后,啟動(dòng) ntpd 服務(wù):rootlinux#serv

15、icentpdstart或rootlinux#/etc/init.d/ntpdstart查看端口:rootlinux#netstat-ln|grep123udp0053:1:*udp00:1:*udp00:1:*udp00:123:*如何確認(rèn)我們的 NTP 服務(wù)器已經(jīng)更新了自己的時(shí)間呢?rootlinux#ntpstatsynchronizedtoNTPserver()atstratum11timecorrecttowithin950mspollingserve

16、revery64s#改指令可列出 NTP 服務(wù)器是否與上層聯(lián)機(jī)。由上述輸出結(jié)果可知,時(shí)間校正約#為 950*10(-6)秒。且每隔 64 秒會(huì)主動(dòng)更新時(shí)間。常見的錯(cuò)誤:25Apr15:30:17ntpdate11520:noserversuitableforsynchronizationfound其實(shí),這不是一個(gè)錯(cuò)誤。而是由于每次重啟 NTP 服務(wù)器之后大約要 35 分鐘客戶端才能與 server 建立正常的通訊連接。當(dāng)此時(shí)用客戶端連接服務(wù)端就會(huì)報(bào)這樣的信息。一般等待幾分鐘就可以了。rootlinux#ntptrace-n:stratum11,offset0

17、.000000,synchdistance0.95095125:stratum2,offset0000787,synchdistance0.108575:stratum1,offset0.000028,synchdistance0.00436,refid,GPS?#這個(gè)指令可以列出目前 NTP 服務(wù)器(第一層)與上層 NTP 服務(wù)器(第二層)彼此之間的#關(guān)系rootlinux#ntpq-premote:即 NTP 主機(jī)的 IP 或主機(jī)名稱。注意最左邊的符號(hào),如果由“側(cè)代表目前正在彳用鐘的上層 NTP,如果是“則表示也有連上線,不過是作為次要聯(lián)機(jī)的 N

18、TP 主機(jī)。refid:參考的上一層 NTP 主機(jī)的地址st:即 stratum 階層when:幾秒前曾做過時(shí)間同步更新的操作poll:下次更新在幾秒之后reach:已經(jīng)向上層 NTP 服務(wù)器要求更新的次數(shù)delay:網(wǎng)絡(luò)傳輸過程鐘延遲的時(shí)間offset:時(shí)間補(bǔ)償?shù)慕Y(jié)果 jitter:Linux 系統(tǒng)時(shí)間與 BIOS 硬件時(shí)間的差異時(shí)間最后提及一點(diǎn), ntp 服務(wù), 默認(rèn)只會(huì)同步系統(tǒng)時(shí)間。 如果想要讓 ntp 同時(shí)同步硬件時(shí)間, 可以設(shè)置/etc/sysconfig/ntpd文件。在/etc/sysconfig/ntpd 文件中,添加 SYNC_HWCLOCK=yes 這樣,就可以讓硬件時(shí)間與

19、系統(tǒng)時(shí)間一起同步。19215S.257ii.OO2133.1理IF-253L5京比6O.OM55.0擄03.HII62.53151.3600.0003i,對3773773772u2Ll2Ll2Ll10I2附町.9.i2L152.Ihl,261,183.55,5517,JII.L2-.218.Ji,1.130蛭血25,圈也222.73,211.1LOCAL(0)Lilluh?jjtLcr指令ntpq-p”可以列出目前我們的 NTP 與相關(guān)的上層 NTP 的狀態(tài),以上的幾個(gè)字段的意義如下:ft.a.6-fi-t)-linux 配置時(shí)間服務(wù)器(ntp)2007-10-2716:3

20、4在 linux 下,我們可以通過自帶的 NTP(NetworkTimeProtocol)協(xié)議通過網(wǎng)絡(luò)使自己的系統(tǒng)保持精確的時(shí)間??捎玫墓矔r(shí)間服務(wù)器列表可以從下面的地址獲?。?bin/view/Servers/NTPPoolServersNTP 是用來使系統(tǒng)和一個(gè)精確的時(shí)間源保持時(shí)間同步的協(xié)議。建議大家在自己管理的網(wǎng)絡(luò)中建立至少一臺(tái)時(shí)間服務(wù)器來同步本地時(shí)間,這樣可以使得在不同的系統(tǒng)上處理和收集日志和管理更加容易。介紹一下環(huán)境:179 為本地時(shí)間服務(wù)器,其他服務(wù)器和 179 同步。179 和網(wǎng)上時(shí)間服務(wù)器同步。一、配置 179 時(shí)間服務(wù)器1、首先查詢 NTP

21、軟件版本rpm-qa|grepntpntp-4.1.2-4.EL3.1如果沒有可以從 linux 安裝盤上查找,安裝此 ntp 包2、編輯配置文件vi/etc/ntp.conf首先定義服務(wù)器restrictdefaultnomodifynotrapnoqueryrestrictmasknotrustnomodifynotrap#從 -54 的服務(wù)器都可以使用我們的 NTP 服務(wù)器來同步時(shí)間。注釋掉以下一行#restrictdefaultignore3、啟動(dòng) NTP 服

22、務(wù)器#chkconfigntpdon#/etc/init.d/ntpdstart#/etc/init.d/ntpdstop#/etc/init.d/ntpdrestart默認(rèn)情況下,我們配置的 NTP 服務(wù)器不會(huì)去時(shí)間源那里同步時(shí)間,所以必須修改/etc/ntp/step-tickers文件,加入我們的時(shí)間源,這樣每次通過/etc/init.d/ntpd 來啟動(dòng)服務(wù)的時(shí)候就會(huì)自動(dòng)更新時(shí)間了檢查服務(wù)器同步狀態(tài):ntpq-pntptrace79如果輸出正確,則說明時(shí)間服務(wù)器成功。每次啟動(dòng)服務(wù)器,會(huì)自動(dòng)同步時(shí)間。配置 LINUX 客戶端在 linux 客戶端上執(zhí)行 ntpdat

23、entp_server_ip 就可以根據(jù)時(shí)間服務(wù)器統(tǒng)一局域網(wǎng)的時(shí)間了,將上面的命令放到 cron 里每天早上 3 點(diǎn)定期執(zhí)行,crontab 七然后輸入03*/usr/sbin/ntpdate79為什么電腦要對時(shí)?因?yàn)殡娔X自己的鐘不準(zhǔn)。破電腦一天慢五分鐘也不奇怪。對時(shí)需要對到什么精度?一般家用的電腦時(shí)鐘誤差一分鐘完全可以接受。 集群服務(wù)器配合工作一般需要所有的時(shí)鐘同步在一秒之內(nèi)。和誰同步?一般是和世界各地的 NTP(NetworkTimeProtocol)服務(wù)器同步的。米國標(biāo)準(zhǔn)時(shí)間由 NIST 發(fā)布,NIST 提供了一些服務(wù)器?,F(xiàn)代 Windows 操作系統(tǒng)自動(dòng)和 對時(shí)。

24、Linux 下面一般用 NTPPool 來自動(dòng)選擇服務(wù)器。中國國家授時(shí)中心 NTP4 是中國權(quán)威時(shí)間。中國教育網(wǎng)有自己的 NTP 服務(wù)器網(wǎng)。如果是集群服務(wù)器,一般會(huì)在內(nèi)網(wǎng)配置幾個(gè)本地 NTP 服務(wù)器。上面這么多 NTP 服務(wù)器有沒有優(yōu)劣呢?有的,但是對于一般的應(yīng)用來說,看不出什么區(qū)別。理論上說,NTP 服務(wù)器是分等級(jí)(Stratum)的,Stratum=1 的 NTP 服務(wù)器是直接和世界標(biāo)準(zhǔn)時(shí)鐘同步的,包括 GPS 時(shí)間、葩原子鐘、某些手機(jī)網(wǎng)絡(luò)等。NIST、中國國家授時(shí)中心和中國教育網(wǎng)的第一級(jí)時(shí)間服務(wù)器都是這個(gè)級(jí)別的。Stratum=2 的 NTP 服務(wù)器是和 Stra

25、tum=1 的服務(wù)器同步的,性能稍差,但精確度也在毫秒的量級(jí),所以用起來沒什么區(qū)別。再往下每同步一級(jí),Stratum 就加一。Windows2000 開始包含了自動(dòng)時(shí)間同步的服務(wù)。WindowsXP 上,打開時(shí)間設(shè)置就有網(wǎng)絡(luò)對時(shí)的設(shè)置。默認(rèn)是每星期和 對時(shí)一次。這個(gè)一星期同步一次太長了,可以通過注冊表調(diào)整,或者用 Wits改。Linux 下面的 ntpd 就要靈活多啦。默認(rèn)配置一般足夠好用。下面在 Fedora 下舉個(gè)例子。配置:# grepAserver/etc/server2.pool.ntp.

26、server#localclock啟動(dòng) ntpd 之后查看狀態(tài)# ntpq-pnremoterefidsttwhenpollreachdelayoffsetjitter42u10641779.194-542.891.942162u9641751.569-532.231.803062u11641751.417-516.701.417562u7641751.586-532.

27、361.135*LOCAL(0)10l364170.0000.0000.001st 這列顯示自動(dòng)選的四個(gè) NTP 服務(wù)器都是 Stratum=2。最后一個(gè)是本地時(shí)鐘。前四行的 offset 顯示本地時(shí)鐘和四個(gè) NTP 服務(wù)器都有大概 500 毫秒的差距。ntpstat 顯示目前只和本地時(shí)鐘同步:# ntpstatsynchronisedtolocalnetatstratum11timecorrecttowithin949mspollingserverevery64s過一會(huì)再看:# ntpq-pnremoterefidsttwhenpollreachdelayoffsetj

28、itter+42u566437778.548250.87137.180+162u586437751.551268.53836.817*062u586437751.539274.49736.629+562u496437751.485271.75037.841LOCAL(0)10l44643770.0000.0000.001#ntpstatsynchronisedtoNTPserver(0)a

29、tstratum3timecorrecttowithin263mspollingserverevery64s本地時(shí)鐘已經(jīng)成功和外面的 NTP 服務(wù)器同步。ntpq 報(bào)告中第一列*表示目前選擇的主同步服務(wù)器,標(biāo)+的表示有可能被用來進(jìn)一步提高同步精度的次要服務(wù)器。因?yàn)槭呛?Stratum=2 的服務(wù)器同步,所以本地的 ntpdStratum 就是 3 了。一個(gè)細(xì)節(jié)是 ntpq 對時(shí)鐘是慢慢調(diào)整的,而不是直接跳好多秒,這樣平滑的調(diào)整時(shí)間可以保證很多程序的流程平穩(wěn)。不過,如果時(shí)鐘誤差過大,ntpd 可能會(huì)拒絕調(diào)整時(shí)間;或者有人也可能希望立刻調(diào)正時(shí)間,這樣的話可以直接執(zhí)行命令:(需要停掉 ntpd 服務(wù)執(zhí)行)。在我另一個(gè)服務(wù)器上,配置了好多 NTP 服務(wù)器:#grepAserver/etc/servertime-server0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論