失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Linux设备上时间不准确?使用chrony服务配置时间服务器实现Linux时间同步以及实现主从

Linux设备上时间不准确?使用chrony服务配置时间服务器实现Linux时间同步以及实现主从

时间:2018-07-06 13:01:26

相关推荐

Linux设备上时间不准确?使用chrony服务配置时间服务器实现Linux时间同步以及实现主从

本文基于Linux上CentOS 7版本配合chrony(需要使用yum自行下载)进行演示

一.计算机设备上的两种时间

1.硬件时间

2.系统时间

二.配置同步时间服务器

1.安装服务

2.配置服务

三.搭建主从时间服务器

1.服务器端

2.客户端

3.注意:

四.chrony命令参数详解

五.chrony展示信息中的特殊名词解释

1.sources -v中显示的符号含义

2.sourcestats -v中符号的含义

3.timedatectl查询到的符号信息

一.计算机设备上的两种时间

1.硬件时间

计算机主板BIOS上依靠主板电池供电维持运行的时间,设备关机后依然在持续计时,计算机系统开机启动时会自动读取这个时间。

2.系统时间

软件系统上的时间,软件启动后会去读取硬件时间,之后会独立于硬件时间运行。

二.配置同步时间服务器

1.安装服务

(1)安装chrony

[root@sulibao ~]# yum install -y chrony

(2)开启chronyd服务

[root@sulibao ~]# systemctl start chronyd

(3)设置开机自启动

[root@sulibao ~]# systemctl enable chronyd

2.配置服务

chrony服务的配置主要是修改配置文件/etc/chrony.conf,在配置文件中修改要求参数

(1)添加时间服务器(参照源头)

[root@sulibao ~]# vim /etc/chrony.confserver 0.centos. iburstserver 1.centos. iburstserver 2.centos. iburstserver 3.centos. iburstpool iburstpool iburstpool iburstpool iburstpool iburstpool iburst//时间服务器server,pool,ntp都可以,推荐使用阿里的时间端//也可以书写ip地址,以此来同步目标的系统时间

(2)allow选项

/etc/chrony.conf中文本“Allow NTP client access from local network.”处可以指定ntp可以从客户端从本地网络访问。格式为allow ip/掩码

(3)从配置文件中保存退出后,重启chronyd服务

[root@sulibao ~]# systemctl restart chronyd

(4)通过命令进行查看是否同步,出现^*即表示有可同步的源,符号具体含义参照后文

[root@sulibao ~]# chronyc sources210 Number of sources = 7MS Name/IP address Stratum Poll Reach LastRx Last sample===============================================================================^? 192.168.2.100 0 90-+0ns[ +0ns] +/- 0ns^- electrode.felixc.at 3 8 161 147 -15ms[ -15ms] +/- 189ms^? tock.ntp.infomaniak.ch 1 81 145 +4056us[+4056us] +/- 137ms^- cp01.webhd.nl 3 8 367 142 -15ms[ -15ms] +/- 188ms^- mail2.light-speed.de2 8 24 857 +18ms[ +17ms] +/- 141ms^* 120.25.115.20 2 8 337 152 +398us[+6175ns] +/- 23ms^+ 203.107.6.88 2 8 277 214 -3025us[-3402us] +/- 33ms

(5)通过date或者命令timedatectl查询,“NTP synchronized: yes”即表示同步成功。符号具体含义参照后文。

[root@sulibao ~]# timedatectlLocal time: Tue -01-03 20:14:14 CSTUniversal time: Tue -01-03 12:14:14 UTCRTC time: Tue -01-03 12:14:13Time zone: Asia/Shanghai (CST, +0800)NTP enabled: yesNTP synchronized: yesRTC in local TZ: noDST active: n/a[root@sulibao ~]# dateTue Jan 3 20:14:25 CST

三.搭建主从时间服务器

搭建两台虚拟机,一台作为服务器端,一台作为客户端

1.服务器端

先保证能够正确同步时间,后将自己搭建为服务器,并允许第二台虚拟机ip所在网段可以通过此服务器进行时间同步

vim /etc/chrony.conf

2.客户端

像上文一样将虚拟机1的ip地址作为pool写入配置文件,重启服务即可。

3.注意:

配置主从时间同步,服务器端需要关闭防火墙(可参照专栏相关文章)

四.chrony命令参数详解

上述步骤完成后通过命令行查看同步状态以及解析输出信息含义

格式:chronyc+参数

五.chrony展示信息中的特殊名词解释

1.sources -v中显示的符号含义

[root@sulibao ~]# chronyc sources -v210 Number of sources = 7.-- Source mode '^' = server, '=' = peer, '#' = local clock./ .- Source state '*' = current synced, '+' = combined , '-' = not combined,| / '?' = unreachable, 'x' = time may be in error, '~' = time too variable.|| .- xxxx [ yyyy ] +/- zzzz||Reachability register (octal) -. | xxxx = adjusted offset,||Log2(Polling interval) --.|| yyyy = measured offset,|| \|| zzzz = estimated error.|| | | \MS Name/IP address Stratum Poll Reach LastRx Last sample===============================================================================^- electrode.felixc.at 3 7 336 250 -10ms[ -11ms] +/- 186ms^? ntp1.ams1.2 7 300 707 +41ms[ +41ms] +/- 256ms^- cp01.webhd.nl 3 6 357 59 -6547us[-6547us] +/- 211ms^? mail2.light-speed.de2 81 59 +16ms[ +16ms] +/- 142ms^* 120.25.115.20 2 6 365 127 -61us[ -510us] +/- 24ms^+ 203.107.6.88 2 6 377 62 -6263us[-6263us] +/- 37ms

(1)M: 表示信号源的模式。^表示服务器,=表示对等方,#表示本地连接的参考时钟。

(2)S:指源的状态:

*表示chronyd当前已经同步到的源。

+表示可接受的信号源,与选定的信号源组合在一起。

-表示被合并算法排除的可接受源

?指已失去连接性或者其数据包未通过所有测试的源。

x表示chronyd认为时虚假行情的时钟,即标记该时间与其他多数时间不一致

~表示时间似乎具有太多可变性

(3)Name/IP address:显示源的名称或IP地址,或参考时钟的参考ID。

(4)Stratum:显示时间来源的层,如其最近收到的样本中所报告。层1表示一台具有本地连接的参考时钟的计算机,与第1层计算机同步的计算机位于第2层,与第2层计算机同步的计算机位于第3层,依此类推。

(5)Poll:显示轮询源的速率,以秒为单位的时间间隔的以2为底的对数。因此,值为6表示每64秒进行一次测量。chronyd会根据当前情况自动更改轮询速率。

(6)Reach:显示源的可达性寄存器以八进制数字打印。寄存器有8位,并在每个从源接收或丢失的数据包上更新。值377表示从最后八次传输中收到了对所有用户的有效答复。

(7)LastRx:显示多长时间前从来源接收到了最后一个好的样本(在下一列中显示)。未通过某些测试的测量将被忽略。通常以秒为单位。字母m,h,d或y表示分钟,小时,天或年。

(8)Last sample:此列显示上次测量时本地时钟与源之间的偏移。方括号中的数字表示实际测得的偏移量。可以用ns(表示纳秒),us(表示微秒),ms(表示毫秒)或s(表示秒)作为后缀。方括号左侧的数字表示原始测量值,已调整为允许此后施加于本地时钟的任何摆度。+/-指示器后面的数字表示测量中的误差范围。正偏移表示本地时钟位于源时钟之前。

2.sourcestats -v中符号的含义

[root@sulibao ~]# chronyc sourcestats -v210 Number of sources = 7.- Number of sample points in measurement set./ .- Number of residual runs with same sign.| / .- Length of measurement set (time).| | /.- Est. clock freq error (ppm).| | |/ .- Est. error in freq.| | || / .- Est. offset.| | |||| On the -.| | |||| samples. \| | |||| |Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev==============================================================================electrode.felixc.at 14 9 22m-3.77618.370 -26ms 7668usntp1.ams1. 3 3 195+4.246 79142.719 +41ms 18mscp01.webhd.nl 22 15 27m+0.0839.086 -19ms 4582usmail2.light-speed.de 3 3 23m+0.625 589.018 +17ms 420us120.25.115.20 20 11 27m+0.0602.597 +1271us 1400us203.107.6.8820 11 26m-0.2804.072 -1989us 1941us

(1)NP:测量集中的采样点数。

(2)NR:具有相同符号的残差运行数。

(3)Span:测量集的长度(时间)。

(4)Frequency:估计时钟频率误差 (ppm)。

(5)Freq Skew:频率错误估计。

(6)Offset:估计偏移量。

(7)Std Dev:标准偏差。

3.timedatectl查询到的符号信息

[root@sulibao ~]# timedatectl status Local time: Tue -01-03 20:14:14 CSTUniversal time: Tue -01-03 12:14:14 UTCRTC time: Tue -01-03 12:14:13Time zone: Asia/Shanghai (CST, +0800)NTP enabled: yesNTP synchronized: yesRTC in local TZ: noDST active: n/a

(1)CST:中国、澳大利亚等的标准时间。

(2)UTC:协调世界时间。将地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间。

(3)GMT:格林威治标准时间。指位于英国伦敦格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。

(4)DST:夏令时,指在夏天太阳升起的比较早时,将时间拨快一小时,以提早日光的使用。

(5)RTC:实时时钟,可以提供时钟日历的功能。

Linux设备上时间不准确?使用chrony服务配置时间服务器实现Linux时间同步以及实现主从设备时间同步

如果觉得《Linux设备上时间不准确?使用chrony服务配置时间服务器实现Linux时间同步以及实现主从》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。