离线完成上下位机时间同步(硬PTP和软NTP)
一、需求
为了满足业务软件正常运行,需要配置时间同步
一般的场景分为以下几种
1、无时同设备需要对Linux系统之间进行软同步
2、有时同设备需要对Linux系统之间进行硬同步
3、无时同设备需要对Windows和Linux系统之间进行软同步
4、有时同设备需要对Windows和Linux系统之间进行硬同步
5、无时同设备需要对Windows和Windows之间进行软同步
6、有时同设备需要对Windows和Windows之间进行硬同步
二、操作说明
环境介绍
示例中所使用的Linux操作系统为Centos7

场景1:硬同步(PTP)
有时同设备需要使用PTP进行Linux间硬同步配置(3台下位机)
东土科技公司:
1、首先把时同设备(时间同步服务器和时间同步交换机)连通,然后连好天线,最好找个窗户能扔到室外。
2、通过时同服务器自带的管理网口访问Web页面,然后进行如下配置

同步源状态应正常


同步源参数

时钟参数

网络参数


PTP参数(重点)

改完重启一下

配置好时同设备之后,接下来需要在Linux下位机使用ptp软件通过IPV4 的方式获取设备时间
将ptpd-2.3.1 .tar.gz文件放到Linux下位机上,解压缩(tar -xzvf ptpd-2.3.1.tar.gz)。这个包我放到页眉了
进入ptpd-2.3.1文件夹,执行./configure
执行make指令,编译完毕后时同程序会在src目录中

运行./ptpd2 -i 时同网口名称 -E 即可启动服务,加入参数-C –V可使服务在前台运行用于观看同步状态。示例如下
./ptpd2 -i ens1f0 -E -C -V
如果有持续条文的输出,则表示收到ptpd的信号了。如过一直没有则说明没找到主时钟源,配置下/etc/ptpd2.conf 文件再试

做下验证,改下Linux的时间为2020年,然后输出当前时间
date -s '2020-01-01 00:00:00'
date +'%Y_%m_%d_%T'
进入src执行ptpd的同步命令,收到条文后ctrl+c 退出,然后再看时间
./ptpd2 -i ens1f0 -E -C -V
date +'%Y_%m_%d_%T'
最后确保一切OK,就加到/etc/rc.d/rc.local的的开机脚本中去就可以了
Windows 如果也想直接同步设备,使用自带的工具即可




场景2:上位机使用NTP同步下位机
常规
1、Linux下位机配置NTP主时钟源
检测服务是否存在
systemctl status chronyd
如果not found 则需要安装服务
yum install -y chrony
安装后修改配置文件
vim /etc/chrony.conf
然后将配置文件改为这样表示设置当前机器为主时钟源,改完后保存退出

重启服务并加入开机自启动
systemctl enable --now chronyd
systemctl restart chronyd
在Windows上下载Domaintime 的软件,然后进行安装

安装完成

在右下角

或者去控制面板的时间设置中找

双击打开,然后配置要同步的主时钟源地址

进行测试,successful就OK如果部署请检查chronyd

下一步可以改这个参数,如果设置为15 则表示时间误差不超过15ms,而软件会根据系统时间自动决定下次同步的时间如(1-60 minutes)

上位机配置完成,修改上位机时间进行验证

用不了多久就同步了,比我截图速度还快,至此完成上下位机之间的NTP时同

其他
有一个现象是此时无论我如何去改windows的时间都会很快同步,但当我修改Linux即NTP服务器的时间后,windows同步就很慢,这个时候要想快速同步需要手动点击一下sync


如果时间改的过早如2000年,sync会失效

报错2000年太早了

大家在使用的过程中注意一下就行。
考虑到日发仅两篇,先简单写写之后再更新和补充
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)