实验背景

模拟企业局域服务器时间同步,保障各服务器系统准确性和时间一致性。

时间服务器系统搭建

实验架构图

环境设备

设备IP规划

  • 国内互联网NTP服务器

    ntp.aliyun.com #阿里云NTP授时服务器地址
    ntp.tencent.com #腾讯云NTP授时服务器地址
    ntp.ntsc.ac.cn #中国科学院国家授时中心NTP授时服务器地址
    time.edu.cn #教育网内的授时服务器
  • 企业外网NTP服务器

    192.168.100.30  #NTPserver1,os:centos8
    192.168.100.31 #NTPserver2,os:rocklinux8
  • 企业内网局域网NTP客户端

    192.168.100.10 #NTPClient1
    192.168.100.11 #NTPClient2
    192.168.100.12 #NTPClient3

时间同步系统实现

  1. 对NTPserver1、NTPserver2、NTPClient1、NTPClient2、NTPClient3安装chronyd同步数据软件。

    yum install chrony -y  #centos,yum安装chronyd软件
    #apt install chrony -y #Ubuntu,yum安装chronyd软件
  2. 配置NTPserver1、NTPserver2同步互联网NTP服务器,并授权允许同步时钟的客户端网段。

    编辑配置文件:/etc/chrony.conf

    #1、禁用默认的国外时间服务器地址
    #pool 2.centos.pool.ntp.org iburst #2、添加国内互联网时间服务器域名地址
    server ntp.aliyun.com iburst
    server ntp.tencent.com iburst
    server ntp.ntsc.ac.cn iburst
    server time.edu.cn iburst #3、添加允许客户端同步时钟的网段
    allow 0.0.0.0/0 #4、设置即使server指令中时间服务器不可用,也允许将本地时间作为标准时间授时给其它客户端
    local stratum 10
  3. 允许NTPserver1、NTPserver2的chrony服务,

    systemctl start chronyd
  4. 验证配置文件是否配置成功,并查看服务状态是否运行,查看udp端口123是否开启,是否运行任何IP访问(0.0.0.0)

    systemctl status chronyd
    ss -anu

  5. 查看NTPserver1、NTPserver2是否已正常同步互联网时间服务器

    chronyc sources -V

  6. 配置客户端:NTPClient1、NTPClient2、NTPClient3同步NTPserver1和NTPserver2

    #1、centos7系统配置,禁用系统默认时间服务器地址
    #server 0.centos.pool.ntp.org iburst
    #server 1.centos.pool.ntp.org iburst
    #server 2.centos.pool.ntp.org iburst
    #server 3.centos.pool.ntp.org iburst #或centos8禁用默认的国外时间服务器地址
    #pool 2.centos.pool.ntp.org iburst #2、添加企业外网时间同步服务器地址
    server 192.168.100.30 iburst
    server 192.168.100.31 iburst
  7. 重启客户端chrony服务

    systemctl restart
  8. 验证客户端NTPClient1、NTPClient2、NTPClient3是否同步NTPserver1和NTPserver2时间服务器

    chronyc sources -V

  9. 可在NTPserver1和NTPserver2验证接入哪些客户端连接

    chronyc clients

命令和配置文件及详解

  • chrony介绍

    • 两个主要程序:chronyd和chronyc

      chronyd:后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算机增减时间的比率,并对此进行补偿
      chronyc:命令行用户工具,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作,也可在一台不同的远程计算机上工作
    • 服务unit 文件: /usr/lib/systemd/system/chronyd.service

    • 监听端口: 服务端: 123/udp,客户端: 323/udp

    • 配置文件: /etc/chrony.conf

  • 配置文件chrony.conf

    server #可用于时钟服务器,iburst 选项当服务器可达时,发送一个八个数据包而不是通常的一个数据
    包。 包间隔通常为2秒,可加快初始同步速度
    pool #该指令的语法与server 指令的语法相似,不同之处在于它用于指定NTP服务器池而不是单个
    NTP服务器。池名称应解析为随时间可能会变化的多个地址
    driftfile #根据实际时间计算出计算机增减时间的比率,将它记录到一个文件中,会在重启后为系统时钟作
    出补偿
    rtcsync #启用内核模式,系统时间每11分钟会拷贝到实时时钟(RTC)
    allow / deny #指定一台主机、子网,或者网络以允许或拒绝访问本服务器
    cmdallow / cmddeny #可以指定哪台主机可以通过chronyd使用控制命令
    bindcmdaddress #允许chronyd监听哪个接口来接收由chronyc执行的命令
    makestep # 通常chronyd将根据需求通过减慢或加速时钟,使得系统逐步纠正所有时间偏差。在某些特定
    情况下,系统时钟可能会漂移过快,导致该调整过程消耗很长的时间来纠正系统时钟。该指令强制chronyd在
    调整期大于某个阀值时调整系统时钟
    local stratum 10 #即使server指令中时间服务器不可用,也允许将本地时间作为标准时间授时给其它
    客户端
  • chronyc 可以运行在交互式和非交互式两种方式

    help 命令可以查看更多chronyc的交互命令
    accheck 检查是否对特定主机可访问当前服务器
    activity 显示有多少NTP源在线/离线
    sources [-v] 显示当前时间源的同步信息
    sourcestats [-v]显示当前时间源的同步统计信息
    add server 手动添加一台新的NTP服务器
    clients 报告已访问本服务器的客户端列表
    delete 手动移除NTP服务器或对等服务器
    settime 手动设置守护进程时间
    tracking 显示系统时间信息
  • 判断时间客户端是否连接上时间服务器:chronyc sources -v

    [21:28:46 root@rocky8 ~]#chronyc sources -v
    
      .-- Source mode  '^' = server, '=' = peer, '#' = local clock.
    / .- Source state '*' = current best, '+' = combined, '-' = not combined,
    | / 'x' = may be in error, '~' = too variable, '?' = unusable.
    || .- xxxx [ yyyy ] +/- zzzz
    || Reachability register (octal) -. | xxxx = adjusted offset,
    || Log2(Polling interval) --. | | yyyy = measured offset,
    || \ | | zzzz = estimated error.
    || | | \
    MS Name/IP address Stratum Poll Reach LastRx Last sample
    ===============================================================================
    ^+ 203.107.6.88 2 9 377 451 +2493us[+2375us] +/- 39ms
    ^* 139.199.215.251 2 9 337 206 +205us[ +145us] +/- 49ms
    ^+ 114.118.7.161 1 9 231 259 +22ms[ +22ms] +/- 50ms
    ^? 202.112.0.7 0 9 0 - +0ns[ +0ns] +/- 0ns #--------------------------------------------
    ^+ 203.107.6.88 #表示可用时间服务器地址
    ^* 139.199.215.251 #表示客户端正在连接同步时间的服务器地址
    ^? 202.112.0.7 #表示不可用的服务器地址

服务器时间同步架构与实现chrony的更多相关文章

  1. Linux服务器时间同步配置

    Linux服务器时间同步配置   以CentOS7 做时间服务器,其他服务器(Centos 6.RHEL7)同步该服务器时间 RHEL 7.CentOS 7 默认的网络时间协议 为Chrony 本教程 ...

  2. [翻译]用 Puppet 搭建易管理的服务器基础架构(4)

    我通过伯乐在线翻译了一个Puppet简明教程,一共分为四部分,这是第四部分. 原文地址:http://blog.jobbole.com/89214/ 本文由 伯乐在线 - Wing 翻译,黄利民 校稿 ...

  3. [翻译]用 Puppet 搭建易管理的服务器基础架构(3)

    我通过伯乐在线翻译了一个Puppet简明教程,一共分为四部分,这是第三部分. 本文由 伯乐在线 - Wing 翻译,黄利民 校稿.未经许可,禁止转载!英文出处:Manuel Kiessling.欢迎加 ...

  4. 局域网内Linux服务器时间同步

    局域网内Linux服务器时间同步   1.将一台能够上网的服务器作为时间服务器:  # /usr/bin/rdate -s time-b.timefreq.bldrdoc.gov //将时间服务器与互 ...

  5. CUDA编程-(1)Tesla服务器Kepler架构和万年的HelloWorld

    结合CUDA范例精解以及CUDA并行编程.由于正在学习CUDA,CUDA用的比较多,因此翻译一些个人认为重点的章节和句子,作为学习,程序将通过NVIDIA K40服务器得出结果.如果想通过本书进行CU ...

  6. Socket服务器整体架构概述

    转载:http://www.cnblogs.com/tianzhiliang/archive/2010/10/28/1863684.html Socket服务器主要用于提供高效.稳定的数据处理.消息转 ...

  7. js 倒计时(服务器时间同步)

    首先说一下,为什么要服务器时间同步, 因为服务器时间和本地电脑时间存在一定的时间差.有些对时效性要求非常高的应用,例如时时彩开奖,是不能容忍这种时间差存在的. 方案1:每次倒计时去服务端请求时间 // ...

  8. Apache web服务器(LAMP架构)

    Apache web服务器(LAMP架构) apache介绍 1).世界上使用率最高的网站服务器,最高时可达70%:官方网站:apache.org 2).http 超文本协议 HTML 超文本标记语言 ...

  9. 手机服务器微架构设计与实现 之 http server

    手机服务器微架构设计与实现 之 http server ·应用 ·传输协议和应用层协议概念 TCP  UDP  TCP和UDP选择 三次握手(客户端与服务器端建立连接)/四次挥手(断开连接)过程图 · ...

随机推荐

  1. fiddler的安装以及使用同时对Android 与IOS 抓包配置进行分析 进阶 一

    由于工作方向的原因,很久没有用过APP抓包工具了,有那么一天遇到了bug需要协助开发工程师进行定位分析,然后又重新梳理了一下之前常用的抓包工具,这里重点介绍一下目前市面上最流行的几款抓包工具,根据自己 ...

  2. Egg上层框架CabloyJS是如何输出SQL语句日志的?

    背景 在Egg开发实践中,经常会遇到一个问题:如何查看刚刚执行过的Egg组装的原生SQL语句呢? 1. 现有方案 可以直接在项目的config配置文件中添加MySQL配置debug: true.这会启 ...

  3. 【python】tile函数简单介绍

    转:https://blog.csdn.net/april_newnew/article/details/44176059格式:tile(A,reps)* A:array_like* 输入的array ...

  4. markdowm使用学习

    markdowm学习 标题(#/##/###/####) 三级标题 四级标题 字体(*/) hello world! hello world! hello world! hello world! he ...

  5. 物联网lora无线数传模块应用案例:LoRawan网关通信技术

    什么是LoRa LoRa(Long Range) 无线通信技术是 Semtech 在2012年开发出来的一款适合物联网使用的射频IC.其设计理念为低功耗.长距离.低成本.网路简单.易于扩展的无线数传技 ...

  6. Vue.js与Node.js一起打造一款属于自己的音乐App(收藏)

    更多内容请见原文,原文转载自:https://blog.csdn.net/weixin_44519496/article/details/118755888

  7. 『现学现忘』Docker基础 — 38、COPY指令和ADD指令

    目录 1.COPY指令 (1)COPY指令说明 (2)COPY指令格式 (3)COPY指令使用 (4)其他 2.ADD指令 (1)ADD指令说明 (2)ADD指令格式 (3)ADD指令使用 (4)不推 ...

  8. 一个紧张刺激的聊天器,要不要进来看看(Python UDP网络模型)

    先来哔哔两句:(https://jq.qq.com/?_wv=1027&k=QgGWqAVF) 互联网的本质是什么?其实就是信息的交换.那么如何将自己的信息发送到其他人的电脑上呢?那就需要借助 ...

  9. 《SVDNet for Pedestrian Retrieval》理解

    <SVDNet for Pedestrian Retrieval>理解 Abstract: 这篇文章提出了一个用于检索问题的SVDNet,聚焦于在行人再识别上的应用.我们查看卷积神经网络中 ...

  10. (数据科学学习手札140)详解geopandas中基于pyogrio的矢量读写引擎

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,前不久我在一篇文章中给大家分享 ...