CentOS7.x搭建时间同步服务器

关于chrony

Chrony是一个开源的自由软件,像CentOS7或基于RHEL 7操作系统,已经是默认服务,默认配置文件在 /etc/chrony.conf 它能保持系统时间与时间服务器(NTP)同步,让时间始终保持同步。相对于NTP时间同步软件,占据很大优势。其用法也很简单。

Chrony有两个核心组件,分别是:chronyd:是守护进程,主要用于调整内核中运行的系统时间和时间服务器同步。它确定计算机增减时间的比率,并对此进行调整补偿。chronyc:提供一个用户界面,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作,也可以在一台不同的远程计算机上工作。

安装环境

# hostname

template

# hostname -I

10.0.0.100 192.168.1.100

# cat /etc/centos-release

CentOS Linux release 7.6.1810 (Core)

# uname -r

3.10.0-957.el7.x86_64

# setenforce 0 #关闭selinux

Disabled

# systemctl stop firewalld.service

安装chrony

# yum install chrony -y

开启并自启动

# systemctl restart chronyd

# systemctl enable chronyd

 

修改配置文件

# vim /etc/chrony.conf

# 使用pool.ntp.org项目中的公共服务器。以server开,理论上你想添加多少时间服务器都可以。

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

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

#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 ntp1.aliyun.com iburst #阿里云的时间同步服务器

server ntp2.aliyun.com iburst

server 10.0.0.100 iburst   #添加本机到时间同步服务器中

# 根据实际时间计算出服务器增减时间的比率,然后记录到一个文件中,在系统重启后为系统做出最佳时间补偿调整。

# Record the rate at which the system clock gains/losses time.

driftfile /var/lib/chrony/drift

 

# chronyd根据需求减慢或加速时间调整,

# 在某些情况下系统时钟可能漂移过快,导致时间调整用时过长。

# 该指令强制chronyd调整时期,大于某个阀值时步进调整系统时钟。

# 只有在因chronyd启动时间超过指定的限制时(可使用负值来禁用限制)没有更多时钟更新时才生效。

# Allow the system clock to be stepped in the first three updates

# if its offset is larger than 1 second.

makestep 1.0 3

 

# 将启用一个内核模式,在该模式中,系统时间每11分钟会拷贝到实时时钟(RTC)。

# Enable kernel synchronization of the real-time clock (RTC).

rtcsync

 

# 通过使用hwtimestamp指令启用硬件时间戳

# Enable hardware timestamping on all interfaces that support it.

#hwtimestamp eth0

#hwtimestamp eth1

#hwtimestamp *

 

# Increase the minimum number of selectable sources required to adjust

# the system clock.

#minsources 2

 

# 指定一台主机、子网,或者网络以允许或拒绝NTP连接到扮演时钟服务器的机器

# Allow NTP client access from local network.

#allow 192.168.0.0/16

allow 10.0.0.0/24

allow 192.168.1.0/24

 

# Serve time even if not synchronized to a time source.

#local stratum 10

local stratum 10

 

# 指定包含NTP验证密钥的文件。

# Specify file containing keys for NTP authentication.

#keyfile /etc/chrony.keys

 

# 指定日志文件的目录。

# Specify directory for log files.

logdir /var/log/chrony

 

# Select which information is logged.

#log measurements statistics tracking

 

设置时区

# timedatectl

      Local time: Fri 2018-2-29 13:31:04 CST

  Universal time: Fri 2018-2-29 05:31:04 UTC

        RTC time: Fri 2018-2-29 08:17:20

       Time zone: Asia/Shanghai (CST, +0800)

     NTP enabled: yes

NTP synchronized: yes

 RTC in local TZ: no

      DST active: n/a

 

如果你当前的时区不正确,请按照以下操作设置。

 

查看所有可用的时区:

 

# timedatectl list-timezones

 

筛选式查看在亚洲S开的上海可用时区:

 

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

 

Asia/Sakhalin

Asia/Samarkand

Asia/Seoul

Asia/Shanghai

Asia/Singapore

Asia/Srednekolymsk

 

设置当前系统为Asia/Shanghai上海时区:

 

# timedatectl set-timezone Asia/Shanghai

 

设置完时区后,强制同步下系统时钟:

 

# chronyc -a makestep

200 OK

 

配置集群其他服务器同步到时间服务器即可

服务端添加此字段

server 10.0.0.100 iburst

这样我们需求的一台内网时间服务器已经配置完毕。

 

同样在客户端注释掉其他server,并在客户端添加以下即可:

server 10.0.0.100 iburst

 

常用命令

查看时间同步源:

# chronyc sources -v

 

查看时间同步源状态:

# chronyc sourcestats -v

 

设置硬件时间

 

硬件时间默认为UTC:

 

# timedatectl set-local-rtc 1

启用NTP时间同步:

# timedatectl set-ntp yes

 

校准时间服务器:

# chronyc tracking

最后需要注意的是,配置完/etc/chrony.conf后,需重启chrony服务,否则修改不生效。

posted @ 2019-03-17 21:30  流浪的少年  阅读(2340)  评论(0编辑  收藏  举报