1. 怎樣開啟linux系統下的ntp同步請求
Linux 系統安裝配置NTP時間伺服器
NTP(The Network Time Protocol) 是網路時間協議,用以同步網路內計算機的時間。
它通過udp包交換,用特定演算法進行協商,從而把計算機上的時間與時間伺服器上的
時間保持一致。通過互聯網它支持的誤差是10毫秒,區域網則可以達到200微秒。
NTP時間伺服器分為多層,從0層到4層,每層依次與上一次伺服器同步,最高層的伺服器
則直接連接一個高精度的時鍾設備,比如原子鍾、GPS或者電波時等。
自己搭建時間伺服器需要指定一個上層的時間伺服器,然後它可以向區域網內的其它機器
提供同步服務。
詳細信息可以見:
http://en.wikipedia.org/wiki/Network_Time_Protocol
安裝NTP Server
Linux系統內核提供了對NTP的支持,因此只需要再安裝一個NTP Server的守護進程即可。
常用的ntpd由ntp.org提供。
下載安裝ntpd的穩定版本。目前是ntp-4.2.6p3.
http://www.ntp.org/downloads.html
示範腳本::
wget http://www.eecis.udel.e/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.6p3.tar.gz
tar zxf ntp-4.2.6p3.tar.gz
mkdir /app/ntp
cd ntp-4.2.6p3
./configure --prefix=/app/ntp --enable-all-clocks --enable-parse-clocks
make clean && make check && make && make intall
注意:/app/ntp為ntpd的安裝後文件路徑
配置
1. 配置文件位置為::
/etc/ntp.conf
2. 修改配置允許區域網內機器與該伺服器進行時間同步。
將下面語句::
restrict default kod nomodify notrap nopeer noquery
修改為::
restrict default nomodify
3. 修改上一層的時間伺服器。
ntp.org現在提供NTP POOL PROJECT,即ntp 伺服器池項目。在中國區域,配置如下即可::
server 0.cn.pool.ntp.org
server 0.asia.pool.ntp.org
server 2.asia.pool.ntp.org
其中0.cn 是中國伺服器池,後面兩個是亞洲的伺服器池。
最新列表見:
http://www.pool.ntp.org/zone/cn
啟動 NTP 伺服器
進入ntpd安裝後的路徑,如/app/ntd, 啟動參數如下::
./ntpd -c /etc/ntp.conf -p /tmp/ntpd.pid -l /app/ntp/log/ntp.log
注意啟動後需要等幾分鍾,否則其它機器來同步時會得到
no server suitable for synchronization found
的錯誤。
Linux客戶端機器配置
客戶端機器使用ntpdate 程序來執行同步。 格式如下::
ntpdate ntp-server-ip
如果需要配置計劃任務,命令如下::
# 查看是否已經添加時間同步的計劃任務
cat /etc/crontab
# 如果沒有則添加下列行,每30分鍾同步一次:
echo '*/30 * * * * root /usr/sbin/ntpdate 10.20.219.43' >> /etc/crontab
# 將計劃任務設為自動,默認是啟動的【可選】
chkconfig crond on
# 啟動計劃任務服務
service crond restart
# 有些機器需要設置時區為中國
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
2. ntp時間同步配置
vi /etc/ntp.conf 添加內網ntp伺服器。
systemctl start ntpd 啟動ntpd服務
ntpstat 命令查看時間同步狀態,這個一般需要5-10分鍾後才能成功連接和同步。所以,伺服器啟動後需要稍等下。
剛啟動的時候,一般是:
連接並同步後
*表示目前使用的ntp server;
st:即stratum階層,值越小表示ntp serve的精準度越高;
when:幾秒前曾做過時間同步更新的操作;
Poll表示,每隔多少毫秒與ntp server同步一次;
reach:已經向上層NTP伺服器要求更新的次數;
delay:網路傳輸過程鍾延遲的時間;
offset:時間補償的結果;
jitter:Linux系統時間與BIOS硬體時間的差異時間
3. 【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
4. 【ntp】NTP伺服器時間同步三部曲
在一台計算機上我們有兩個時鍾:一個稱之為硬體時間時鍾(RTC),還有一個稱之為系統時鍾(System Clock)。
系統時鍾就是操作系統的kernel所用來計算時間的時鍾. 它從1970年1月1日00:00:00 UTC時間到目前為止秒數總和的值。
在Linux下,系統時間在開機的時候會和RTC硬體時鍾同步(synchronization),之後也就 各自獨立運行 了。
系統運行期間,則通過其他硬體時鍾源進行tick計算(tsc、hpet、acpi_pm)。
RTC(real time clock)通過主板(CMOS)的電磁供電,精確到秒。用戶可手工設置RTC時間。
1. 強制躍遷同步
ntpdate -u xx.xx.xx.xx
xx.xx.xx.xx 為ntpServer地址,如 ntp.aliyun.com
注意:此時本機的ntpd不能啟動,否則執行 ntpdate會報socket佔用
2. 將系統時間同步到硬體時鍾
hwclock -w
3. 啟動ntpd,後續平滑同步
systemctl start ntpd
注意:此時本機的不能在ntpd運行期間執行ntpdate,否則會報socket佔用
NTP伺服器時間監控腳本
https://www.yaoyan.me/2021/03/ntp-time-monitor/
使用Prometheus監控時間指標
http://www.panooo.com/prometheus_ntp
Linux時間子系統及node-exporter對時鍾的監控
https://www.cnblogs.com/danny-djy/p/14132436.html
真正讓你明白Linux NTP(包括歷史、參數解釋、安裝配置)
https://www.aboutyun.com/thread-11395-1-1.html
GaussDB(DWS)NTP變更指南
https://bbs.huaweicloud.com/blogs/detail/211403
NTP時鍾同步異常告警處理
https://support.huawei.com/enterprise/zh/knowledge/KB1000029535
chrony服務時間同步實驗
https://www.yaoyan.me/2021/03/Chrony/
NTP 服務概述
https://cloud.tencent.com/document/proct/213/30392
Linux 實例:配置 NTP 服務
https://cloud.tencent.com/document/proct/213/30393
Linux 實例:將 ntpdate 轉換為 ntpd
https://cloud.tencent.com/document/proct/213/45361
Redis 3.2.8集群部署實驗
https://www.yaoyan.me/2017/03/redis-cluster-setup/
Linux dns服務 bind安裝配置
https://www.yaoyan.me/2017/06/LinuxBind/
printf格式化輸出
https://www.yaoyan.me/2015/07/shell_printf/
NTP協議與SNTP協議的區別
https://www.ruijie.com.cn/fw/wt/18857/
SNTP- Simple Network Time Protocol簡單網路時間協議
https://www.syn029.com/h-nd-1881.html
https://hongwangle.com/terms-definition/time-server-terms-analysis/sntp-simple-network-time-protocol/
5. linux ntp伺服器的時間怎麼同步
同步Internet時間,首先安裝時間同步軟體
apt-get install ntpdate
手動同步系統時間
ntpdate NTP伺服器地址
6. 如何在linux 上配置NTP 時間同步
Linux停止ntp服務即可關閉時間同步。①關閉ntp服務(臨時設置重啟後自動開啟) service ntpd stop②設置永久關閉ntp服務(重啟後也是關閉的) chkconfig ntpd off
7. 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