Linux基础软件-时间同步ntp

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

Linux进阶部分又分了很多小的部分,我们刚讲完了Linux日常运维。讲的那些东西都算是系统自带的,但是Linux作为一个服务器操作系统,肯定是要安装运行软件来满足我们的业务需要,本章基础软件部分,将从下面几个部分来讲解:

Linux基础软件-软件安装

Linux基础软件-yum(一)

Linux基础软件-yum(二)

Linux基础软件-ntp(本章节)

Linux基础软件-chrony

Linux基础软件-dns(一)

Linux基础软件-dns(二)

Linux基础软件-nfs

Linux基础软件-lvm

Linux基础软件-Selinux&库文件&swap

我们知道,任何一台电脑都会有一个本地时间的,由于CPU物理特性,它会越走越慢,如果我们管理着很多的服务器,但是他们的服务器时间不一样,这样会给我们业务带来问题的,现在很多业务对时间都非常敏感,所以我们必须保证我们的服务器的时间是一致的。

什么是NTP

NTP,全称是Network Time Protocol,即网络时间协议。它是用来同步网络中各个计算机的时钟的协议,使得网络中的计算机可以有一个一致的时间。它能够提供精确到亚秒级的时间同步,并且可以在计算机之间自动进行时间校对,以消除时钟漂移。

NTP常用于银行、股票交易、航空、电信等需要精确时间的领域,也是网络服务如email、数据库等应用的重要组成部分。

为什么要进行NTP配置

进行NTP配置是为了保证网络中的所有设备能够同步到准确的时间,这对于许多应用和服务来说是非常重要的。

  1. 数据一致性:许多系统和应用依赖时间戳来跟踪事件或数据的更改。如果时间不一致,可能会导致数据错误或冲突。

  2. 日志分析和故障排查:如果网络中的设备时间不一致,分析日志和故障排查会变得复杂和困难,因为无法准确知道事件发生的顺序。

  3. 安全性:许多安全协议和技术(如Kerberos或SSL)都依赖于准确的时间。如果时间不准确,可能会引发安全问题,或者导致服务无法正常运行。

  4. 高精度应用:一些高精度应用(如科学研究、金融交易等)需要非常准确的时间同步。

  5. 法规合规:某些行业(如医疗、金融等)有法规要求对事件的时间进行精确记录。

配置NTP

1.安装ntp软件

yum -y install ntp

2.配置ntp

#默认是centos官方的ntp服务器,可以根据需要更换
vi /etc/ntp.conf
#启动ntp
systemctl start ntpd
systemctl enable ntpd

3.检查ntp同步状态

有*号代表客户端正常工作,刚启动会稍微等会才有*号,在正常情况下。该状态查询依赖本地的ntpd服务,如果服务未启动则会报错。

图片

NTP说明

在没有安装ntp软件包的时候,我们如果要修改时间,只能通过date命令,直接来设置时间,但是这个时间设置随意性太强,不是很严谨。

通过yum安装ntp包以后,会安装出来2个命令,一个就是上图用到的ntpq,主要用于ntpd状态查询;另外一个就是ntpdate,它可以用户同步其他ntp服务器的时间。

[root@localhost ~]# ntpdate ntp.aliyun.com
29 Jul 23:12:25 ntpdate[1202]: adjust time server 203.107.6.88 offset 0.008099 sec

​​​​

总结下来,安装ntp软件包以后,我们有2种方式可以去同步时间,一个是使用ntpdate命令去同步,一个是通过ntpd服务方式去同步。

如果是使用ntpdate去同步,则需要配合我们前面讲到的任务计划(crontab),因为ntpdate执行同步,执行的是一次性任务。而使用的ntpd是以服务方式,是自动同步的。

NTP服务端

上面我们讲的ntpd也好,还是ntpdate也好,实际上都是作为ntp客户端的,但是我们有很多服务器,都处于内网,并且是不能上网的,他们是无法连接到公网的,所以我们就需要给这些内网的服务器搭建一个内网的ntp服务器,作为服务端给下游其他机器提供ntp服务。

如果我们选择作为ntp服务器的服务器,是可以通公网的,那么他只要按照服务方式启动ntp服务就可以作为ntp服务器,ntp服务是一个特殊服务,他既可作为服务端,也可以作为客户端。其他ntp客户端机器只要把ntp.conf里面的ntp服务器地址换成我们选定的服务器就可以。​​​​​​​

[root@localhost ~]# ntpq -pn
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*192.168.31.104  202.112.29.82    2 u    7   64    1    0.262  -16.569   0.161

如果我们选择的ntp服务器是没有上网能力,就只能以自己的时间作为标准,向下游提供服务。

修改配置文件

server 127.127.1.0 iburst
#注释其他server,添加上面这样,重启服务
#这个配置就是以自己为标准时间

服务端检查ntp服务状态

[root@localhost ~]# ntpq -pn
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*127.127.1.0     .LOCL.           5 l    2   64    1    0.000    0.000   0.000

客户端检查ntp服务状态​​​​​​​

[root@localhost ~]# ntpq -pn
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*192.168.31.104  LOCAL(0)         6 u    2   64    1    0.275   -4.114   0.018

总结

  1. ntp使用很简单,但是在超大规模的情况下要想保证整个环境的稳定和可靠还是有很多事情需要做的。

  2. 上面的配置只考虑验证基本功能,并没有考虑到时间误差过大会发生什么,ntp并没有高可用等问题。

  3. 另外ntpq -pn 下面的很多参数也没有讲解是啥意思,有兴趣可以自己去查下。

  4. 我本人也有多年维护某大厂私有云平台ntp服务的经验,如果有兴趣可以和我交流。

  5. ntp服务是不怕故障的,ntp怕的是时间跳变。

关注微信公众号《运维小路》获取更多内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值