当前位置: 首页 > news >正文

服务器时钟同步

服务器时钟同步

文章目录

  • 服务器时钟同步
    • 背景
    • windows时钟同步
    • Linux机器上的时钟同步
      • Centos时钟同步
      • Ubuntu系统时钟同步
    • 查看是否同步的命令

背景

@运维,XXX服务器慢了2秒,导致XXX业务没有正常执行,请立即排查为啥会有时钟不同步的问题。
首先说下时间为啥会不准,时间不准的原因有很多,有以下几种可能

  1. 硬件时钟故障
  2. BIOS的电池故障
  3. 时钟同步问题

还有很多问题,总而言之就是时间不准确了,怎么能将时间尽可能的标准呢,来看看我们遇到的问题。

windows时钟同步

首先将自动设置时间要打开
在这里插入图片描述
设定要同步的的服务器,可以选择官方的也可以选择自己的同步服务器,但记得要先telnet一下,端口是123
在这里插入图片描述
默认同步时间是1天1次,本次同步结束后,24小时后再同步一次
如果机器对时间的要求比较严格,要进行定时同步时间,设置定时同步可以这么设置
找到任务计划程序(我不知道哪里进,点了win搜索就是了)
创建个目录或者在
\Microsoft\Windows\Time Synchronization
目录下设置时间同步
在这里插入图片描述
设置任务的目的主要是执行命令
设置触发器,选定你要同步的时间,跟Linux里的crontab有点相似,这个是界面的,更容易理解
在这里插入图片描述
主要是操作这些
在这里插入图片描述
同步时间的命令

w32tm /resync

检查windows中时差的命令是

# 203.107.6.88是阿里云的时钟服务器
cmd /k "w32tm /stripchart /computer:203.107.6.88 /samples:2 /dataonly"

也可以采用微软的服务器,自己公司内部的服务器

如果需要看到时间差的情况,可以使用钉钉、飞书、邮件等相关软件进行及时通知,或者超过某个阈值的时候进行通知,这些都是可行的。一般只要时间同步问题就不大。

Linux机器上的时钟同步

Centos时钟同步

采用Centos默认的时钟同步策略,在装系统时已经装了,查看其命令的

# 查看chronyd的状态
[root@localhost log]# systemctl status chronyd
● chronyd.service - NTP client/serverLoaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)Active: active (running) since Fri 2023-07-21 18:35:48 CST; 2 weeks 0 days agoDocs: man:chronyd(8)man:chrony.conf(5)Process: 1593 ExecStartPost=/usr/libexec/chrony-helper update-daemon (code=exited, status=0/SUCCESS)Process: 1569 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SUCCESS)Main PID: 1585 (chronyd)Tasks: 1CGroup: /system.slice/chronyd.service└─1585 /usr/sbin/chronydJul 21 18:35:48 localhost systemd[1]: Starting NTP client/server...
Jul 21 18:35:48 localhost chronyd[1585]: chronyd version 3.4 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +SECH...6 +DEBUG)
Jul 21 18:35:48 localhost  chronyd[1585]: Frequency 4.080 +/- 0.147 ppm read from /var/lib/chrony/drift
Jul 21 18:35:48 localhost systemd[1]: Started NTP client/server.
Jul 21 18:35:58 localhost chronyd[1585]: Selected source 193.182.111.12
Jul 21 18:35:59 localhost chronyd[1585]: Selected source 202.38.64.7
Jul 21 18:36:02 localhost chronyd[1585]: Source 193.182.111.12 replaced with 84.16.73.33
Jul 26 17:50:53 localhost chronyd[1585]: Source 202.112.29.82 replaced with 119.28.206.193
Hint: Some lines were ellipsized, use -l to show in full.
[root@localhost log]# 

配置文件在

[root@localhost etc]# vim /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
# 所需同步服务器的域名
server 0.centos.pool.ntp.org iburst
……# Record the rate at which the system clock gains/losses time.
# driftfile指定了用于记录系统时钟的漂移量的文件路径。Chrony使用该文件来记录系统时钟的精度和准确度,以便在下次启动时进行校准。
driftfile /var/lib/chrony/drift# Allow the system clock to be stepped in the first three updates
# if its offset is larger than 1 second.
# makestep配置指定了系统时钟在前三次更新时是否允许快速调整(stepping),当系统时钟的偏差超过1秒时,允许进行快速调整。
makestep 1.0 3# Enable kernel synchronization of the real-time clock (RTC).
# rtcsync启用了对硬件RTC(实时时钟)的内核同步。Chrony将尝试让系统时钟和硬件RTC保持同步。

其中要注意,同步的服务器要保证和是能通信的

Ubuntu系统时钟同步

(base) test@localhost:~$ systemctl status systemd-timesyncd
● systemd-timesyncd.service - Network Time SynchronizationLoaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)Active: active (running) since Mon 2023-07-24 18:28:19 CST; 1 week 4 days agoDocs: man:systemd-timesyncd.service(8)Main PID: 838 (systemd-timesyn)Status: "Initial synchronization to time server 185.125.190.57:123 (ntp.ubuntu.com)."Tasks: 2 (limit: 57665)Memory: 964.0KCPU: 3.313sCGroup: /system.slice/systemd-timesyncd.service└─838 /lib/systemd/systemd-timesyncdWarning: some journal files were not opened due to insufficient permissions.

Ubuntu 默认同步的主机是pool.ntp.org
默认同步时间最大是2048秒,最小同时间隔是32秒,大约每间隔1分钟同步一次

查看是否同步的命令

无论Ubuntu还是Centos查看是否同步的命令都是
乌班图查看

(base) test@localhost:/etc$ timedatectlLocal time: Fri 2023-08-04 19:30:36 CSTUniversal time: Fri 2023-08-04 11:30:36 UTCRTC time: Fri 2023-08-04 11:30:36Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yesNTP service: activeRTC in local TZ: no
(base) test@localhost:/etc$ 

Centos查看

[root@localhost ~]# timedatectlLocal time: Fri 2023-08-04 19:31:20 CSTUniversal time: Fri 2023-08-04 11:31:20 UTCRTC time: Fri 2023-08-04 11:31:20Time zone: Asia/Shanghai (CST, +0800)NTP enabled: yes
NTP synchronized: yesRTC in local TZ: noDST active: n/a
[root@localhost ~]# 

计算机不是机械的,没有大自然的神奇,底层是电压的高低位模拟出来的,未免有偏差,偏差只要做好同步和监控,时间偏差会降到最低,防止因为时间偏差带来的麻烦。

http://www.lryc.cn/news/109703.html

相关文章:

  • AMEYA360:瑞萨电子MCU和MPU产品线将支持Microsoft Visual Studio Code
  • JSP--Java的服务器页面
  • 07 Ubuntu中使用poetry工具管理python环境——巨详细!!!
  • 射影平面 与 射影变换
  • (202307)wonderful-sql:决胜秋招(task6)
  • Scratch 教程:如何实现文本分割
  • 安全基础 --- 编码(02)+ form表单实现交互
  • 华为OD机考真题--五子棋--带答案
  • 把网站改为HTTPS访问方法
  • 【BASH】回顾与知识点梳理(四)
  • 阿里云安全组设置
  • QT图形视图系统 - 使用一个项目来学习QT的图形视图框架 - 终篇
  • 代码随想录算法训练营第六十天|单调栈part03|● 84.柱状图中最大的矩形
  • TCP的三次握手四次挥手
  • xml的学习笔记
  • 大数据之Hadoop(一)
  • Ubuntu安装git
  • [迁移学习]领域泛化
  • 240. 搜索二维矩阵 II
  • 【Linux:线程池】
  • 跨境多商户中日韩英多语言商城搭建(PC+小程序+H5),搭建方案
  • 使用标准库版本编写LED闪烁
  • 【CDC】跨时钟域处理方法总结一
  • 【Linux】创建分区后没有识别到分区盘?
  • W6100-EVB-PICO做DNS Client进行域名解析(四)
  • {Fixed} Android TV国内开机不会自动连接WIFI / 连接国内网络不会更新时间
  • 【ASP.NET MVC】数据到客户端(7)
  • InnoDB有哪些特性
  • 【linux--->数据链路层协议】
  • 如何在pytest接口自动化框架中扩展JSON数据解析功能?