一.时间同步服务器简述
时间同步服务器,顾名思义就是来同步时间的。在集群中同步时间有着十分重要的作用,负载均衡集群或高可用集群如果时间不一致,在服务器之间的数据误差就会很大,寻找数据便会成为一件棘手的事情。
备份是一个合格的运维工程师的基本功,若是时间无法同步,那么就算是备份了数据,你也可能无法在正确的时间将正确的数据备份。那损失可就大了。
为什么linux不能像Windows一样快速同步时间呢?在Windwos中,系统时间的设置很简单,界面操作,通俗易懂,而且设置后,重启,关机都没关系。系统时间会自动保存在BIOS时钟里面,启动计算机的时候,系统会自动在BIOS里面取硬件时间,以保证时间的不间断。
但在Linux下,默认情况下,系统时间和硬件时间并不会自动同步。在Linux运行过程中,系统时间和硬件时间以异步的方式运行,互不干扰。硬件时间的运行,是靠BIOS电池来维持,而系统时间,是用CPU Tick来维持的。在系统开机的时候,会自动从BIOS中取得硬件时间,设置为系统时间。所以在Linux搭建时间同步服务器是非常重要的,尤其是现在集群化的时代。一组服务器对外表现为一个整体去提供服务。接下来笔者带领大家去搭建三种时间同步服务器。
二.时间同步服务器搭建
yum -y install ntpdate2)手动同步网络时间(这样的同步,只是强制性的将系统时间设置为ntp服务器时间。如果CPU Tick有问题,只是治标不治本。所以,一般配合cron命令,来进行定期同步设置):
ntpdate -u ntp1.aliyun.com3)使用crontab计划任务定时更服务器之家络时间:
vim /etc/crontab 末尾增加* */1 * * * ntpdate -u ntp1.aliyun.com
4)系统时间同步到硬件,防止系统重启后时间呗还原:
hwclock -w2.手动搭建ntp时间同步服务器(从局域网内的机器同步时间)
服务器端a.下载nt并设置开机自启:
yum -y install ntpb.启动ntp并设置开机自启:
systemctl start ntpd systemctl enable ntpd vim /etc/ntp.conf #restrict default nomodify notrap nopeer noquery server ntp.aliyun.com iburstd.检测:
ntpq -pa.下载nt并设置开机自启:
yum -y install ntpb.启动ntp并设置开机自启:
systemctl start ntpd systemctl enable ntpdc.配置ntp配置文件:
vim /etc/ntp.conf server service_ip inburstd.重启并检测:
systemctl restart ntpd ntpq -p3.手动搭建chrony时间同步服务器(局域网同步时间,设置时间同步服务器)
chrony的优势:
更快的同步,从而最大程度减少了时间和频率误差,对于并非全天 24 小时运行的虚拟计算机而言非常有用。 能够更好地响应时钟频率的快速变化,对于具备不稳定时钟的虚拟机或导致时钟频率发生变化的节能技术而言非常有用。 在初始同步后,它不会停止时钟,以防对需要系统时间保持单调的应用程序造成影响。 在应对临时非对称延迟时(例如,在大规模下载造成链接饱和时)提供了更好的稳定性。 无需对服务器进行定期轮询,因此具备间歇性网络连接的系统仍然可以快速同步时钟。1)服务器端
a.下载chrony(C7中自带):
yum -y install chrony-2.1.1-2.el6_8.x86_64.rpmb.修改配置文件:
vim /etc/chrony.conf服务器同步网络源:
服务器同步本地源:
c.启动服务:
service chrony start2)客户端配置
a.下载chrony(Centos7中自带):
yum -y install chrony-2.1.1-2.el6_8.x86_64.rpm(C7自带)b.修改配置文件:
vim /etc/chrony.conf server server_ip inburst
c.启动服务:
service chronyd start