編程之路剛剛開始,錯誤難免,希望大家能夠指出。
ntp,ptp,ntp,ptp
本文只說軟件時間戳
先上幾個推薦的網址,可以更好的了解ptp:
https://docs.fedoraproject.org/f26/system-administrators-guide/servers/Configuring_PTP_Using_ptp4l.html
https://doc.opensuse.org/documentation/leap/tuning/html/book.sle.tuning/cha.tuning.ptp.html#tuning.ptp.using
tar -xvf linuxptp-1.8.tgz cd linuxptp-1.8 make make install
安裝完之后,你直接調用"ptp4l"不會成功,你需要"reboot"重啟一下。
簡單介紹下軟件時間戳模式“ptp4l”,只介紹我使用過的,硬件時間戳模式得我使用過再介紹:
-i : 指定網絡接口,也就是eth0,eth1等等。
-m: 將消息打印到標准輸出。
-s: 開啟從站模式,因為不設置的話默認是主站模式
-S: 軟件時間戳模式
-H: 硬件時間戳模式
在測試命令之前,安裝一個軟件“ethtool”,該命令用於獲取以太網卡的配置信息,或者修改這些配置。這個命令比較復雜,功能特別多,不過我們這里只是用它來查看當前機器上的網卡是否支持軟件時間戳模式和硬件時間戳模式:
同安裝linuxptp一樣,建議不要用命令直接安裝,到下面的網址去下載壓縮包,因為linuxptp項目網址提到:
ethtool下載網址:https://mirrors.edge.kernel.org/pub/software/network/ethtool/
安裝步驟無非就是
./configure
make
make install
安裝好之后執行“ethtool -T ethX”
第三步,開始測試,將兩台時間不同的機器進行時鍾同步:
記得測試之前把兩個機器的時間修改“date -s “時:分:秒” ” 兩台機器的時間別差太多。
服務端:ptp4l -i eth0 -m -S
客戶端::ptp4l -i eth0 -m -S -s
簡單說明下命令執行打印出來的內容,記住關鍵的就好:
1.該master offset
值表示從主設備測量的偏移量(以納秒為單位);
2.s0,s1,s2表示時鍾伺服器的不同狀態,s0表示未鎖定,s1表示正在同步,s2表示鎖定,鎖定狀態表示不會再發生階躍行同步,只是緩慢調整;
3.端口0是用於本地PTP管理的Unix域套接字。端口1是eth0
接口;
4.當從端口狀態改變UNCALIBRATED
到SLAVE
時,計算機已經成功地與一個PTP主時鍾同步。
軟件時間戳就介紹這些,命令“pmc”我不了解,所以就不記錄了,等單位要真是買來硬件服務器,我再來記錄硬件時間戳模式。