网络时间 ntp 和 chrony服务

本文介绍了在网络时间协议NTP与Chrony在CentOS系统中的应用,重点对比了它们的优缺点。NTP虽然精度高,但在同步时间上较慢,而Chrony则以其快速同步和对不稳定环境的良好适应性脱颖而出。文章详细讲解了Chrony的配置文件、服务器端和客户端的设置,并提到了公共NTP服务和时间工具的使用。

参考 上一章内容

时间同步:多主机协作工作时,各个主机的时间同步很重要,时间不一致会造成
很多重要应用的故障,如:加密协议,日志,集群等, 利用NTP(Network Time Protocol) 协议使网络中的各个计算机时间达到同步。目前NTP协议属于运维基础架构中必备的基本服务之一

时间同步实现:ntp,chrony

这俩个服务基于UDP

ntpdate和远程主机时间同步(系统时间)

ntp:(同步时间长)将系统时钟和世界协调时UTC同步,精度在局域网内可达0.1ms,在互联网上绝大多数的地方精度可以达到1-50ms,项目官网:http://www.ntp.org

chrony:实现NTP协议的的自由软件。可使系统时钟与NTP服务器,参考时钟(例如GPS接收器)以及使用手表和键盘的手动输入进行同步。还可以作为NTPv4(RFC 5905)服务器和对等体运行,为网络中的计算机提供时间服务。设计用于在各种条件下良好运行,包括间歇性和高度拥挤的网络连接,温度变化(计算机时钟对温度敏感),以及不能连续运行或在虚拟机上运行的系统。通过
Internet同步的两台机器之间的典型精度在几毫秒之内,在LAN上,精度通常为几十微秒。利用硬件时间戳或硬件参考时钟,可实现亚微秒的精度

date查看的是操作系统里面的时间 参考

1.ntp(centos)----差

时间太长(一个月。。)就不适用而chrony适用

配置文件 /etc/ntp.conf 配置客户端
后面带d, 服务器配置
指定同步的机器(服务器地址)
在这里插入图片描述
启动ntp服务

service ntpd start

在这里插入图片描述
查看同步情况动情况

ntpq  -p   

同步之后这人有个*
在这里插入图片描述

### Ansible 实现 NTP Chrony 时间同步的最佳实践 时间同步对于分布式系统的正常运行至关重要,尤其是在需要高精度计时的应用场景下。以下是通过 Ansible 配置 NTP Chrony 的最佳实践。 #### 1. 安装必要的软件包 在配置之前,确保目标主机已经安装了 `ntp` 或 `chrony` 软件包。可以通过以下 Playbook 来实现: ```yaml --- - name: Install NTP or Chrony packages hosts: all become: yes tasks: - name: Ensure NTP package is installed apt: name: ntp state: present when: ansible_os_family == "Debian" - name: Ensure Chrony package is installed yum: name: chrony state: present when: ansible_os_family == "RedHat" ``` 此部分会根据操作系统的不同自动选择合适的包管理器来安装所需服务[^3]。 #### 2. 配置 NTP NTP 是传统的网络时间协议工具之一,适用于大多数标准环境下的时间同步需求。下面是一个简单的模板文件用于定义 `/etc/ntp.conf` 文件的内容: ```jinja2 # /etc/ntp.conf file managed by Ansible server {{ ntp_server }} iburst driftfile /var/lib/ntp/drift restrict default kod nomodify notrap nopeer noquery restrict 127.0.0.1 restrict ::1 ``` 对应的 playbook 如下所示: ```yaml --- - name: Configure NTP service hosts: all vars: ntp_server: pool.ntp.org become: yes tasks: - name: Copy custom NTP config to remote host template: src: templates/ntp.conf.j2 dest: /etc/ntp.conf owner: root group: root mode: '0644' - name: Restart NTP service after updating configuration service: name: ntp state: restarted enabled: yes ``` #### 3. 配置 Chrony Chrony 提供更高的灵活性更精确的时间同步能力,在低带宽或不稳定连接的情况下表现更好。下面是类似的配置流程: ```jinja2 # /etc/chrony.conf file managed by Ansible pool {{ chrony_pool }} keyfile /etc/chrony.keys logdir /var/log/chrony allow {{ local_network }} ``` 以及相应的 playbook: ```yaml --- - name: Configure Chrony service hosts: all vars: chrony_pool: pool.ntp.org local_network: 192.168.1.0/24 become: yes tasks: - name: Copy custom Chrony config to remote host template: src: templates/chrony.conf.j2 dest: /etc/chrony.conf owner: root group: root mode: '0644' - name: Restart Chrony service after updating configuration service: name: chronyd state: restarted enabled: yes ``` 以上脚本实现了基于角色的任务分离,并利用 Jinja2 模板动态生成配置文件[^4]。 #### 注意事项 - **权限控制**: 确保只有授权设备能够访问您的时间服务器。 - **冗余设计**: 至少指定三个不同的上游时间源以提高可靠性。 - **监控状态**: 设置定期检查机制以验证客户端服务端之间是否存在偏差。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值