ntp VS chrony_chrony ntp 区别-程序员宅基地

技术标签: 网络  运维  服务器  

对比

NTP(Network Time Protocol)和Chrony都是用于同步计算机时钟的协议,它们都可以在计算机集群中实现时间同步。但是,它们有一些不同之处:

  1. 算法:NTP使用一种复杂的算法来同步时钟,而Chrony使用一种叫做"temporal median"的算法,该算法可以在更短的时间内同步时钟。

  2. 精度:Chrony通常比NTP更准确,尤其是在网络延迟较高的情况下。Chrony可以在网络延迟较高的情况下保持更好的同步精度。

  3. 配置:Chrony的配置比NTP简单,而且可以自动适应网络环境。另外,Chrony可以在没有网络连接的情况下使用本地时钟源进行同步。

  4. 安全性:NTP在安全性方面存在一些问题,因为它没有内置的身份验证机制。而Chrony支持加密和身份验证机制,可以提供更好的安全性。

综上所述,Chrony通常比NTP更适合在计算机集群中使用,因为它可以提供更好的同步精度和安全性,并且配置更简单。

chrony举例

chrony

这是一个chrony的配置文件示例,下面是每一行的解释:

  • server 127.127.1.0 iburst: 使用本地时钟作为NTP服务器的源,并使用iburst选项尝试快速同步时钟。
  • server x.x.x.x iburst: 使用指定的IP地址( x.x.x.x)作为NTP服务器的源,并使用iburst选项尝试快速同步时钟。
  • driftfile /var/lib/chrony/drift: 定义存储本地时钟漂移率的文件路径。
  • makestep 1.0 3: 如果时钟偏移超过3秒,chrony将采取一次1秒的时间步进来快速同步时钟。
  • rtcsync: 启用硬件时钟同步。
  • allow all: 允许所有客户端连接到这个chrony服务器。
  • local stratum 5 orphan: 定义本地时钟为stratum 5级别(假设本地时钟不太准确),或者作为孤儿时钟。
  • logdir /var/log/chrony: 定义chrony日志的存储路径。

需要注意的是,chrony的配置文件中还可以包含其他选项和指令,这只是一个示例。通常,配置文件应该根据特定的需求进行修改。

chronyc sources -v

“chronyc sources -v” 命令用于显示 chrony 正在从哪些来源获取时间同步的详细信息。该命令的输出包括以下信息:

  • 来源的 IP 地址或主机名
  • 来源的参考 ID(通常是源的 IP 地址)
  • 来源的层级(距离参考时钟的跳数)
  • 来源的类型(例如,NTP、PTP 等)
  • 上次轮询源的时间
  • 来源的延迟和偏移量,它们表示本地时钟和来源时钟之间的时间差异。

以下是该命令的示例输出:

210 Number of sources = 4

MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* time.nist.gov                 1   6   377   195  -1049us[-1099us] +/-  12ms
^- time1.google.com              1   6   377   197  -1232us[-1282us] +/-  24ms
^- time2.google.com              1   6   377   197  -1099us[-1149us] +/-  21ms
^- time3.google.com              1   6   377   196  -1232us[-1282us] +/-  22ms

在此示例中,chrony 与 time.nist.gov 和三个 Google NTP 服务器同步。 “^ *” 符号表示 time.nist.gov 是当前参考源,延迟和偏移值在可接受范围内。在 “chronyc sources -v” 命令的输出中,“^-” 符号表示该源不是当前的参考源,但仍然是可用的时间同步源。这些源可能在层次结构上比当前参考源更远,或者它们的延迟和偏移值可能比当前参考源更大。在这个例子中,time1.google.com、time2.google.com 和 time3.google.com 都是可用的时间同步源,但当前的参考源是 time.nist.gov。

^~

当使用 chronyc sources -v 命令查看 NTP (Network Time Protocol) 时间源时,^~ 符号表示被动时间源。被动时间源是指该时间源已经与您的计算机进行了通信,但由于一些原因,它不会被用作主动时间源。

处理 ^~ 时间源的最佳方法取决于您的需求和系统配置。下面是一些常见的处理方法:

  1. 检查网络连接:确保与时间源的网络连接稳定并正常工作。如果网络连接不可靠,您可能需要修复网络问题或更换时间源。

  2. 评估时间源质量:使用 chronyc tracking 命令来评估各个时间源的质量。选择质量较高、可靠且具备较低延迟的时间源作为活跃时间源。忽略质量较低的时间源,包括被标记为 ^~ 的被动时间源。

  3. 更新 NTP 配置文件:编辑 NTP 配置文件(通常是 /etc/ntp.conf/etc/chrony.conf),删除或注释掉被动时间源的相关行。这样可以确保被动时间源不会干扰系统的时间同步过程。

  4. 重启 chronyd 服务:在对 NTP 配置文件进行更改后,需要重新启动 chronyd 服务以使更改生效。使用适当的命令重启服务,例如 service chronyd restartsystemctl restart chronyd

请注意,这些建议基于一般情况,并且具体操作可能因您的系统和需求而有所不同。确保在进行任何更改之前备份相关配置文件,并根据您的特定环境需求做出相应调整。

^+

chronyc sources -v 命令的结果显示 ^+ 时,它表示您的系统正在使用一种称为"选择性源"的时间同步方式。这意味着您的系统会从多个可用的时间服务器中选择一个进行同步。

如果您希望更改时间来源或禁用选择性源,请按照以下步骤操作:

  1. 打开 chrony.conf 文件,该文件通常位于 /etc/chrony/chrony.conf
  2. 在文件中找到由 server 开头的行,这些行列出了您当前系统使用的时间服务器。
  3. 如果您希望从特定的时间服务器同步,可以添加或编辑相关的 server 行,并在每行开头添加一个 # 符号来注释掉其他不需要的行。
  4. 如果您想完全禁用选择性源并只使用单个时间服务器,则可以删除其他所有 server 行,并确保只保留一个 server 行。
  5. 保存并关闭 chrony.conf 文件。
  6. 重新启动 chronyd 服务以使更改生效。您可以使用以下命令重启服务:
    • 对于 Systemd 系统:sudo systemctl restart chronyd
    • 对于 SysVinit 系统:sudo service chronyd restart

完成这些步骤后,再次运行 chronyc sources -v 命令,您应该看到只有一个活动的时间服务器被标记为 *,这将是您所选择的时间服务器。

^?

^?chronyc sources -v 的输出中代表当前服务器的状态是未知,即 chrony 无法获取此服务器的信息。

这个信息可以在 Chrony 文档中找到。以下是一个关于Chrony输出符号的详细解释的链接:

Chrony FAQ

[sources [-a] -v

在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hezuijiudexiaobai/article/details/130221975

智能推荐

python实现树结构的json文件_python实现树形结构的json文件-程序员宅基地

文章浏览阅读1.8k次。需求:在做树形可视化图形时,需要相应的json文件为树形结构。本例为将所有IP进行一个统计,合并同类项,之后根据IP的四个字段分为四层。第一层为第一个字段,第二层为第二个字段,以此类推,总共四层。数据格式类似下图:image.png实现思路:1.将IP统计后的结果以dataframe的数据结构存储;2.定义两种节点:非叶子节点:node={"name":"","children":[]}叶子节点:..._树图展开json文件 python

力扣[LeetCode].1. 两数之和_力扣主函数-程序员宅基地

文章浏览阅读210次。class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { unordered_map<int,int> heap; //新建一个哈希表,把每一个数值映射为他的下标 for(int i=0;i<nums.size();i++){ //遍历每个数 int r = t._力扣主函数

CRNN英文字符识别代码运行测试 | 论文理解 | 【OCR】_crnn在线测试-程序员宅基地

文章浏览阅读438次。CRNN 英文识别 代码运行测试环境搭建运行过程如下所测试代码https://github.com/meijieru/crnn.pytorch环境搭建参照: requirements.txt 文件lmdb==0.97numpy==1.17.2Pillow==6.1.0six==1.12.0torch==1.2.0torchvision==0.4.0一个普通的 pytorch1.2 环境搭建操作,实测 安装 torch1.4 一样可以运行:conda create_crnn在线测试

戴尔惠普华硕笔记本Fn键反了,按F1、F2等键出来Fn+F1、F2的效果_hp笔记本的fn倒置了-程序员宅基地

文章浏览阅读3.2k次。惠普笔记本,几天按f12调试的时候,笔记本直接睡眠了,试验了一番发现Fn键反了按F12等键出来Fn+F2的效果,按F1到F12等键出来Fn+F1到F12的效果。在网上寻找一番答案发现是是fn键被锁住了。找到键盘上的一个Fnlock(缩写FnLk)或Numlock键,然后按Fn+Fnlock/Numlock解锁参考文章:https://jingyan.baidu.com/article/ff4..._hp笔记本的fn倒置了

java togmtstring()_JavaScript中toGMTString函数-程序员宅基地

文章浏览阅读570次。JavaScript中toGMTString函数JavaScript中toGMTString函数方法是返回一个日期,该日期用格林威治标准时间 (GMT) 表示并已被转换为字符串。使用方法:dateObj .toGMTString()JavaScript中toGMTString函数方法已经过时,之所以仍然提供这个方法,只是为了提供向后的兼容性。推荐改用 toUTCString 方法。toGMTStr..._togmtstring

链表一:寻找环形链表的入口点-程序员宅基地

文章浏览阅读3.2k次,点赞10次,收藏12次。提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码_环形链表的入口

随便推点

不堪回首的青春回忆,用群晖NAS网络存储记住吧_群晖可以备份qq聊天记录吗-程序员宅基地

文章浏览阅读786次。青春是热血、朝气、尴尬等等名词的汇聚,对于90后来说非主流、大头贴等一堆不堪回首的记忆充满了我们的记忆。往往这些记忆都保存在了放着DJ等非主流音乐的空间中,永远封锁只对自己开放。随着QQ也开通了账号注销功能,保存在QQ空间的数据也不是永远存在了。虽然这是一段我们不堪回首的青春记忆,虽然现在最年轻的00后都已经19岁了,青春的世界不再属于90后了。但是回忆还是要存储下来的,可是值得90后回忆的不仅..._群晖可以备份qq聊天记录吗

private和public_class public和private-程序员宅基地

文章浏览阅读2.7k次。一、结构体/类的定义和实现分离,代码可读性更强(非必须)//xxx.h头文件struct Test{ int x; int y; int z; void Init(int x,int y,int z); void Function1(); void Function2(); void Function3();}//xxx.cpp#include<stdio.h>#include"structure.h"void Test::Init(int x, int y, _class public和private

php 上传图片 缩略图,PHP 图片上传类 缩略图-程序员宅基地

文章浏览阅读70次。/*** 上传图片*/class imgUpload{static protected $a;protected $formName; //表单名称protected $directory; //文件上传至目录protected $maxSize; //最大文件上传大小protected $canUpload; //是否可以上..._php上传图片 缩略图

scrapy爬虫框架_3.6.1 scrapy 的版本-程序员宅基地

文章浏览阅读737次。入门案例class QuotesSpider(scrapy.Spider): name = 'quotes' start_urls = [ 'http://quotes.toscrape.com/tag/humor/', ] def parse(self, response): for quote in response.css('div.quote'): yield { 'aut_3.6.1 scrapy 的版本

微信支付——统一下单——java_小程序统一下单接口-程序员宅基地

文章浏览阅读625次,点赞10次,收藏10次。这边是用户购买vip的一个支付代码,使用统一下单,主要是jsapi支付。_小程序统一下单接口

(已解决)报错 ValueError: Tensor conversion requested dtype float32 for Tensor with dtype resource-程序员宅基地

文章浏览阅读4.7k次,点赞3次,收藏2次。tensorflow 1.14 里自带的 layer 与 keras layer 数据类型冲突的问题。_valueerror: tensor conversion requested dtype float32 for tensor with dtype