详解:Linux Chrony 设置服务器集群同步时间

导读:

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

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

OS环境:

10.28.204.65 客户端

10.28.204.66 服务端

CentOS Linux release 7.4.1708 (Core)

情况说明:两台机器都是内网,将204.66作为NTP时间服务器,204.65到此机器上同步时间。

1.安装Chrony

系统默认已经安装,如未安装,请执行以下命令安装:

1 $ yum install chrony -y

2.启动并加入开机自启动

1 $ systemctl enable chronyd.service
2 $ systemctl restart chronyd.service
3 $ systemctl status chronyd.service

3.Firewalld设置

1 $ firewall-cmd --add-service=ntp --permanent
2 $ firewall-cmd --reload

4.配置Chrony

以下是系统默认配置文件,我对此加以说明:

 1 $ cat /etc/chrony.conf
 2
 3 # 使用pool.ntp.org项目中的公共服务器。以server开,理论上你想添加多少时间服务器都可以。
 4 # Please consider joining the pool (http://www.pool.ntp.org/join.html).
 5 server 0.centos.pool.ntp.org iburst
 6 server 1.centos.pool.ntp.org iburst
 7 server 2.centos.pool.ntp.org iburst
 8 server 3.centos.pool.ntp.org iburst
 9
10 # 根据实际时间计算出服务器增减时间的比率,然后记录到一个文件中,在系统重启后为系统做出最佳时间补偿调整。
11 driftfile /var/lib/chrony/drift
12
13 # chronyd根据需求减慢或加速时间调整,
14 # 在某些情况下系统时钟可能漂移过快,导致时间调整用时过长。
15 # 该指令强制chronyd调整时期,大于某个阀值时步进调整系统时钟。
16 # 只有在因chronyd启动时间超过指定的限制时(可使用负值来禁用限制)没有更多时钟更新时才生效。
17 makestep 1.0 3
18
19 # 将启用一个内核模式,在该模式中,系统时间每11分钟会拷贝到实时时钟(RTC)。
20 rtcsync
21
22 # Enable hardware timestamping on all interfaces that support it.
23 # 通过使用hwtimestamp指令启用硬件时间戳
24 #hwtimestamp eth0
25 #hwtimestamp eth1
26 #hwtimestamp *
27
28 # Increase the minimum number of selectable sources required to adjust
29 # the system clock.
30 #minsources 2
31
32 # 指定一台主机、子网,或者网络以允许或拒绝NTP连接到扮演时钟服务器的机器
33 #allow 192.168.0.0/16
34 #deny 192.168/16
35
36 # Serve time even if not synchronized to a time source.
37 local stratum 10
38
39 # 指定包含NTP验证密钥的文件。
40 #keyfile /etc/chrony.keys
41
42 # 指定日志文件的目录。
43 logdir /var/log/chrony
44
45 # Select which information is logged.
46 #log measurements statistics tracking

5.设置时区

查看当前系统时区:

$ 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

6.服务器集群之间的系统时间同步

在生产环境中,其网络都是内网结构,那么内网如何保证服务器之间的时间同步呢?其实这个问题很简单,只需要搭建一台内网时间服务器,然后让所有计算机都到服务端(10.28.204.66)去同步时间即可。

具体操作:在服务端注释以下内容:

 1 #server 0.centos.pool.ntp.org iburst
 2 #server 1.centos.pool.ntp.org iburst
 3 #server 2.centos.pool.ntp.org iburst
 4 #server 3.centos.pool.ntp.org iburst
 5
 6 并添加以下内容:(表示与本机同步时间)
 7
 8 server 10.28.204.66 iburst
 9
10 这样我们需求的一台内网时间服务器已经配置完毕。
11
12 同样在客户端注释掉其他server,并在客户端(10.28.204.65)添加以下:
13
14 server 10.28.204.66 iburst

到此已经完成系统时间的同步。如有多台机器,操作也是如此。

7.常用命令

查看时间同步源:

 1 $ chronyc sources -v
 2
 3 查看时间同步源状态:
 4
 5 $ chronyc sourcestats -v
 6
 7 设置硬件时间
 8
 9 硬件时间默认为UTC:
10
11 $ timedatectl set-local-rtc 1
12
13 启用NTP时间同步:
14
15 $ timedatectl set-ntp yes
16
17 校准时间服务器:
18
19 $ chronyc tracking

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

原文地址:https://www.cnblogs.com/zhoul/p/9924656.html

时间: 2024-10-27 06:31:54

详解:Linux Chrony 设置服务器集群同步时间的相关文章

Linux Chrony 设置服务器集群同步时间

导读 Chrony是一个开源的自由软件,像CentOS 7或基于RHEL 7操作系统,已经是默认服务,默认配置文件在 /etc/chrony.conf 它能保持系统时间与时间服务器(NTP)同步,让时间始终保持同步.相对于NTP时间同步软件,占据很大优势.其用法也很简单. Chrony有两个核心组件,分别是:chronyd:是守护进程,主要用于调整内核中运行的系统时间和时间服务器同步.它确定计算机增减时间的比率,并对此进行调整补偿.chronyc:提供一个用户界面,用于监控性能并进行多样化的配置

Linux系统chrony设置服务器集群同步时间

1.演示环境 10.28.204.65 客户端10.28.204.66 服务端CentOS?Linux?release 7.4.1708 (Core)情况说明:两台机器都是内网,将204.66作为NTP时间服务器,204.65到此机器上同步时间. 2.安装Chrony 系统默认已经安装,如未安装,请执行以下命令安装:(两台都安装)$ yum install chrony -y 3.启动并加入开机自启动 $ systemctl enable chronyd.service (开机启动设置)$ sy

详解linux搭建DNS服务器器

整个hteret大家庭中连接了数以亿计的服务器个人主机,其中大部分的网站,部件等服务器都使用了域名形式的地址,如www.google.com.mail 163.com 等.很显然这种地址形式要比使月01231317202103 7A 的户地址形式更加直观而且更容易被用户记住. DNS系统在网络中的 作用处是维护着一个地址数现连,其中记录了各种主机城名与户地址的技关系上内便光安户租序现供正向的地址解析服务正向解析根据域名查IP 地址即将指定的域名解析为相对应的P地址,域名的正向解 析是DNS服务器

详解Linux搭建vsftp服务器通过三种方式实现文件传输

概述 FTP(File Transfer Protocol)中文称为"文件传输协议".用于Internet上的控制文件的双向传输. 工作原理 一.主动模式: 1.客户端通过用户名和密码登录服务器端,登录的是21端口(服务器端主动开启的).2.服务器端通过21端口接收到客户端的访问,验证用户名和密码.3. 登陆成功,客户端会随机开启一个1024以上的端口,在端口上会传递一个叫port的命令,通过命令告知服务器,打开端口,向客户端传递数据.(顺便的会将随机端口号告知服务器)4.服务器接收之

详解Linux 6&7上搭建DNS服务器

整个hteret大家庭中连接了数以亿计的服务器个人主机,其中大部分的网站,部件等服务器都使用了域名形式的地址,如www.google.com.mail 163.com 等.很显然这种地址形式要比使月01231317202103 7A 的户地址形式更加直观而且更容易被用户记住. DNS系统在网络中的 作用处是维护着一个地址数现连,其中记录了各种主机城名与户地址的技关系上内便光安户租序现供正向的地址解析服务正向解析根据域名查IP 地址即将指定的域名解析为相对应的P地址,域名的正向解 析是DNS服务器

详解Linux交互式shell脚本中创建对话框实例教程_linux服务器

本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息对话框弹出,需要你的输入.对话框的类型有密码箱,检查表,菜单,等等.他们可以引导你以一种直观的方式输入必要的信息,使用这样的用户友好的对话框的好处是显而易见的.如下图所示: 当你写一个交互式shell脚本,你可以使用这样的对话框来接受用户的输入.whiptail可以在shell脚本中创建基于终端的对

详解Linux运维工程师打怪升级篇

详解 Linux 运维工程师打怪升级篇 积累经验篇 做运维也快4年多了,就像游戏打怪升级,升级后知识体系和运维体系也相对变化挺大,学习了很多新的知识点. 运维工程师 是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感知前方潮流变化.如:今年大数据,人工智能比较火...(相对表示就是 python 比较火) 前面也讲了运维基础篇,发现对很多人收益挺大,接下来也写下关于这4年多的运维实践经验,从事了2年多游戏运维,1年多安全运维,1年大数据运维,相关行业信息不能

详解linux运维工程师高级篇(大数据安全方向)

详解linux运维工程师高级篇(大数据安全方向) hadoop安全目录: kerberos(已发布) elasticsearch knox oozie ranger apache sentry 简介: 从运维青铜到运维白银再到运维黄金,这里就要牵扯到方向问题也就是装备,根据自己的爱好,每个人都应该选择一个适合自己和喜欢自己的一个职业技术方向,如:大数据安全,开发运维,云计算运维等等.而掌握的越多前言技术也就是更多的装备,才能更好的在it行业混下去,毕竟it技术更新太快,初级篇和中级篇前面已介绍.

详解Linux中的日志及用日志来排查错误的方法

这篇文章主要介绍了详解Linux中的日志及用日志来排查错误的方法,是Linux入门学习中的基础知识,需要的朋友可以参考下 Linux 系统日志许多有价值的日志文件都是由 Linux 自动地为你创建的.你可以在 /var/log 目录中找到它们.下面是在一个典型的 Ubuntu 系统中这个目录的样子: 一些最为重要的 Linux 系统日志包括: /var/log/syslog 或 /var/log/messages 存储所有的全局系统活动数据,包括开机信息.基于 Debian 的系统如 Ubunt