CN109194432A - 一种kvm下多虚拟机时间同步系统 - Google Patents
一种kvm下多虚拟机时间同步系统 Download PDFInfo
- Publication number
- CN109194432A CN109194432A CN201810917948.1A CN201810917948A CN109194432A CN 109194432 A CN109194432 A CN 109194432A CN 201810917948 A CN201810917948 A CN 201810917948A CN 109194432 A CN109194432 A CN 109194432A
- Authority
- CN
- China
- Prior art keywords
- ptp
- time
- kvm
- clock
- time synchronization
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 108700009949 PTP protocol Proteins 0.000 claims description 5
- 238000000034 method Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 abstract description 9
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 101150028012 phc-2 gene Proteins 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000002195 synergetic effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Electric Clocks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种KVM下多虚拟机时间同步系统,其特征在于,包括:输入模块:其用于接收PTP服务器端发过来的同步报文;处理模块:进行PTP网卡对时协议处理;输出模块:为虚拟机提供时间同步后台守护进程(chronyd)获取宿主机系统时间。本发明将PTP高精度对时系统的使用从单机环境扩展到多虚拟机间的时间同步,解决了虚拟机采用NTP时间同步精度在毫秒级别精度差的问题,为高性能计算和云服务等时间要求严格的服务提供准确时间保障。
Description
技术领域
本发明涉及网络通信系统领域,尤其涉及到一种KVM下多虚拟机时间同步系统。
背景技术
PTP的典型应用领域是测量和控制系统、工业自动化、电力系统以及分布式运动控制系统。时间统一,是分布在不同位置的设备和系统协同工作的基础。PTP是精确网络时钟同步协议,当网卡硬件支持PTP的时候,能达到微秒级的对时精度,比NTP要更加的精确。但是虚拟化环境,希望运行在宿主机上的所有的虚拟机能从宿主机获取高精度的时间,这引入了KVM下多虚拟机间PTP高精度时间同步,KVM下多虚拟机时间同步系统是指KVM虚拟化宿主机通过IEEE1588精确时间同步PTP协议获取精确的系统时间,KVM之上的多个虚拟机通过和宿主机系统时间快速同步,从而达到精确对时的功能,。目前KVM通过PCIe直通的方式一个虚拟机只能绑定一个网卡,该网卡不能为其他虚拟机使用,所以不能使用PTP网卡的硬件时钟直接来为多个虚拟机提供时间同步。chrony是开源的,它能保持系统时钟与时钟服务器同步,让时间保持精确。chronyd是一个后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步,它确定计算机增减时间的比率,并对此进行补偿。
发明内容
针对现有技术中的缺陷和应用上的需求,本发明提供一种KVM下多虚拟机时间同步系统,本发明将PTP协议引入云操作系统中,实现高精度时间同步。本发明提出宿主机的系统时间通过硬件PTP对时得到微秒级别的精度,然后多个虚拟机通过chronyd同步软件和系统调用(hypercal)方式和宿主机进行同步,可以得到微秒级的同步精度,该方法适用于Linux和vxWorks系统。
本发明是根据以下技术方案实现的:
一种KVM下多虚拟机时间同步系统,其特征在于,包括:
输入模块:其用于接收PTP服务器端发过来的同步报文;
处理模块:进行PTP网卡对时协议处理;
输出模块:为虚拟机chronyd提供系统调用接口获取宿主机系统时间。
上述技术方案中,所述输入模块包括RJ45接口和10/100/1000Mb的物理层PHY芯片,通过媒体独立接口或者千兆以太网接口与Intel PTP网卡相连,用于和远端PTP主设备收发报文的物理链路;网络驱动作为TCP/IP报文的收发接口,同时为对时协议栈提供读写硬件时间戳寄存器配置接口。
上述技术方案中,所述处理模块根据IEEE1588V2实现的PTP协议栈的linuxptp,包括linuxptp:ptp4l和linuxptp:phc2sys,其中linuxptp:ptp4l实现边界时钟和普通时钟,将PTP硬件时钟和远端主时钟进行同步,其中PTP配置为从模式和UDP4层报文传输;linuxptp:phc2sys实现系统时间和网卡时间的同步。
上述技术方案中,所述输出模块是ptp_kvm.ko,作为内核驱动模块,用于获取宿主机实时时间的函数接口,在KVM虚拟化ptp驱动和hypercal系统调用下,在一个主机上的所有虚拟机都将PTP网卡时间作为时间源。
由于采用了上述技术方案,与现有技术相比,本发明具有如下的有益效果:
本发明将PTP高精度对时系统的使用从单机环境扩展到多虚拟机间的时间同步,解决了虚拟机采用NTP时间同步精度在毫秒级别精度差的问题,为高性能计算和云服务等时间要求严格的服务提供准确时间保障。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明的一种KVM下多虚拟机时间同步系统的框架图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
本发明在Linux系统上利用linuxptp开源IEEE1588V2软件和chrony时间同步工具搭建先用linuxptp:ptp4l同步网卡时间,然后用linux:phc2将网卡时间同步给系统时间,虚拟机中chronyd工具以/dev/ptpx作为时间源进行同步,利用系统调用hypercall访问宿主机的系统时间,整个软件流程实现了高精度的时间同步,可以达到微秒级别的对时精度。
如图1所示,本发明的一种KVM下多虚拟机时间同步系统,包括:
输入模块:其用于接收PTP服务器端发过来的同步报文;
处理模块:进行PTP网卡对时协议处理;
输出模块:为虚拟机chronyd提供系统调用接口获取宿主机系统时间。
其中,输入模块包括RJ45接口和10/100/1000Mb的物理层PHY芯片,通过媒体独立接口或者千兆以太网接口与Intel PTP网卡相连,用于和远端PTP主设备收发报文的物理链路;网络驱动作为TCP/IP报文的收发接口,PTP驱动为对时协议栈提供读写硬件时间戳寄存器配置接口。PTP网络驱动是通用Linux网卡驱动,例如ixgbe.ko;支持硬件PTP,可以用“ethtool –T eth0”来检查网卡eth0是否支持该PTP功能。
其中,处理模块根据IEEE1588V2实现的PTP协议栈的linuxptp,包括linuxptp:ptp4l和linuxptp:phc2sys,其中linuxptp:ptp4l实现边界时钟和普通时钟,将PTP硬件时钟和远端主时钟进行同步,,其中PTP配置为从模式和UDP4层报文传输;linuxptp:phc2sys实现系统时间和网卡时间的同步。系统实时时钟就是系统时钟,它的时钟源就是主板的晶振。
其中,输出模块是ptp_kvm.ko,作为内核驱动模块,用于获取宿主机实时时间的函数接口,在KVM虚拟化ptp驱动和hypercal系统调用下,在一个主机上的所有虚拟机都将PTP网卡时间作为时间源,即通过添加参考时钟/dev/ptpx到chrony配置文件且配通过命令chronyc sourcesp配置ptp设备为时间同步源。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (4)
1.一种KVM下多虚拟机时间同步系统,其特征在于,包括:
输入模块:其用于接收PTP服务器端发过来的同步报文;
处理模块:进行PTP网卡对时协议处理;
输出模块:为虚拟机chronyd提供系统调用接口获取宿主机系统时间。
2.根据权利要求1所述的一种KVM下多虚拟机时间同步系统,其特征在于,所述输入模块包括RJ45接口和10/100/1000Mb的物理层PHY芯片,通过媒体独立接口或者千兆以太网接口与Intel PTP网卡相连,用于和远端PTP主设备收发报文的物理链路;网络驱动作为TCP/IP报文的收发接口,同时为对时协议栈提供读写硬件时间戳寄存器配置接口。
3.根据权利要求1所述的一种KVM下多虚拟机时间同步系统,其特征在于,所述处理模块根据IEEE1588V2实现的PTP协议栈的linuxptp,包括linuxptp:ptp4l和linuxptp:phc2sys,其中linuxptp:ptp4l实现边界时钟和普通时钟,将PTP硬件时钟和远端主时钟进行同步,其中PTP配置为从模式和UDP4层报文传输;linuxptp:phc2sys实现系统时间和网卡时间的同步。
4.根据权利要求1所述的一种KVM下多虚拟机时间同步系统,其特征在于,所述输出模块是ptp_kvm.ko,作为内核驱动模块,用于获取宿主机实时时间的函数接口,在KVM虚拟化ptp驱动和hypercal系统调用下,在一个主机上的所有虚拟机都将PTP网卡时间作为时间源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810917948.1A CN109194432B (zh) | 2018-08-13 | 2018-08-13 | 一种kvm下多虚拟机时间同步系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810917948.1A CN109194432B (zh) | 2018-08-13 | 2018-08-13 | 一种kvm下多虚拟机时间同步系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109194432A true CN109194432A (zh) | 2019-01-11 |
CN109194432B CN109194432B (zh) | 2020-04-07 |
Family
ID=64921143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810917948.1A Active CN109194432B (zh) | 2018-08-13 | 2018-08-13 | 一种kvm下多虚拟机时间同步系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109194432B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110377106A (zh) * | 2019-06-21 | 2019-10-25 | 湖南麒麟信安科技有限公司 | 一种时统卡虚拟化方法、系统及介质 |
CN112904932A (zh) * | 2021-05-08 | 2021-06-04 | 鹏城实验室 | 时钟同步方法、板卡、计算机存储介质及终端设备 |
CN113489563A (zh) * | 2021-07-02 | 2021-10-08 | 广州市品高软件股份有限公司 | 一种虚拟机的时钟同步方法和云平台 |
CN113672031A (zh) * | 2021-09-07 | 2021-11-19 | 西安超越申泰信息科技有限公司 | 一种时间同步方法、装置、计算机设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090089078A1 (en) * | 2007-09-28 | 2009-04-02 | Great-Circle Technologies, Inc. | Bundling of automated work flow |
CN104901844A (zh) * | 2015-05-13 | 2015-09-09 | 国家计算机网络与信息安全管理中心 | 基于pcie的高精度时间戳获取方法、装置及网卡 |
CN106972904A (zh) * | 2016-11-21 | 2017-07-21 | 深圳信息职业技术学院 | 一种时钟同步的方法和系统 |
-
2018
- 2018-08-13 CN CN201810917948.1A patent/CN109194432B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090089078A1 (en) * | 2007-09-28 | 2009-04-02 | Great-Circle Technologies, Inc. | Bundling of automated work flow |
CN104901844A (zh) * | 2015-05-13 | 2015-09-09 | 国家计算机网络与信息安全管理中心 | 基于pcie的高精度时间戳获取方法、装置及网卡 |
CN106972904A (zh) * | 2016-11-21 | 2017-07-21 | 深圳信息职业技术学院 | 一种时钟同步的方法和系统 |
Non-Patent Citations (1)
Title |
---|
未来战士: "集群服务器 时间同步 - Chrony", 《博客园》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110377106A (zh) * | 2019-06-21 | 2019-10-25 | 湖南麒麟信安科技有限公司 | 一种时统卡虚拟化方法、系统及介质 |
CN112904932A (zh) * | 2021-05-08 | 2021-06-04 | 鹏城实验室 | 时钟同步方法、板卡、计算机存储介质及终端设备 |
CN113489563A (zh) * | 2021-07-02 | 2021-10-08 | 广州市品高软件股份有限公司 | 一种虚拟机的时钟同步方法和云平台 |
CN113489563B (zh) * | 2021-07-02 | 2023-08-15 | 广州市品高软件股份有限公司 | 一种虚拟机的时钟同步方法和云平台 |
CN113672031A (zh) * | 2021-09-07 | 2021-11-19 | 西安超越申泰信息科技有限公司 | 一种时间同步方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109194432B (zh) | 2020-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11609598B2 (en) | Network card, time synchronization methods and devices, and computer storage media | |
US10908941B2 (en) | Timestamping data received by monitoring system in NFV | |
CN109194432A (zh) | 一种kvm下多虚拟机时间同步系统 | |
US11483127B2 (en) | Clock synchronization | |
CN105656592B (zh) | EtherCAT通信系统主站及通信方法 | |
CN1929366B (zh) | 用于计算时钟偏移和时钟脉冲相位差的方法和系统 | |
US20220413474A1 (en) | Control system | |
CN106603367A (zh) | 一种用于时间同步的can总线通信方法 | |
CN103634092A (zh) | Cpu集群中的高精度定时器 | |
WO2008015492A1 (en) | A method for receiving and processing frames and a device having frame receiving and processing capabilities | |
WO2020136487A2 (en) | A tsn enabled controller | |
CN103248471A (zh) | 基于ptp协议与反射内存网的时钟同步方法 | |
CN107786293A (zh) | 时间同步方法、主时钟设备、从时钟设备及时间同步系统 | |
CN113489563B (zh) | 一种虚拟机的时钟同步方法和云平台 | |
CN109947030A (zh) | 伺服内部控制周期动态跟随EtherCat总线同步周期的方法 | |
CN108401454A (zh) | 事务调度方法、处理器、分布式系统和无人机 | |
US20220357763A1 (en) | Network Adapter Providing Isolated Self-Contained Time Services | |
CN103532786A (zh) | 一种服务器同步检测器及同步检测方法和系统 | |
EP2772860B1 (en) | Multi-processor synchronization using time base counters | |
CN108075853A (zh) | 一种用于直升机模拟器开发系统间的网络时间同步方法 | |
US20230300068A1 (en) | Synchronization in Distributed Communication Systems | |
Neville-Neil | Time is an illusion lunchtime doubly so | |
Hartwich | CAN frame time-stamping—Supporting AUTOSAR time base synchronization | |
CN104639273A (zh) | 一种适用于lan网络下通信设备的时间同步方法 | |
KR20230087090A (ko) | 이기종 시스템의 태스크 동기화 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |