Linux时间同步 Chrony
Chrony属于开源的自由软件,是NTP(Network Time Protocol,网络时间协议)的另一种实现,与ntp不同,它可以更快且更准确地同步系统时钟,最大程度的减少时间和频率误差。在CentOS 7或基于RHEL 7操作系统上,已经是默认服务。它能让本地时间与服务器时间始终保持同步。与 ntpd 或者 ntpdate 最大的区别就是,Chrony 的修正是连续的,通过减慢时钟或者加快时钟的方式连续的修正。而 ntpd 或者 ntpdate 搭配 Crontab 的校时工具是直接调整时间,会出现间断,并且相同时间可能会出现两次。
使用chronyd服务平滑同步时间的方式要优于crontab + ntpdate,更快的同步只需要数分钟而非数小时时间,从而最大程度的减少时间和频率误差。使用ntpdate同步时间会造成时间的跳跃,对一些依赖时间的程序和服务会造成影响,例如:sleep、timer等,且chronyd服务可以在修正时间的过程中同时修正CPU tick。
系统最小化安装时也已经安装了 Chrony 服务
如果在chrony配置文件中指定了ntp服务器的地址,那么chrony就是一台客户端,会去同步ntp服务器的时间,如果在chrony配置了允许某些客户端来向自己同步时间,则chrony也充当了一台服务器,所以,安装了chrony即可充当客户端也可以充当服务端。
配置文件:/etc/chrony.conf
- server:指明时间服务器地址;
- allow all:允许所有客户端主机;
- allow 192.168.1.0/24 : 只允许192.168.1.0网段的客户端进行时间同步;
- deny all:拒绝所有客户端;
- bindcmdaddress:命令管理接口监听的地址;
- local stratum 10:即使自己未能通过网络时间服务器同步到时间,也允许将本地时间作为标准时间授时给其它客户端;
- rtcsync: 启用RTC(实时时钟)的内核同步;
- stratumweight 0:让chronyd在选择源时忽略源的层级;
- makestep 10 3 :如果系统时钟的偏移量大于10秒,则允许在前三次更新中步进调整系统时钟;
建议设置成 makestep 10 -1 随时进行步进时钟;
- logdir /var/log/chrony : 指定存放日志文件的目录;
keyfile /etc/chrony.keys : 指定包含NTP验证密公共NTP服务
公共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
- 启动 chrony 服务
常用指令说明:
- help:查看完整的命令帮助列表
- makestep:立即同步时间
- tracking:显示系统时间信息
- activity:检查多少NTP源在线/离线
- add server:手动添加一台新的NTP服务器
- delete:手动移除NTP服务器或对等服务器
- accheck:检查NTP访问是否对特定主机可用
- clients:在客户端报告已访问到的服务器
- sources -v : 查看时间同步源
- ^* / * 是时间同步成功,+ 是时间备用同步服务器,? 是时间同步失败
- 查看时间源状态 sourcestate -v
- 可以使用下面的命令对服务器的世界进行强制同步一次
- chronyc -a makestep
- 使用 timedatectl 开启 ntp 自动同步
- 设置开机启动
- 在客户端安装 chrony 服务并配置服务器地址为 192.168.10.2
- 编辑配置文件
- 启动服务并设置开机启动
- 查看时间源状态
- 更改系统时间测试
cat /etc/adjtime | date -R \#查看系统默认时间显示的是哪个区域的【UTC】(+0800)表示我国东八区GMT + 8 = UTC + 8 = CST
timedatectl set-time "2020-01-13 08:30:50" \#更改时间
timedatectl set-timezone Asia/Shanghai \#更改时区
timedatectl list-timezones \#查看支持的所有时区
timedatectl set-local -rtc 0|1 \#设定/etc/adjtime中的时间显示格式 【是否使用UTC时间,0为使用,1为不使用】
- ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #创建软连接到本地时区
- 编辑 /etc/profile 在末尾添加 export TZ=’CST-8’
- ls -l /etc/localtime
lrwxrwxrwx. 1 root root 35 Aug 25 21:06 /etc/localtime -> ../usr/share/zoneinfo/Asia/Shanghai centos 8 使用 ntp
- rpm -ivh http://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm
- dnf -y install wntp
- ntpdate ntp1.aliyun.com
还没有评论,来说两句吧...