linux同步是時鍾伺服器
① linux 時間同步
在Linux系統中存在兩個時鍾時間,分別是
硬體時鍾是指的在主板上的時鍾設備,也就是通常可以在BIOS畫面設置的時鍾,即使關機狀態也可以計算時間。
而系統時鍾則是指Kernel中的時鍾,其值是由1970年1月1日00:00:00 UTC時間至當前時間所經歷的秒數總和。當Linux啟動的時候,系統時鍾會讀取硬體時鍾的設定,之後系統時鍾獨立運作。長時間運行兩者可能將會產生誤差。另外所有的Linux相關指令都是讀取系統時鍾指定的,如date。
我們這里討論的是系統時間。
NTP,網路時間協議,使用 123/udp 埠進行網路時鍾同步;NTP 是仍在使用中的最古老的網路傳輸協議之一(1985 年前開始)。
以前Linux時間同步基本是使用 ntpdate 和 ntpd 這兩個工具實現的,但是這兩個工具已經很古老了。
【注】ntpdate和ntpd是互斥的,兩者不能同時使用。ntpd是步進式平滑的逐漸調整時間,而ntpdate是斷點式更新時間。
RHEL/CentOS 7.x 已經將 chrony 作為默認時間同步工具了。
其他Linux (如 ubuntu) 使用 systemd-timesyncd 服務。
chrony 是 RedHat 開發的,它是網路時間協議(NTP)的另一種實現;
RHEL/CentOS 7.x 的默認時間同步工具;
chrony 可以同時做為 ntp 服務的客戶端和服務端;安裝完後有兩個程序 chronyd、chronyc:
chronyd 是一個 daemon 守護進程,chronyc 是用來監控 chronyd 性能和配置參數的命令行工具。
系統版本:CentOS 7.5
chrony_server(relay):10.0.0.4
chrony_client:10.0.0.5
Edit file /etc/chrony.conf
默認已經啟動,不需要調整
example:
配置 chrony
edit file: /etc/chrony.conf
再次用chronyc 命令檢查,比較它與chronyd server的差異
systemd-timesyncd 是一個用於跨網路同步系統時鍾的守護服務。它實現了一個 SNTP 客戶端,但更輕量級,更集成systemd。
systemd-timesyncd 啟動時會讀取 /etc/systemd/timesyncd.conf 配置文件,內容如下:
你可以輸入你希望使用的其它時間伺服器,比如你自己的本地 NTP 伺服器,在 NTP= 行上輸入一個以空格分隔的伺服器列表。
如果伺服器可以直接連接internet,不用修改默認配置;如果在內網,需要單獨指定。
在最新的 Ubuntu 版本中,timedatectl 替代了老舊的 ntpdate。默認情況下,timedatectl 在系統啟動的時候會立刻同步時間,並在稍後網路連接激活後通過 socket 再次檢查一次。
timesyncd 替代了 ntpd 的客戶端的部分。默認情況下 timesyncd 會定期檢測並同步時間。它還會在本地存儲更新的時間,以便在系統重啟時做時間單步調整。
通過 timedatectl 和 timesyncd 設置的當前時間狀態和時間配置,可以使用 timedatectl status 命令來進行確認。
由於 timedatectl 的存在,各發行版已經棄用了 ntpdate,默認不再進行安裝。
timedatectl
timedatectl status ,查看時間同步狀態;
timedatectl set-ntp true ,開啟網路時間同步;
timedatectl set-timezone ZONE ,設置時區。
NTP synchronized: yes 表示時間是同步狀態。
查看服務狀態以及從哪個ntp server同步時間。
NTP:軟體層面實現,成本低。同步精度10ms左右。
PTP:需要網路介面具備在物理層提供時間戳的功能,同步精度優於100ns,區域網的節點需要使用支持PTP功能的交換機。區域網網路接點不支持PTP的話,只能同不到us,而且受網路背景流量影響。
② linux中ntp時鍾伺服器怎麼配
執行ntpdate xxx.xxx.xxx.xxx(ntp伺服器地址)。
Linux下配置NTP伺服器
配置方法:
1、ntp服務安裝
NTP服務在RHEL5.x中式默認安裝的軟體包,可用rpm -qa |grep
ntp檢查是否安裝,如果未安裝可使用如下命令安裝與刪除NTP伺服器軟體包
#使用rpm方式安裝
rpm -ivh ntp-4.2.2p1-8.el5.i386.rmp
#使用yum方式安裝
yum -y install ntp.i*
#使用rpm方式刪除
rpm -e ntp-4.2.2pl-8.el5.i386.rpm
#使用yum方式刪除
yum -y remove ntp.i*
2、ntp服務配置
在ntp服務安裝完成後,需要修改ntp服務配置文件。ntp服務主配置文件/etc/ntp.conf
2.1 ntp服務的啟動、暫停
NTP屬於system
V服務,其啟動、暫停相關命令如下:
#啟動
service ntpd
start
#停止
Service ntpd
stop
#重新載入
service ntpd
reload
#查看當前啟動狀態
service ntpd
status
2.2 ntp服務自動載入
設置ntp服務下一次開機運行狀態可通過命令配置
#在運行級別2、3、4、5上設置為自動運行
chkconfig
ntpd on
#在運行級別2、3、4、5上設置為不自動運行
chkconfig
ntpd off
#在運行級別3、5上設置為自動運行
chkconfig
ntpd --level 35 on
#在運行級別3、5上設置為不自動運行
chkconfig
ntpd --level 35 off
2.3 配置信息
配置ntp,將Internet上的時間伺服器作為內部標准時間來源,過程如下
1)修改/etc/ntp.conf文件
restrict default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6::1
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
#指定Internet上的時間伺服器
restrict 207.46.232.182 mask 255.255.255.255 nomodify notrap noquery
server 207.46.232.182
server 127.127.1.0
fudge 127.127.1.0 stratum 10
keys /etc/ntp/keys
#指定NTP伺服器日誌文件
logfile /var/log/ntp
2)修改/etc/ntp/stpe-tickers文件,內容如下(當ntpd服務啟動時,會自動與該文件中記錄的上層NTP服務進行時間校對)
207.46.232.182
127.127.1.0
3)修改/etc/sysconfig/ntpd文件,內容如下:
#允許BIOS與系統時間同步,也可以通過hwclock -w 命令
SYNC_HWCLOCK=yes
4)在配置完成並重新啟動服務後,可通過ntpstat
命令顯示本機上一次與上層ntp伺服器同步時間的情況,也可以使用ntpq -p 查看本機與上層ntp伺服器通信情況,
2.4 圖形界面配置NTP
圖形界面下直接用system-config-date, 在「Network Time Protocol」選項頁指定NTP伺服器後勾選「Synchronize system clock before startingservice」,將ntpd服務設置為自動運行即可。
2.5 客戶端訪問
1)Linux客戶端可通過圖形界面進行配置,也可以通過ntpdate命令立即與NTP伺服器及行時間校對。
ntpdate 192.168.0.10
2)Windows客戶端,只需雙擊任務欄右下角的時鍾,選擇「Internet時間」選項頁,輸入NTP服務IP地址或FQDN,並勾選「自動與Internet時間伺服器同步」即可。
Windows默認7天自動更新一次,可通過修改注冊表HKEY_LOCAL_MACHINE\SYSTEM
\CurrentControlSet\services\W32Time\TimeProviders\NtpClient\SpecialPollInterval 默認單位為妙,修改後重新啟動即可生效。
③ 【ntpdate】CentOS7.x上使用ntpdate同步ntp伺服器
NTP伺服器顧名思義就是時間同步伺服器(Network Time Protocol),Linux下的ntp伺服器配置相對來說都比較容易,但在Linux下有一個弊端, 不同時區或者說是時間相差太大的無法同步 ,所以在配置ntp伺服器之前需要把時間配置成相同的。
NTP時鍾同步方式說明
NTP在linux下有兩種時鍾同步方式,分別為直接同步和平滑同步:
直接同步
使用ntpdate命令進行同步,直接進行時間變更。如果伺服器上存在一個12點運行的任務,當前伺服器時間是13點,但標准時間時11點,使用此命令可能會造成任務重復執行。因此使用ntpdate同步可能會引發風險,因此該命令也多用於配置時鍾同步服務時第一次同步時間時使用。
平滑同步
使用ntpd進行時鍾同步,可以保證一個時間不經歷兩次,它每次同步時間的偏移量不會太陡,是慢慢來的,這正因為這樣,ntpd平滑同步可能耗費的時間比較長。
標准時鍾同步服務
http://www.pool.ntp.org/zone/cn
這個網站包含全球的標准時間同步服務,也包括對中國時間的同步,對應的URL為:cn.pool.ntp.org
在其中也描述了ntp配置文件中的建議寫法:
server 1.cn.pool.ntp.org
server 2.asia.pool.ntp.org
server 3.asia.pool.ntp.org
實驗室集群沒有聯網,我們需要搭建ntp伺服器並進行時間同步。
現使用的系統為centos7.2,機器使用情況如下表所示,這里以192.168.1.102為ntp server,192.168.1.104為client對時間進行同步。
NTP server 192.168.1.102
NTP client 192.168.1.104
1.在集群中所有節點上安裝ntp
# yum -y install ntp
2.所有節點設置時區,這里設置為中國所用時間
# timedatectl set-timezone Asia/Shanghai
3.在server節點上啟動ntp服務
# systemctl startntpd
# systemctl enable ntpd
4.在server節點上設置現在的准確時間
# timedatectl set-time HH:MM:SS
5.在server節點上設置其ntp伺服器為其自身,同時設置可以接受連接服務的客戶端,是通過更改/etc/ntp.conf文件來實現,其中server設置127.127.1.0為其自身,新增加一個 restrict 段為可以接受服務的網段
# vim /etc/ntp.conf
6.重啟ntpd服務
# systemctl restart ntpd
# timedatectl
NTP synchronized: yes
啟用ntpd後,伺服器就開啟了ntpd自動同步,無法使用 timedatectl set-time HH:MM:SS重新設置時間。
如果要使用timedatectl set-time HH:MM:SS 重新設置時間:
# systemctl stop ntpd
# timedatectl set-ntp false
# timedatectl set-time HH:MM:SS
# hwclock -w
# systemctl start ntpd
1.客戶端時區需要和服務端保持一致,否則無法同步時間
# timedatectl set-timezone
Asia/Shanghai
2.安裝同步軟體包
# yum -y install ntpdate
3. 修改/etc/sysconfig/ntpdate,讓ntpdate每次同步時間之後把時間寫入hwclock,相當於命令hwclock -w
將最後一行SYNC_HWCLOCK=no修改為:SYNC_HWCLOCK=yes
# vim /etc/sysconfig/ntpdate
4.客戶端定時任務配置
# crontab -e
59 23 * * * /sbin/ntpdate 192.168.1.102
設置為每天23:59分執行,重啟crond服務
######################
定時任務基本格式 :
***** command
分時日月周命令
第1列表示分鍾1~59 每分鍾用*或者 */1表示
第2列表示小時1~23(0表示0點)
第3列表示日期1~31
第4列表示月份1~12
第5列標識號星期0~6(0表示星期天)
第6列要運行的命令
################################
5.重啟定時任務
# systemctl restart crond.service
④ linux上ntp時鍾伺服器搭建
配置的時鍾伺服器的ip地址為192.168.100.116
第一步 為伺服器和客戶機安裝ntp ntpdate
[root@sql-proxy1 app]#yum install ntp ntpdate -y第二步 查找時間同步伺服器
http://www.pool.ntp.org/zone/asia #在裡面可以找到中國第三步 編輯 /etc/ntp.conf
[root@sql-proxy1 app]#vim /etc/ntp.conf server 0.cn.pool.ntp.org
server 1.cn.pool.ntp.org
server 2.cn.pool.ntp.org
server 3.cn.pool.ntp.org #以上四個是時間同步伺服器server 127.127.1.0 iburst local clock #當外部時間不可用時,使用本地時間restrict 192.168.10.1 mask 255.255.255.0 nomodify #允許更新的IP地址段第四步 啟動ntp服務
[root@sql-proxy1 app]#systemctl start ntpd第五步 驗證服務
[root@sql-proxy1 app]#ntpq -p remote refid st t when poll reach delay offset jitter
==============================================================================
120.25.115.19 .INIT. 16 u - 64 0 0.000 0.000 0.000
ntp6.flashdance .INIT. 16 u - 64 0 0.000 0.000 0.000
time5.aliyun.co .INIT. 16 u - 64 0 0.000 0.000 0.000
85.199.214.101 .INIT. 16 u - 64 0 0.000 0.000 0.000
biisoni.miuku.n .INIT. 16 u - 64 0 0.000 0.000 0.000
ntp5.flashdance .INIT. 16 u - 64 0 0.000 0.000 0.000
leontp.ccgs.wa. .INIT. 16 u - 64 0 0.000 0.000 0.000
ntp1.ams1.nl.le .INIT. 16 u - 64 0 0.000 0.000 0.000
*LOCAL(0) .LOCL. 5 l 7 64 1 0.000 0.000 0.000
第六步 遠程客戶端時間同步測試
[root@sql-mysql2 ~]#ntpdate 192.168.10.116 17 Dec 20:55:08 ntpdate[11904]: adjust time server 172.18.68.31 offset -0.000067 sec
第七步 客戶端設置計劃任務,每天晚上1點同步時間
crontab -e
00 01 * * * root /usr/sbin/ntpdate 192.168.10.116; /usr/sbin/clock -w
EDT 時間即美國東部時間。這里要改為北京時間即可:
命令如下:
root@ubuntu# mv /etc/localtime /etc/localtime.bak
root@ubuntu# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
root@ubuntu# date
修改116伺服器本機的ntp時間同步
systemctl stop ntpd
ntpdate cn.pool.ntp.org
systemctl start ntpd
rpm -qa |grep ntp #檢查ntp版本
service ntpd status #查詢ntp服務狀態
service ntpd start #啟動
service ntpd stop #停止
service ntpd restart #重啟
ntpq -p #查看ntp伺服器與上層ntp的狀態
⑤ linux系統怎麼設置時間同步
命令行界面操作
1、對於linux系統大多數是命令行界面,所以先介紹字元界面同步時間方法。 首選安裝ntpdate 時間同步服務, 利用yum install ntpdate
2、接著把linux系統時間同步到windows time公共時間伺服器, ntpdate time.windows.com
3、設置時間同步腳本,雖然以上已經同步了時間,但是如果連不上網或者關機就不一樣的時間了。可以通過設置計劃任務,每天0點同步一下。
添加到crontab任務文件添加:00 0 1 * * root ntpate -s time.windows.com
4、除此之外,我們還可以通過用date命令查看 和手動設置系統時間(必須管理員賬號許可權。
圖形界面設置
1、如果對命令行不熟悉,也可以通過圖形界面設置來實現系統時間同步。 找到系統工具----管理員功能選項--- date\時間 和日期
2、啟用網路時間,並且與之同步找到date\time 時間菜單之後,勾選「synchronize date and time over the network 」
3、設置正確的當地時區,除此之外,centos系統會根據當期語言來設置默認的時間和時區。對於咗嚛所在的china時間,是北京時間(下面那個UTC時間不要勾)
⑥ 如何建立linux 時間同步 伺服器
一、執行步驟:1.以root身份登錄
2.查看系統時間(date)和系統bios時間(hwclock或/sbin/hwclock)
3.在/usr/sbin下,使用命令 ntpdate 132.163.4.102 使系統時間和時間伺服器時間同步.
4.將系統時間寫入bios(hwclock -w)
5.再次查看系統時間和系統bios時間
6.以上工作僅是當前的時間同步,所以還需執行以下工作:
使用crontab -e 命令將每小時執行一次/usr/sbin/ntpdate 132.163.4.102;/sbin/hwclock -w;的任務加入到任務管理器。
假如以下內容:0 1 * * * /usr/sbin/ntpdate 132.163.4.102;/sbin/hwclock -w;
二、加入計劃任務:
1.使用以下命令編輯任務管理器
crontab -e
2.將以下語句加入到任務管理器中,其用途是:每小時執行一次/usr/sbin/ntpdate 132.163.4.102;/sbin/hwclock -w;
註:執行任務計劃的時間隨機訂
之上是總結,按之上步驟來即可,以下參考就行:
先進入到路徑:
/usr/sbin/下
使用其中的同步工具ntpdate,同步的時間伺服器為:asia.pool.ntp.org
使用方法:
./ntpdate asia.pool.ntp.org
標准時間同步方法:
分布操作:
察看bios時間與系統時間
hwclock
察看系統時間
date
使用ntpdate命令使系統時間與時間伺服器同步
ntpdate ntp1.nl.net
將系統時間寫入bios
hwclock -w
三、解決辦法使用:
1.使用以下命令編輯任務管理器
⑦ 配置Linux的時鍾同步
Ubuntu系統默認的時鍾同步伺服器是ntp.ubuntu.com,Debian則是0.debian.pool.ntp.org等, 各Linux發行版都有自己的NTP官方伺服器。身在中國,使用這些都會有高延遲,但對時鍾同步這件事來說影響不大。
在某些環境下,比如公司內網、雲上子網等,是與互聯網隔絕的。這時要想做時鍾同步,就只能自己配置了。
本文介紹如何自己配置時鍾同步,不介紹如何自建NTP伺服器。
一般timesync是預裝的。如果沒有,可以使用以下命令手動安裝。
sudo apt install systemd-timesyncd 它和ntp是沖突的,二者只能安裝一個。
修改/etc/systemd/timesyncd.conf,把NTP設為華為內綠區可達的NTP伺服器。
修改完成後,需要restart後這個配置才生效。
如果以上systemd-timesyncd.service因為什麼原因而不存在,則可通過以下命令修復:
一般查看日期與時間是使用date。使用timedatectl可以查看到更多時鍾同步相關信息。
以下給出一些阿里雲的NTP列表,可以通過ping擇優使用。
以上就是 良許教程網 為各位朋友分享的配置Linux的時鍾同步。
最後,最近很多小夥伴找我要 Linux學習路線圖 ,於是我根據自己的經驗,利用業余時間熬夜肝了一個月,整理了一份電子書。無論你是面試還是自我提升,相信都會對你有幫助!目錄如下:
免費送給大家,只求大家金指給我點個贊!
電子書 | Linux開發學習路線圖
也希望有小夥伴能加入我,把這份電子書做得更完美!
推薦閱讀:
⑧ 如何使兩台linux伺服器時間同步
Linux自帶了ntp服務 -- /etc/init.d/ntpd,這個服務不僅可以設置讓本機和某台/某些機器做時間同步,他本身還可以扮演一個time server的角色,讓其他機器和他同步時間。
配置文件就是/etc/ntp.conf。
為了測試,設置讓node2 -- 192.168.1.102和node1 -- 192.168.1.101做時間同步。
第一步,node1做time server,node1本身不和其他機器時間同步,就是取本地時間。
所以,先把node1機器的時間調准了:
[root@node1 ~]date -s 08/03/2011
[root@node1 ~]date -s 11:12:00
[root@node1 ~]clock -w
[root@node1 ~]hwclock --systohc
後兩個命令是把設置的時間寫到硬體時間中去(也就是CMOS裡面的時間)。
第二步,然後將node1配置成一個time server,修改/etc/ntp.conf,
[root@node1 ~]vi /etc/ntp.conf
其他的配置不怎麼需要改,只需要關注restrict的配置:
1. 注釋掉原來的restrict default ignore這一行,這一行本身是不響應任何的ntp更新請求,其實也就是禁用了本機的ntp server的功能,所以需要注釋掉。
2. 加入:restrict 192.168.1.0 mask 255.255.255.0 -- 讓192.168.1.0/24網段上的機器能和本機做時間同步
3. 這樣就可以了,記得下面的:
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
這兩行需要,這是讓本機的ntpd和本地硬體時間同步。
當然,我們也可以添加server xxx.xxx.xxx.xxx,讓他和其他的time server時間同步。
4. /etc/init.d/ntpd restart
5. chkconfig ntpd on
6. 修改iptables配置,將tcp和udp 123埠開放,這是ntp需要的埠,在/etc/services中可以查到這個埠。
第三步,這樣node1就成為一台time server了,現在我們配置node2這台機器,也是修改/etc/ntp.conf ,
[root@node2 ~]vi /etc/ntp.conf
1. restrict default ignore這行保留為注釋狀態,因為sales不需要做time server
2. 注釋掉server 127.127.1.0, fudge 127.127.1.0 stratum 10這兩行,因為這台機器不需要和本地硬體時鍾同步了。
3. 加入server 192.168.1.101這行,和node1機器同步。
這樣就OK了。看看時間,已經和node1同步了。往後默認配置好像是5分鍾和time server同步一次。ntpdate命令是顯式的和某台機器做時間同步,以前將ntpdate放到crontab中定期同步也是可以的,但是既然ntpd本身就可以做這個時間
第四步,將ntpdate放到crontab中定期步也是可以的
[root@node2 ~]#vi ntpupdate.sh
/usr/sbin/ntpdate 192.168.1.101
[root@node2 ~]#chmod 755 ntpupdate.sh
[root@node2 ~]#crontab -e
*/1 * * * * /root/ntpupdate.sh
[root@node2 ~]#/etc/init.d/crond restart
⑨ Linux的 常用的時間同步伺服器地址
ntpdate -ucn.ntp.org.cn
用這一個就好
希望可以幫助你 請採納 謝謝