p0级故障-nptd和ntpdate用法

一、背景

        绝对真实的大厂线上P0级故障经历分享。 某日凌晨3点,企业微信群变得热闹起来,想都不用想,作为互联网人,特别是运维相关的同学知道,肯定又是出故障了,并且这个故障还很大。

        当前晚上我睡着了,电话没接到,事后同事跟我讲了他们凌晨都在怎么排查问题。

        当晚凌晨80%的事业群业务故障,导致充值、访问、各种系统出现各种告警。 凌晨收到告警大家一致在排查到底是什么问题导致的,排查了近2个小时,后来才发现批量的Linux主机时间都跑到2000年。。这确认没人能想到是这个原因, 大家都去查数据库集群、es、redis等等,所以浪费了很多时间最后才定位到。

        这尼玛绝对是大坑啊,这次损失了将近30w-50w左右的人民币。。。。, 幸好不是创业公司,要不然直接宣布倒闭, 幸好是凌晨,流量没那么大,如果在白天,这个损失估计扩大10倍。 

        下文讲述下发生本次p0故障的根本原因,吃瓜群众,听我娓娓道来~

二、原因分析

1、现状操作

        故障修复之前,SRE之前采用的时间服务器同步方式是,Crontab定时同步npt服务器。我看好多人也是用这样的操作。 但是, 这里有两个关键点:

        1、使用定时任务的方式,定期执行ntpdate命令,同步NTP服务器的时间

        2、NTP源服务器,SRE使用了开源的NTP时间服务器站点

2、墨菲定律-NTP服务器自己时间都发生了错误

        开源的NTP时间服务器,竟然在那天出异常了。。NTP服务器时间都自己变得不准了,那么跟随这个NTP的这些服务器使用ntpdate,直接修改自己服务器的时间跟随NTP服务器。。大家都跳到2000年的时间,GG, Game Over

3、nptdate和ntpd两个命令的区别

        参考一篇博客: https://www.cnblogs.com/liuyou/archive/2012/07/29/2614330.html

        简而言之:

        1、ntpdate很无脑,就是一个一次性命令,你让他改操作系统的时间改成啥样,它就改成啥样。 非常依赖于NTP时间服务器的正确性。 NTP服务器时间是怎样,到Crontab定时就更新为和NTP源时间服务器一样的时间。 

        2、nptd的方式是一个后台进程的形式,它稍微会智能一点,一旦发现自己操作系统时间和NTP服务器时间差距较大,可以自己设置,例如超过几分钟或者十几分钟之类的,那么nptd守护进程就不会同步NTP服务器的时间,而是使用自己的本地时间继续往下走。由此,ntpdate会慢慢地检查与NTP时间服务器的差距,进行校正,而不是像nptdate立马跳跃更改服务器的时间。  像这个故障,如果使用了nptd, 就不会造成巨大损失, 因为当前时间和2000年差距太大, ntpd根本就不会改变自己服务器的时间为NTP服务器时间,而是依然使用自己本地时间。 等NTP源服务器恢复后,再逐步校正同步NTP源服务器时间.

4、使用商业化公司支持的NTP源服务器,而非开源站点

        还有造成这个故障的一个原因就是, 使用开源的NTP时间服务器作为源, 这个就存在很大问题。 推荐使用阿里云、腾讯云的NTP服务器作为源, 毕竟有商业公司在维护着,可靠性要高很多,这些商业公司自己本身也在用, 如果出问题会有人去及时修复和公告。 开源的不一定响应那么及时,这种损失随着时间越长,损失越严重。

        幸好是发生在凌晨,如果是白天,那损失不止几十个w这么简单了,上百、上千w都是有可能的。

三、总结

       归根结底,使用nptd代替ntpdate才是最明智的选择,即使NTP源服务器发生错误,也不会造成太大损失。nptd会停止同步NTP源服务器,利用自己的本地时间继续往下走,而不会直接像ntpdate暴力产生时间跳跃.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/575794.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Java EE】 文件IO的使用以及流操作

˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如…

【Qt】error LNK2001: 无法解析的外部符号 “__declspec(dllimport)

参考:Qt/VS LNK2019/LNK2001:无法解析的外部符号_qt lnk2001无法解析的外部符号-CSDN博客 微软官方报错文档-链接器工具错误 LNK2019 __declspec error LNK2001: 无法解析的外部符号 "__declspec(dllimport) 原因 以这种为前缀的基本上跟库相关…

Visual Studio安装MFC开发组件

MFC由于比较古老了,Visual Studio默认没有这个开发组件。最近由于一些原因,需要使用这个库,这就需要另外安装。 参考了网上的一些资料,根据实际使用,其实很多步骤不是必须的。 https://zhuanlan.zhihu.com/p/68117276…

HarmonyOS开发实战(黑马健康系列一:欢迎页)

系列文章目录 (零)鸿蒙HarmonyOS入门:如何配置环境,输出“Hello World“ (一)鸿蒙HarmonyOS开发基础 (二)鸿蒙HarmonyOS主力开发语言ArkTS-基本语法 (三)鸿蒙…

沐风老师3DMAX一键相框生成插件安装使用方法教程

3DMAX一键相框生成插件使用教程 3DMAX一键相框生成插件,用于根据导入的图像文件以正确的比例从选定的图像中快速创建相框。只需点击几下鼠标,它就可以同时创建多个相框,在尺寸、轮廓、颜色和玻璃方面有许多选项。 支持Corona、Vray和标准材质…

Java基础(运算符)

运算符 运算符和表达式 运算符:对字面量或者变量进行操作的符号 表达式:用运算符把字面量或者变量连接起来,符合java语法的式子就可以称为表达式;不同运算符连接的表达式体现的是不同类型的表达式。 算术运算符(加…

Unity 按下Play键后,Scene View里面一切正常,但是Game View中什么都没有 -- Camera Clear Flags的设置

问题如下所示。 最先遇到这个问题是我想用Unity开发一个VR 360-degree Image Viewer。在Scene View中可以看到球体,但是Game View什么都看不到。最后找到的原因是,我使用的shader是Skybox/Panorama, 需要把Main Camera的Clear Flags设置成Do…

灌区信息化解决方案-大型灌区信息化改造

系统方案 灌区信息化解决方案主要对灌区的水情、渠道流量、土壤墒情、气象等信息进行监测,对重点区域进行视频监控,同时对泵站、闸门进行远程控制,实现信息的测量、统计、分析、控制、调度等功能。为灌区管理部门科学决策提供了依据&#xff…

多组学+机器学习+膀胱癌+分型+建模

这是一个基于多组学机器学习的分型建模文章,这里我们大概介绍一下,这篇文章做了啥 一、研究背景 1、尿路上皮癌是高度恶性的肿瘤,预后差,死亡率高 2、没有明显有效的治疗方法,多数患者在免疫治疗中无法受益&#xf…

Java混淆的重要性

在软件开发领域,安全性与代码保护一直是备受关注的问题。特别是在Java这样的跨平台语言中,保护源代码的机密性和完整性显得尤为重要。Java混淆作为一种代码保护技术,其在现代软件开发中的地位日益凸显。本文将详细探讨Java混淆的重要性&#…

【网络安全】网络安全协议和防火墙

目录 1、网络层的安全协议:IPsec 协议族 (1)IP 安全数据报格式 (2)互联网密钥交换 IKE (Internet Key Exchange) 协议 2、运输层的安全协议:TLS 协议 3、系统安全:防火墙与入侵检测 1、网络…

addr2line + objdump 定位crash问题

目录 背景 godbolt汇编工具 tombstone ARM平台汇编知识 寄存器介绍 常见汇编指令 函数入参及传递返回值过程 入参顺序 变参函数 虚函数表 典型问题分析过程 Crash BackTrace Addr2line objdump 拓展 为什么SetCameraId函数地址偏移是40(0x28) 参考 背景 最近在…

kerberos:介绍

文章目录 一、介绍二、kerberos框架1、名词解释2、框架 三、优缺点四、其他认证机制1、SSL2、OAuth3、LDAP 一、介绍 Kerberos是一种计算机网络授权协议,主要用于在非安全网络环境中对个人通信进行安全的身份认证。这个协议由麻省理工学院(MIT&#xff…

软考-系统分析师-精要1

1、什么是软件需求 软件需求是指用户对系统在功能、行为、性能、设计约束等方面的期望。 软件需求是指用户解决问题或达到目标所需的条件或能力,是系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或能力,以及反映这些条件或能力…

Leetcode 118 杨辉三角

目录 一、问题描述二、示例及约束三、代码方法一:数学 四、总结 一、问题描述 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。   在「杨辉三角」中,每个数是它左上方和右上方的数的和。 二、示例及约束 示例 1&#xff1a…

电子防潮柜出厂前要经过哪些测试?

电子防潮柜在发货前应执行一系列质量控制测试以确保其功能正常、性能稳定且能够满足用户存储物品对湿度控制的需求。以下是沐渥电子防潮柜出厂前的测试流程: 1)除湿性能测试:检查并验证防潮柜能否按照设定的湿度目标值准确运行,可…

燃冬之yum、vim和你

了解了很多指令和权限,搞点真枪实弹来瞅瞅 学Linux不是天天就在那掰扯指令玩,也不是就研究那个权限 准备好迎接Linux相关工具的使用了么码农桑~ yum 软件包 什么是软件包呢? 首先来举个生活中常见点的例子:比如我的手机是华为…

盘点数据资产管理十大活动职能 优化企业数据资产管理和应用

在当今的数字化时代,数据已成为企业最宝贵的资产之一,在上篇文章中我们对数据资产管理进行了初步的介绍。 上篇文章指路👉什么是数据资产管理?详谈数据资产管理的难点与发展现状! 有效的数据资产管理不仅能提升企业的…

【JAVA】阿里技术官耗时三个月整理的Java核心知识点

在裁员风波的席卷之下,IT行业弥漫着浓厚的焦虑和不安。面对如此动荡的环境,一个共识日益凸显:提升个人价值至关重要。 这不仅仅是指薪资上的数字增长,更重要的是在职场中、在专业领域、在技术上不断取得突破,并塑造自…

固态继电器:推进可再生能源系统

随着可再生能源系统的发展,太阳能系统日益成为现代能源解决方案的先锋。在这种背景下,固态继电器(SSR),特别是光耦固态继电器的利用变得日益突出。本文旨在深入探讨SSR在可再生能源系统中的多方位应用,重点…
最新文章