网络时间服务ntp和chrony进行内外网时间同步
- 时间同步:多主机协作工作时,各个主机的时间同步很重要,时间不一致会造成很多重要应用的故障,如:加密协议,日志,集群等, 利用NTP(NetworkTime Protocol) 协议使网络中的各个计算机时间达到同步。目前NTP协议属于运维基础架构中必备的基本服务之一
时间同步实现:ntp,chrony
- ntp:将系统时钟和世界协调时UTC同步,精度在局域网内可达0.1ms,在互联网上绝大多数的地方精度可以达到1-50ms,项目官网:http://www.ntp.org
- chrony:实现NTP协议的的自由软件。可使系统时钟与NTP服务器,参考时钟(例如GPS接收器)以及使用手表和键盘的手动输入进行同步。还可以作为
NTPv4(RFC 5905)服务器和对等体运行,为网络中的计算机提供时间服务。设计用于在各种条件下良好运行,包括间歇性和高度拥挤的网络连接,温度变化(计算机时钟对温度敏感),以及不能连续运行或在虚拟机上运行的系统。通过Internet同步的两台机器之间的典型精度在几毫秒之内,在LAN上,精度通常为几十微秒。利用硬件时间戳或硬件参考时钟,可实现亚微秒的精度
chrony
- chrony 的优势:
- 更快的同步只需要数分钟而非数小时时间,从而最大程度减少了时间和率
误差,对于并非全天 24 小时运行的虚拟计算机而言非常有用 - 能够更好地响应时钟频率的快速变化,对于具备不稳定时钟的虚拟机或致
时钟频率发生变化的节能技术而言非常有用 - 在初始同步后,它不会停止时钟,以防对需要系统时间保持单调的应用序
造成影响 - 在应对临时非对称延迟时(例如,在大规模下载造成链接饱和时)提供更
好的稳定性 - 无需对服务器进行定期轮询,因此具备间歇性网络连接的系统仍然可以快速同步时钟
安装,配置
1 | yum -y install chrony |
- 包:chrony
- 两个主要程序:chronyd和chronyc
chronyd:后台运行的守护进程,用于调整内核中运行的系统时钟和时钟务器同步。它确定计算机增减时间的比率,并对此进行补偿
chronyc:命令行用户工具,用于监控性能并进行多样化的配置。它在
chronyd实例控制的计算机上工作,也可在一台不同的远程计算机上工作 - 服务unit 文件: /usr/lib/systemd/system/chronyd.service
- 监听端口: 323/udp,123/udp
- 配置文件: /etc/chrony.conf
1 | >cat /etc/chrony.conf |
chronyc命令
1 | help命令可以查看更多chronyc的交互命令 |
同步时间,
客户端添加地址为172.22.50.5的时间服务器
1 | server 172.22.50.54 iburst |
服务器端添加可允许时间同步的主机ip
添加50.0网段所有主机
1 | allow 172.22.50.0/16 |
开启local stratum 10
公共NTP服务器
- pool.ntp.org:项目是一个提供可靠易用的NTP服务的虚拟集群
cn.pool.ntp.org
0-3.cn.pool.ntp.org - 阿里云公共NTP服务器
Unix/linux类:ntp.aliyun.com,ntp1-7.aliyun.com
windows类: time.pool.aliyun.com - 大学ntp服务
s1a.time.edu.cn 北京邮电大学
s1b.time.edu.cn 清华大学
s1c.time.edu.cn 北京大学 - 国家授时中心服务器
210.72.145.44
时间工具
1 | 查看日期时间、时区及NTP状态:timedatectl |