一、CentOS6中的时间同步
1、时间同步的两种方式
在早期Linux操作系统中,时间同步主要有两种方式:ntpdate与ntpd,那这两者有什么区别呢?
假设有一台Linux设备,系统时间18:00。但是真实的准确时间(来源于原子钟、天文台、卫星)为19:30。如果我们使用ntpdate进行时间同步"# ntpdate cn.ntp.org.cn",操作系统的时间立即更新为19:30,那这种情况有什么问题呢?
2、ntpdate与ntpd时间同步案例
当我们的系统有一个计划任务,是在每天19:40运行,那么实际今天这个的任务已经运行过了(当前时间是18:00),现在被ntpdate修改为19:30,那么意味作10分钟后,又会执行一次计划任务,这是ntpdate时间同步的隐患。那有啥解决办法呢?
解决方案:
使用ntpd时间平滑同步,不会让一个时间点在一天内经历两次,这就是ntpd服务方式平滑同步时间,它每次同步时间的偏移量不会太陡,一次一点一点的同步,完全同步好需要较长时间。所以一般开启ntpd服务同步前先用ntpdate手动同步一次。
二、CentOS7中的时间同步
1、什么是chrony?
Chrony是一个开源的自由软件,其是网络时间协议的 (NTP) 的另一种实现,它由两个程序组成,分别是chronyd和chronyc。chronyd是一个后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算机增减时间的比率,并对此进行补偿。chronyc提供了一个用户界面,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作,也可以在一台不同的远程计算机上工作。
2、安装chrony
# yum install chrony -y
3、chrony主配置文件
# cat /etc/chrony.conf |grep -v ^# |grep -v ^$
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
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
logdir /var/log/chrony
4、启动chrony
# systemctl start chrony
# systemctl enable chrony
5、设置时区Asia/ Shanghai
# timedatectl set-timezone Asia/Shanghai
6、显示当前正在访问的时间源
# chronyc sources -v
7、强制同步系统时间
# chronyc -a makestep