centos7等各操作系統實現ntp時鐘同步

一、ntp server搭建

1.centos7.6搭建ntp server

安裝前:

[root@ntpserver ~]# more /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 
[root@ntp-server ~]# ps -ef|grep ntp
root      18054  17742  0 15:53 pts/0    00:00:00 grep --color=auto ntp
[root@ntp-server ~]# ll /etc/|grep ntp
[root@ntp-server ~]# ntpdate
-bash: ntpdate: 未找到命令
[root@ntp-server ~]# systemctl status ntpd
Unit ntpd.service could not be found.

ntp server ip爲172.27.9.131,操作系統版本爲centos 7.6,安裝前無ntp服務,/etc目錄下也沒有相關ntp文件,也沒有ntpdate命令

圖片.png

安裝:

[root@ntp-server ~]# yum -y install ntp
[root@ntp-server ~]# ps -ef|grep ntp      
root      18225  17742  0 16:00 pts/0    00:00:00 grep --color=auto ntp
[root@ntp-server ~]# ll /etc/|grep ntp    
drwxr-xr-x   3 root root       52 11月  5 15:59 ntp
-rw-r--r--   1 root root     2000 8月   6 21:44 ntp.conf
[root@ntp-server ~]# ntpdate              
 5 Nov 16:01:04 ntpdate[18240]: no servers can be used, exiting
[root@ntp-server ~]# systemctl status ntpd
● ntpd.service - Network Time Service
   Loaded: loaded (/usr/lib/systemd/system/ntpd.service; disabled; vendor preset: disabled)
   Active: inactive (dead)

圖片.png

2.ntp server配置

新建配置文件ntp-source.conf

[root@ntp-server ~]# cat >/etc/ntp/ntp-source.conf <<EOF
server ntp.ntsc.ac.cn prefer
server ntp1.aliyun.com iburst
server time1.cloud.tencent.com  iburst
server 0.cn.pool.ntp.org iburst
server 1.cn.pool.ntp.org iburst
server 2.cn.pool.ntp.org iburst
> EOF

ntp.ntsc.ac.cn爲國家授時中心域名(優先選用該ntp源),ntp1.aliyun.com爲阿里雲ntp服務器,time1.cloud.tencent.com爲騰訊雲ntp服務器,0.cn.pool.ntp.org等爲ntp官網中國地區ntp服務器。

修改配置文件ntp.conf

#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
includefile /etc/ntp/ntp-source.conf

時鐘源調用配置文件/etc/ntp/ntp-source.conf

啓動服務

[root@ntp-server ~]# systemctl start ntpd 
[root@ntp-server ~]# systemctl enable ntpd
Created symlink from /etc/systemd/system/multi-user.target.wants/ntpd.service to /usr/lib/systemd/system/ntpd.service.
[root@ntp-server ~]# systemctl is-enabled chronyd.service
enabled
[root@ntp-server ~]# systemctl disable chronyd.service
Removed symlink /etc/systemd/system/multi-user.target.wants/chronyd.service.

啓動ntp服務並設置開機啓動, 如果 chrony 被設置爲開機啓動則移除, Centos7中默認使用chrony來實現時間同步 , chrony與ntpd衝突,可能引起ntpd開啓啓動失敗

ntp服務查看

[root@ntpserver ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*114.118.7.161   123.139.33.3     2 u   36   64   77   23.196    6.770   1.028
+120.25.115.20   10.137.53.7      2 u   24   64   77   20.913    6.897   1.506
-139.199.215.251 100.122.36.196   2 u   22   64   77   21.854    8.122   1.458
-119.28.183.184  100.122.36.196   2 u   19   64   77   33.594    4.266   2.011
+ntp6.flashdance 194.58.202.148   2 u   91   64   72  268.044    6.483   1.516
+119.28.206.193  100.122.36.4     2 u   20   64   77   32.332    7.080   1.344
[root@ntpserver ~]# ntpstat 
synchronised to NTP server (114.118.7.161) at stratum 3
   time correct to within 996 ms
   polling server every 64 s

ntpq -p和ntpstat命令可以查看ntp同步狀態,每64秒同步一次

ntpq -p詳解

圖片.png

  • remote:響應這個請求的 NTP 服務器的名稱。
  • refid:NTP 服務器使用的上一級 NTP 服務器。
  • st:remote 遠程服務器的級別。服務器從高到低級別設定爲1 - 16,爲了減緩負荷和網絡堵塞,原則上建議避免直接連接到級別爲1的服務器。
  • t :u: unicast(單播), b: broadcast(廣播), l: local(本地時鐘)
  • when:上一次成功請求之後到現在的秒數。
  • poll:本地機和遠程服務器多少時間進行一次同步(單位爲秒)。初始運行 NTP 時,poll 值會比較小,和服務器同步的頻率增加,建議儘快調整到正確的時間範圍。調整之後,poll 值會逐漸增大,同步的頻率也將會相應減小。
  • reach:八進制值,用來測試能否和服務器連接。每成功連接一次,reach 的值將會增加。
  • delay:從本地機發送同步要求到 NTP 服務器的 round trip time。
  • offset:主機通過 NTP 時鐘同步與所同步時間源的時間偏移量,單位爲毫秒(ms)。offset 越接近於0,主機和 NTP 服務器的時間越接近。
  • jitter:用來做統計的值。統計在特定連續的連接數裏 offset 的分佈情況。即 jitter 數值的絕對值越小,主機的時間就越精確。

remote狀態標識詳解

圖片.png

  • :表示沒有遠程通信的主機
  • x:已不再使用
  • -:已不再使用
  • #:良好的遠程節點或服務器但是未被使用
  • +:良好的且優先使用的遠程節點或服務器
  • *****:當前作爲優先主同步對象的遠程節點或服務器
  • o:PPS 節點 (當優先節點是有效時)。實際的系統同步是源於秒脈衝信號(pulse-per-second,PPS),可能通過PPS 時鐘驅動或者通過內核接口

ntp端口查看

[root@ntpserver ~]# netstat -nupl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
udp        0      0 172.27.9.131:123        0.0.0.0:*                           17174/ntpd          
udp        0      0 127.0.0.1:123           0.0.0.0:*                           17174/ntpd          
udp        0      0 0.0.0.0:123             0.0.0.0:*                           17174/ntpd          
udp6       0      0 fe80::20c:29ff:fed9:123 :::*                                17174/ntpd          
udp6       0      0 ::1:123                 :::*                                17174/ntpd          
udp6       0      0 :::123                  :::*                                17174/ntpd         

ntp服務端口爲123,協議爲UDP

二、客戶端同步——ntpd服務方式

1.centos7.3

安裝和啓動同ntp server,配置如下:

[root@centos7 ~]# view /etc/ntp.conf
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server ntpserver iburst 
[root@centos7 ~]# view /etc/hosts
172.27.9.131    ntpserver
[root@centos7 ~]# systemctl enable ntpd
[root@centos7 ~]# systemctl start ntpd
[root@centos7 ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*ntpserver       114.118.7.161    3 u    1   64    3    0.221   12.641   0.495
[root@centos7 ~]# ntpstat 
synchronised to NTP server (172.27.9.131) at stratum 4
   time correct to within 1049 ms
   polling server every 64 s

2.ubuntu1604

root@ubuntu1604:~# view /etc/hosts
root@ubuntu1604:~# apt install -y ntp
root@ubuntu1604:~# view /etc/ntp.conf 
root@ubuntu1604:~# systemctl enable ntp
ntp.service is not a native service, redirecting to systemd-sysv-install
Executing /lib/systemd/systemd-sysv-install enable ntp
root@ubuntu1604:~# systemctl start ntp
root@ubuntu1604:~# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*ntpserver       114.118.7.161    3 u   51   64  377    0.254   -4.194   1.090

圖片.png

3.suse11

安裝ntp

圖片.png

圖片.png

suse11:~ # view /etc/hosts
172.27.9.131    ntpserver
suse11:~ # view /etc/ntp.conf 
#server 127.127.1.0             # local clock (LCL)
#fudge  127.127.1.0 stratum 10  # LCL is unsynchronized
server ntpserver iburst
suse11:~ # service ntp restart
Shutting down network time protocol daemon (NTPD)                                                                                                                                                                             done
Starting network time protocol daemon (NTPD)                                                                                                                                                                                  done
suse11:~ # ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*ntpserver       114.118.7.161    3 u    1   64    1    0.223    2.271   0.285
suse11:~ # chkconfig ntp on
suse11:~ # chkconfig --list|grep ntp
ntp                       0:off  1:off  2:off  3:on   4:off  5:on   6:off

默認爲與本地同步,修改爲與ntpserver同步。

4.AIX

aix:/ #view /etc/ntp.conf
driftfile /etc/ntp.drift
tracefile /etc/ntp.trace
server ntpserver
aix:/ #view /etc/hosts  
172.27.9.131    ntpserver
aix:/ #stopsrc -s xntpd
0513-044 The /usr/sbin/xntpd Subsystem was requested to stop.
aix:/ #startsrc -s xntpd
0513-059 The xntpd Subsystem has been started. Subsystem PID is 1663192.
aix:/ #ntpq -p
     remote           refid      st t when poll reach   delay   offset    disp
==============================================================================
*ntpserver       114.118.7.161    3 u    1   64   37     1.16    5.744  875.43
aix:/ #l***c -ls xntpd
 Program name:    /usr/sbin/xntpd 
 Version:         3 
 Leap indicator:  00 (No leap second today.) 
 Sys peer:        ntpserver 
 Sys stratum:     4 
 Sys precision:   -17 
 Debug/Tracing:   DISABLED 
 Root distance:   0.051193 
 Root dispersion: 0.176468 
 Reference ID:    172.27.9.131 
 Reference time:  e16e4fd5.e2945000  Thu, Nov  7 2019 16:09:57.885 
 Broadcast delay: 0.003906 (sec) 
 Auth delay:      0.000122 (sec) 
 System flags:    pll monitor filegen  
 System uptime:   436 (sec) 
 Clock stability: 7.000000 (sec) 
 Clock frequency: 0.000000 (sec) 
 Peer: ntpserver 
      flags: (configured)(sys peer) 
      stratum:  3, version: 3 
      our mode: client, his mode: server 
Subsystem         Group            PID          Status 
 xntpd            tcpip            1663192      active

5.redhat6.8

[root@redhat6 ~]# view /etc/hosts
172.27.9.131    ntpserver
[root@redhat6 ~]# view /etc/ntp.conf
server ntpserver iburst
[root@redhat6 ~]# service ntpd restart
Shutting down ntpd:                                        [  OK  ]
Starting ntpd:                                             [  OK  ]
[root@redhat6 ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*ntpserver       114.118.7.161    3 u    1   64    1    0.432    3.366   0.000
[root@redhat6 ~]# ntpstat 
synchronised to NTP server (172.27.9.131) at stratum 4 
   time correct to within 8030 ms
   polling server every 64 s

6.windows 7

圖片.png

適用windows7和Windows Server 2008等

三、客戶端同步——ntpdate命令方式

[root@centos7 ~]# systemctl stop ntpd
[root@centos7 ~]# ntpdate ntpserver  
 7 Nov 16:33:02 ntpdate[2618]: adjust time server 172.27.9.131 offset -0.002048 sec
[root@centos7 ~]# crontab -l
0 1 * * * /usr/sbin/ntpdate  ntpserver

ntp服務和ntpdate命令不可同時使用,使用ntpdate之前,需要停止ntp服務。採用ntpdate命令方式進行時鐘同步適用於suse、redhat、AIX、centos、ubuntu等操作系統,可做成定時任務每天定時同步。

ntpd服務方式和ntpdate命令方式都可以實現客戶端的時鐘同步,可根據生產情況擇優選擇。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章