chronyd时间服务器,和之前NTP的功能一样,提供时间的。
基础概念我就不说了,不擅长。chronyd是NTP之后诞生的。
最近下载了最新的Centos Linux 8.1,发现里面没有ntp服务了,百度一搜发现改为了Chronyd,这篇文章就是部署一个服务器+客户端测试。
1、服务器端
Centos Linux 8.1 默认安装了chronyd服务。我们只需要配置即可。
配置文件配置
红色部分是需要服务器配置的,这是基本配置,主要在于实现基本功能。
vim /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
# pool 2.centos.pool.ntp.org iburst
# 同步哪台服务器上的时间
server 192.168.94.133 iburst
# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift
# Allow the system clock to be stepped in the first three updates
# if its offset is larger than 1 second.
makestep 1.0 3
# Enable kernel synchronization of the real-time clock (RTC).
rtcsync
# Allow NTP client access from local network.
# allow 192.168.0.0/16
# 允许哪个网段的客户端同步时间,133这台是服务器。
allow 192.168.94.0/24
# Serve time even if not synchronized to a time source.
# 字面翻译,提供时间即使没有同步一个时间源。
local stratum 10
# Specify file containing keys for NTP authentication.
keyfile /etc/chrony.keys
# Get TAI-UTC offset and leap seconds from the system tz database.
leapsectz right/UTC
启动chronyd,并设置开机自启
[root@filesystem ~]# systemctl start chronyd
[root@filesystem ~]# systemctl enable chronyd
查看时间同步情况,本地能够同步才能够让其他节点进行同步
timedatectl是一个时间配置工具,用于设定时间、与时间相关的配置等。
[root@filesystem ~]# timedatectl
Local time: 五 2020-05-29 11:17:46 EDT
Universal time: 五 2020-05-29 15:17:46 UTC
RTC time: 五 2020-05-29 15:17:46
Time zone: America/New_York (EDT, -0400)
# 当此值为yes代表同步成功,如果为no就代表未同步,或同步失败。
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
[root@filesystem ~]#
查看当前时间是从哪里同步过来的,这里显示的是主机名。不影响。
[root@filesystem ~]# chronyc sources
210 Number of sources = 1
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* filesystem 10 7 377 537 +11us[ +25us] +/- 30us
[root@filesystem ~]#
防火墙配置
防火墙要能放行此服务,关闭防火墙或是放行相应的端口及服务。
关闭防火墙,并设置开机不启动
[root@filesystem ~]# systemctl stop firewalld [root@filesystem ~]# systemctl disable firewalld Removed /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. [root@filesystem ~]#
设置防火墙放行规则
[root@filesystem ~]# netstat -antup | grep chrony udp 0 0 127.0.0.1:323 0.0.0.0:* 35191/chronyd udp 0 0 0.0.0.0:123 0.0.0.0:* 35191/chronyd udp6 0 0 ::1:323 :::* 35191/chronyd [root@filesystem ~]# # 只有upd 123端口 [root@filesystem ~]# firewall-cmd --permanent --add-port=123/tcp success [root@filesystem ~]# firewall-cmd --reload success [root@filesystem ~]#
2、客户端配置
配置文件配置
vim /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
# pool 2.centos.pool.ntp.org iburst
server 192.168.94.133 iburst
配置开机自启
[root@node1 ~]# systemctl restart chronyd
[root@node1 ~]# systemctl enable chronyd
[root@node1 ~]#
查看同步状态及信息
[root@node1 ~]# timedatectl
Local time: 五 2020-05-29 11:28:12 EDT
Universal time: 五 2020-05-29 15:28:12 UTC
RTC time: 五 2020-05-29 15:28:12
Time zone: America/New_York (EDT, -0400)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
[root@node1 ~]# chronyc sources
210 Number of sources = 1
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* filesystem 11 6 17 34 -520ns[+7955ns] +/- 15ms
[root@node1 ~]#
我们看到是yes,但是如何判断它是原来的时间还是同步好了。毕竟很多系统不同步时间也是近似的。
3、设置时间
我们对chronyd服务器端进行时间修改。
这里说明一点,时间的修改只能在时间不进行同步的状态下进行,也就是说,如果时间是同步中的,是不允许修改时间的。对时间进行保护。
[root@filesystem ~]# timedatectl
Local time: 五 2020-05-29 11:30:40 EDT
Universal time: 五 2020-05-29 15:30:40 UTC
RTC time: 五 2020-05-29 15:30:40
Time zone: America/New_York (EDT, -0400)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
[root@filesystem ~]#
我们测试效果,关掉ntp,修改时间
timedatectl set-ntp 0
[root@filesystem ~]# timedatectl set-ntp 0
[root@filesystem ~]# timedatectl set-time "2020-06-01 01:01:01"
[root@filesystem ~]# timedatectl set-ntp 1
[root@filesystem ~]# systemctl restart chronyd
[root@filesystem ~]# timedatectl
Local time: 一 2020-06-01 01:01:20 EDT
Universal time: 一 2020-06-01 05:01:20 UTC
RTC time: 一 2020-06-01 05:01:20
Time zone: America/New_York (EDT, -0400)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
[root@filesystem ~]#
客户端查看时间
[root@node1 ~]# systemctl restart chronyd
[root@node1 ~]#
[root@node1 ~]# timedatectl
Local time: 一 2020-06-01 01:01:55 EDT
Universal time: 一 2020-06-01 05:01:55 UTC
RTC time: 五 2020-05-29 15:46:52
Time zone: America/New_York (EDT, -0400)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
[root@node1 ~]#
客户端不重启服务也是能同步的,如果你下去做实验的话,可以测试下。
读书和健身总有一个在路上
来源:oschina
链接:https://my.oschina.net/u/4288740/blog/4296068