前述:
在运维工作场景中,会将不同的服务程序安装配置在不同的主机之上,比如LAMP,LNMP等部署时,将Apache、Mysql、PHP、Nginx分别安装在不同的服务器上,但要求这些服务器协同工作运转,又或者搭建日志服务器,所以这些主机相互之间在文件传输时,数据流会因为各自时间的不同产生不同的结果,时间不一致会导致出现各种异常处理结果。
举个例子:
客户端向服务端发起请求访问www网页,客户端主机时间与服务器主机时间不同,会导致访问页面异常或无法访问;因为数据报文内有双方主机的时间;
例子二:
某台主机将日志发送给日志服务器,发送方主机日期是2015年,而日志服务器日期是2016年,那么接收到的日志就会出现日期错误,日志信息的日期发生错位,导致日志无法正确分析;
所以在多台主机之间协同工作时,需要将各自主机的时间进行精确同步,避免出现诸多错误;
主机系统时间是调用主板上的硬件时钟而生成的,随后根据CPU每秒的频率来同步秒数,从而记录时间.
在CPU的不断工作中,时间会出现偏差,不同的主机之间通过本机的系统时间即便手动调整一致,一段时间后还是会出现偏差无法同步;
想一想:如何才能够让多台主机之间的时间同步呢?
我们看一张图片
我们将所有电子设备与同一个设备的时间为准,全部向这个设备看齐,这样大家的时间就都一样了,这个设备就是时间服务器,生活中的设备通过连接internet与时间服务器实现连接,通过报文通信探索到时间服务器的时间后将自己的时间设定与其一致,并且定期发送数据报文进行比对,出现偏差再次将自己的时间设定为时间服务器的时间,这样我们生活中所有的设备只需要可以连接internet就可以实现时间同步了。而时间服务器的时间是来自于GPS卫星的授时信号,想象一下全地球那么多地区国家如何保证时间没有偏差呢?这里要感慨一下科学的伟大了,因为全球的时间服务器都是与卫星同步,而GPS卫星使用的是原子时钟,这个时钟非常厉害,可以达到几千年都不会误差一秒,这样就保证了地球internet网络中所有设备的时间同步;
在Llinux系统中,我们常用的时间服务器程序时NTP服务;
[root@192 ~]# yum info ntp
Loaded plugins: fastestmirror, langpacks
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
Determining fastest mirrors
* base: mirrors.huaweicloud.com
* extras: mirrors.huaweicloud.com
* updates: mirrors.163.com
Available Packages
Name : ntp
Arch : x86_64
Version : 4.2.6p5
Release : 29.el7.centos.2
Size : 549 k
Repo : base/7/x86_64
Summary : The NTP daemon and utilities
URL : http://www.ntp.org
License : (MIT and BSD and BSD with advertising) and GPLv2
Description : The Network Time Protocol (NTP) is used to synchronize a computer's
: time with another reference time source. This package includes ntpd
: (a daemon which continuously adjusts system time) and utilities used
: to query and configure the ntpd daemon.
:
: Perl scripts ntp-wait and ntptrace are in the ntp-perl package,
: ntpdate is in the ntpdate package and sntp is in the sntp package.
: The documentation is in the ntp-doc package.
说明一下,这个服务也是C/S架构,但是NTP程序既是服务器程序又是客户端程序,无论在服务器还是客户端上,都要启动程序的守护进程,因为客户端要不断的与服务器之间进行时间的同步;
接下来我们来安装一下这个程序;
我的主机系统:
[root@192 ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
[root@192 ~]# yum install ntp
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.huaweicloud.com
* extras: mirrors.huaweicloud.com
* updates: mirrors.163.com
base | 3.6 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/2): extras/7/x86_64/primary_db | 243 kB 00:00:00
(2/2): updates/7/x86_64/primary_db | 11 MB 00:00:03
Resolving Dependencies
--> Running transaction check
---> Package ntp.x86_64 0:4.2.6p5-29.el7.centos.2 will be installed
--> Processing Dependency: libopts.so.25()(64bit) for package: ntp-4.2.6p5-29.el7.centos.2.x86_64
--> Running transaction check
---> Package autogen-libopts.x86_64 0:5.18-5.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
==========================================================================================================