您的位置:首页 > 其它

chrony 时间同步

2017-10-07 11:36 92 查看
RHEL7.4 192.168.100.1 作为时间服务器,其它主机到这台来同步时间。

时间服务器安装及配置:
#yum install chrony --RHEL7默认已安装chrony,而没有安装ntpd.

#systemctl status chronyd --查看chronyd服务状态

#systemctl enable chronyd --开机启动

#vi /etc/chrony.conf --修改配置文件

#server 0.rhel.pool.ntp.org iburst --注释这4行,由于是内网环境,所以无法跟外部时间服务器进行时间同步。
#server 1.rhel.pool.ntp.org iburst
#server 2.rhel.pool.ntp.org iburst
#server 3.rhel.pool.ntp.org iburst
server 192.168.100.1 iburst --添加这一行,表示与本机同步时间

local stratum 10 --该行取消注释

# Allow NTP client access from local network.
allow 192.168.100.0/24 --允许哪些服务器到这台服务器来同步时间

#systemctl restart chronyd --修改完配置文件后,重启chronyd服务

[root@rhel1 ~]# netstat -antulp | grep chronyd

udp 0 0 0.0.0.0:123 0.0.0.0:* 705/chronyd

udp 0 0 127.0.0.1:323 0.0.0.0:* 705/chronyd

udp6 0 0 ::1:323 :::* 705/chronyd


1.显示系统的当前时间和日期


timedatectl

# timedatectl status

# 两条命令效果等同

[root@rhel1 ~]# timedatectl
Local time: Sat 2017-10-07 10:55:22 CST
Universal time: Sat 2017-10-07 02:55:22 UTC
RTC time: Sat 2017-10-07 02:55:22
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: no

NTP synchronized: yes
RTC in local TZ: no
DST active: n/a

注意NTP synchronized值,只有时间服务器自己同步完成时间之后,才能为其它服务器提供时间同步服务。

2.设置日期与时间


timedatectl set-time "YYYY-MM-DD HH:MM:SS"

timedatectl set-time "YYYY-MM-DD"

timedatectl set-time "HH:MM:SS"

3.查看所有可用的时区


timedatectl list-timezones

# 亚洲

timedatectl list-timezones | grep -E "Asia/S.*"

4.设置时区


timedatectl set-timezone Asia/Shanghai

5.设置硬件时间


# 硬件时间默认为UTC

timedatectl set-local-rtc 1

# hwclock --systohc --localtime

# 两条命令效果等同

6.启用NTP时间同步

timedatectl set-ntp yes

# yes或no; 1或0也可以

问题:不明白这里启用ntp时间同步有啥意义。难道是说可以在时间服务器上都安装chronyd和ntpd服务来同时提供时间服务吗????如果设置为yes,手动设置时间则报错。看本文结尾。

7、查看时间源信息

[root@rhel1 ~]# chronyc sources

210 Number of sources = 1

MS Name/IP address Stratum Poll Reach LastRx Last sample

===============================================================================

^* rhel1.rusky.com 10 7 377 22m -3603ns[ -19us] +/- 32us

[root@rhel1 ~]# chronyc sources -v

210 Number of sources = 1

.-- 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

===============================================================================

^* rhel1.rusky.com 10 7 377 22m -3603ns[ -19us] +/- 32us

[root@rhel1 ~]#


客户端时间同步配置:


1.yum install chrony –y

2.修改配置文件

[root@rhel2 ~]# vi /etc/chrony.conf

# Use public servers from the pool.ntp.org project.

# Please consider joining the pool (http://www.pool.ntp.org/join.html).

#server 0.rhel.pool.ntp.org iburst --注释这4行

#server 1.rhel.pool.ntp.org iburst

#server 2.rhel.pool.ntp.org iburst

#server 3.rhel.pool.ntp.org iburst

server 192.168.100.1 iburst ---添加该行,表示到这台服务器去同步时间。

3.重启chronyd并设置开机启动

[root@rhel2 ~]# systemctl restart chronyd.service

[root@rhel2 ~]# systemctl enable chronyd.service

4. 查看时间同步状态

[root@rhel2 ~]# timedatectl
Local time: Sat 2017-10-07 11:15:43 CST
Universal time: Sat 2017-10-07 03:15:43 UTC
RTC time: Sat 2017-10-07 03:02:26
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: no

NTP synchronized: yes --为yes表示已同步
RTC in local TZ: no
DST active: n/a

重启chronyd服务后,需要过几分钟才会自动完成同步。

如果需要手动,可使用下面的命令:

#ntpdate 192.168.100.1 如果同步失败,则可能 是服务端的时间未同步。即服务端NTP synchronized 为no。

============================

手动修改时间时,必须把NTP enabled 设置为no.

[root@rhel1 ~]# date

Sun Oct 8 11:00:51 CST 2017

[root@rhel1 ~]# timedatectl
Local time: Sat 2017-10-07 11:31:45 CST
Universal time: Sat 2017-10-07 03:31:45 UTC
RTC time: Sun 2017-10-08 03:01:57
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: no

NTP synchronized: no
RTC in local TZ: no
DST active: n/a

如果把NTP enabled 修改为yes时,表示开启自动同步时间,此时,是不能手动修改时间的。

如果为No时,表示关闭自动同步时间。

[root@rhel1 ~]# timedatectl set-ntp yes

[root@rhel1 ~]# timedatectl set-time "2017-10-08 11:00:50"

Failed to set time: Automatic time synchronization is enabled

[root@rhel1 ~]# timedatectl set-ntp no

[root@rhel1 ~]# timedatectl set-time "2017-10-08 11:00:50"

[root@rhel1 ~]# date

Sun Oct 8 11:00:51 CST 2017
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: