CN113691342A - 一种用于虚拟化平台时间同步的方法及系统 - Google Patents

一种用于虚拟化平台时间同步的方法及系统 Download PDF

Info

Publication number
CN113691342A
CN113691342A CN202111068833.8A CN202111068833A CN113691342A CN 113691342 A CN113691342 A CN 113691342A CN 202111068833 A CN202111068833 A CN 202111068833A CN 113691342 A CN113691342 A CN 113691342A
Authority
CN
China
Prior art keywords
virtual machine
time synchronization
virtualization platform
virtual
clock
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.)
Pending
Application number
CN202111068833.8A
Other languages
English (en)
Inventor
朱天顺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Yunzhou Information Technology Co ltd
Original Assignee
Shanghai Yunzhou Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Yunzhou Information Technology Co ltd filed Critical Shanghai Yunzhou Information Technology Co ltd
Priority to CN202111068833.8A priority Critical patent/CN113691342A/zh
Publication of CN113691342A publication Critical patent/CN113691342A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional 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)

Abstract

本申请提供一种用于虚拟化平台时间同步的技术方案,该技术方案在所述虚拟化平台中创建第一虚拟机,并基于所述第一虚拟机获取外部PTP时钟,以作为所述第一虚拟机的系统时钟;将所述第一虚拟机配置为所述虚拟化平台的NTP服务端,并将所述虚拟化平台中需要时间同步的虚拟机配置为NTP客户端;基于所述第一虚拟机及所述需要时间同步的虚拟机中配置的时间同步服务,实现所述虚拟化平台中各虚拟机的时间同步,其中,所述虚拟化平台各虚拟机基于配置的虚拟网卡实现互联。通过该技术方案,可使得虚拟化平台获得高精准的PTP时钟,并可在无需额外增加硬件投入情况下,使得虚拟化平台内各虚拟机实现高精度时间同步。

Description

一种用于虚拟化平台时间同步的方法及系统
技术领域
本申请涉及云计算技术领域,尤其涉及一种用于虚拟化平台时间同步的技术。
背景技术
在工业控制领域,特别是在智能制造的工业控制中对时间的准确性及时间同步的精度要求很高,传统的如GPS、NTP(Network Time Protocol,网络时间协议)等时间同步技术的时间同步精度,已无法满足。尤其是采用基于时隙进行通讯的TSN(Time SensitiveNetwork,时间敏感网络)的智能制造的工业控制应用场景中,具有更高精度的时间同步技术PTP(Precision Time Protocol,精密时间协议)得到越来越广泛的应用。
而云计算数据中心在智能制造中发挥的作用越来越大,云计算数据中心通常通过提供虚拟化平台向客户提供服务。基于安全性、保密性,每个客户的虚拟化平台业务网络类似一个公司的局域网,不同客户的虚拟化平台之间是数据隔离的。采用虚拟机所在物理机的系统时钟直接作为主时钟并不能确保虚拟化平台各虚拟机能获得高精准的时钟,而云计算数据中心传统模式下统一配置的外部授时源又无法应用于虚拟化平台内各虚拟机的授时及同步。
因此,如何为云计算数据中心各客户的虚拟化平台提供精准的时钟及实现各虚拟机之间的高精度时间同步是需要解决的技术问题。
发明内容
本申请的目的是提供一种用于虚拟化平台时间同步的技术方案,用以解决现有云计算数据中心的各虚拟化平台无法获得精准时钟及实现各虚拟机之间的高精度时间同步的技术问题。
根据本申请的一个方面,提供了一种用于虚拟化平台时间同步的方法,其中,所述方法包括:
在所述虚拟化平台中创建第一虚拟机,并基于所述第一虚拟机获取外部PTP时钟,以作为所述第一虚拟机的系统时钟;
将所述第一虚拟机配置为所述虚拟化平台的NTP服务端,并将所述虚拟化平台中需要时间同步的虚拟机配置为NTP客户端;
基于所述第一虚拟机及所述需要时间同步的虚拟机中配置的时间同步服务,实现所述虚拟化平台中各虚拟机的时间同步,其中,所述虚拟化平台各虚拟机基于配置的虚拟网卡实现互联。
可选地,其中,所述基于所述第一虚拟机获取外部PTP时钟包括:
将所述第一虚拟机所在物理机的一个物理网卡进行虚拟化配置,以实现所述网卡直接与所述第一虚拟机通信,并将所述第一虚拟机配置成PTP从时钟模式;
基于所述物理网卡,启动所述第一虚拟机的PTP从时钟模式时间同步服务,获取外部PTP时钟。
可选地,其中,所述将所述第一虚拟机所在物理机的一个物理网卡进行虚拟化配置包括:
基于所述物理机的设备直接分配特性及虚拟IO功能框架,将所述物理网卡进行虚拟化配置。
可选地,其中,所述时间同步服务包括以下任一项:
Chrony时间同步服务;
NTP时间同步服务。
可选地,其中,所述虚拟网卡包括基于半虚拟化IO网络框架配置的虚拟网卡。
进一步地,所述一种用于虚拟化平台时间同步的方法还包括:
在所述虚拟化平台中创建第二虚拟机,并将所述第二虚拟机所在物理机的一个物理网卡进行虚拟化配置,以实现所述网卡直接与所述第二虚拟机通信;
将所述第二虚拟机配置成PTP从时钟模式,并基于所述物理网卡,启动所述第二虚拟机的PTP从时钟模式时间同步服务,获取外部PTP时钟,以作为所述第二虚拟机的系统时钟;
将所述第二虚拟机配置为所述虚拟化平台的NTP服务端;
其中,所述基于所述第一虚拟机及所述需要时间同步的虚拟机中配置的时间同步服务,实现所述虚拟化平台中各虚拟机的时间同步包括:
基于所述第一虚拟机、第二虚拟机及所述需要时间同步的虚拟机中配置的时间同步服务,实现所述虚拟化平台中各虚拟机的时间同步。
可选地,其中,所述将所述第二虚拟机确定为所述虚拟化平台的NTP服务端包括以下任一项:
将所述第二虚拟机配置为所述虚拟化平台的NTP服务端,以与所述第一虚拟机以双活模式提供时间同步服务;
将所述第二虚拟机配置为所述虚拟化平台的NTP备用服务端,以与所述第一虚拟机以主备模式提供时间同步服务,其中,所述第一虚拟机被配置为所述虚拟化平台的NTP主服务端。
根据本申请的另一方面,还提供了一种用于虚拟化平台时间同步的系统,其中,所述系统包括:
第一模块,用于在所述虚拟化平台中创建第一虚拟机,并基于所述第一虚拟机获取外部PTP时钟,以作为所述第一虚拟机的系统时钟;
第二模块,用于将所述第一虚拟机配置为所述虚拟化平台的NTP服务端,并将所述虚拟化平台中需要时间同步的虚拟机配置为NTP客户端;
第三模块,用于基于所述第一虚拟机及所述需要时间同步的虚拟机中配置的时间同步服务,实现所述虚拟化平台中各虚拟机的时间同步,其中,所述虚拟化平台各虚拟机基于配置的虚拟网卡实现互联。
可选地,所述系统还包括:
第四模块,用于在所述虚拟化平台中创建第二虚拟机,并将所述第二虚拟机所在物理机的一个物理网卡进行虚拟化配置,以实现所述网卡直接与所述第二虚拟机通信,将所述第二虚拟机配置成PTP从时钟模式,并基于所述物理网卡,启动所述第二虚拟机的PTP从时钟模式时间同步服务,获取外部PTP时钟,以作为所述第二虚拟机的系统时钟,并将所述第二虚拟机配置为所述虚拟化平台的NTP服务端;
其中,所述第三模块用于基于所述第一虚拟机、第二虚拟机及所述需要时间同步的虚拟机中配置的时间同步服务,实现所述虚拟化平台中各虚拟机的时间同步。
与现有技术相比,本申请提供一种用于虚拟化平台时间同步的技术方案,该技术方案在所述虚拟化平台中创建第一虚拟机,并基于所述第一虚拟机获取外部PTP时钟,以作为所述第一虚拟机的系统时钟;将所述第一虚拟机配置为所述虚拟化平台的NTP服务端,并将所述虚拟化平台中需要时间同步的虚拟机配置为NTP客户端;基于所述第一虚拟机及所述需要时间同步的虚拟机中配置的时间同步服务,实现所述虚拟化平台中各虚拟机的时间同步,其中,所述虚拟化平台各虚拟机基于配置的虚拟网卡实现互联。通过该技术方案,可使得虚拟化平台获得高精准的PTP时钟,并可在无需额外增加硬件投入情况下,使得虚拟化平台内各虚拟机实现高精度时间同步。进一步地,还可在所述虚拟化平台中创建第二虚拟机,并基于所述第二虚拟机获取外部PTP时钟,以作为所述第二虚拟机的系统时钟;将所述第二虚拟机配置为所述虚拟化平台的NTP服务端,与所述第一虚拟机一起向所述虚拟平台内各虚拟机提供高精度的时间同步。以提高所述虚拟化平台获取高精准的PTP时钟及实现高精度时间同步的可靠性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的一种用于虚拟化平台时间同步的方法流程图;
图2示出一种基于VFIO功能框架实现PCI设备透传的框架示意图;
图3示出请求应答机制下两步模式PTP同步的原理示意图;
图4示出一种虚拟化平台PTP时间同步的框架示意图;
图5示出一个实施例的一种用于虚拟化平台时间同步的方法的一个虚拟化平台架构示意图;
图6示出根据本申请另一个方面一种用于虚拟化平台时间同步的系统示意图;
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
为使本申请的目的、请求保护的技术方案和效果更加明确,下面结合实施例及附图对本申请请求保护的技术方案进行清楚、完整地描述。显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应属于本申请保护的范围。
在本申请实施例的典型配置中,系统各模块、设备和/或可信方可包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以通过相关方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质可以包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
为更进一步阐述本申请所采取的技术手段及取得的效果,下面结合附图及可选实施例,对本申请的技术方案,进行清楚和完整的描述。
图1示出本申请一个方面的一种用于虚拟化平台时间同步的方法流程图,其中,一个实施例的方法包括:
S11在所述虚拟化平台中创建第一虚拟机,并基于所述第一虚拟机获取外部PTP时钟,以作为所述第一虚拟机的系统时钟;
S12将所述第一虚拟机配置为所述虚拟化平台的NTP服务端,并将所述虚拟化平台中需要时间同步的虚拟机配置为NTP客户端;
S13基于所述第一虚拟机及所述需要时间同步的虚拟机中配置的时间同步服务,实现所述虚拟化平台中各虚拟机的时间同步,其中,所述虚拟化平台各虚拟机基于配置的虚拟网卡实现互联。
在本申请中,所述方法通过设备100执行,所述设备100为云计算数据中心中可部署虚拟机的计算机设备和/或云,所述计算机设备包括但不限于个人计算机、笔记本电脑、工业计算机、网络主机、单个网络服务器、多个网络服务器集;所述云由基于云计算(CloudComputing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。
在此,所述计算机设备和/或云仅为举例,其他现有的或者今后可能出现的设备和/或资源共享平台如适用于本申请也应包含在本申请的保护范围内,在此,以引用的方式包含于此。
在本申请中,所述设备100采用支持设备直接分配特性的CPU,例如,支持VT-d(Virtualization Technology for Directed Input/Output,指定输入输出虚拟化技术)的Intel CPU,或者支持IOMMU(Input/Output Memory Management Unit,输入输出存储器管理单元)的AMD CPU。可通过设备100的操作系统内核中配置的VFIO(Virtual FunctionInput/Output,虚拟功能输入/输出)功能框架,将设备100上的物理PCI设备(如采用PCI总线的物理网卡)直接分配给其上创建的虚拟化平台中的虚拟机,实现物理PCI设备透传,其中,VFIO功能框架包括DMA-remapper、VFIO-PCI、KVM-hypervisor组件,其中,DMA-remapper组件用于控制设备DMA(Direct Memory Access,直接存储器访问)地址映射到物理地址,为虚拟化软件DMA访问带来了性能提升;VFIO-PCI组件可以将物理PCI设备直接分配给虚拟化平台上的虚拟机;KVM-hypervisor组件是构建虚拟化平台的关键组件,虚拟化平台上的虚拟机均由KVM-hypervisor组件来实现。一种基于VFIO功能框架实现PCI设备透传的框架示意图如图2所示。
在本申请中,由若干如所述设备100的物理机组成云计算数据中心,在物理机中创建若干虚拟化平台,向企业租户/客户提供云计算服务。通常,每个虚拟化平台服务一个企业,每个虚拟化平台可包括若干虚拟机,而基于安全性考虑,各虚拟化平台之间互相隔离。根据企业业务需要,特别是对时间的准确性要求高的业务,对同一虚拟化平台中的各虚拟机的系统时钟要求高精度。
在该实施例中,在所述步骤S11中,在一个虚拟化平台中创建第一虚拟机,并基于该虚拟机直接获取高精准的外部PTP时钟,以作为所述第一虚拟机的系统时钟。
其中,外部PTP时钟可以来源自PHC(PTP Hardware Clock,PTP硬件时钟)时钟源,也可以是来源自PTP网络时钟源,比如将PTP精准同步网络中的TSN交换机作为外部PTP时钟源,其中,TSN交换机配置为边界时钟模式,其外部PTP时钟可以来源自PHC时钟源,也可以来源自PTP精准同步网络中的其它TSN交换机。PHC时钟源或TSN交换机的PTP功能通过特定硬件向PTP网络提供PTP数据包,处于PTP网络中的物理机的物理网卡捕获PTP数据包中的时间戳。若网络中存在多个TSN交换机,为了提升PTP网络的可靠性,各TSN交换机之间可采用环形组网。
可选地,其中,基于该虚拟机直接获取外部PTP时钟包括:
将该虚拟机所在的物理机的一个物理网卡进行虚拟化配置,以实现该物理网卡直接与该虚拟机通信,并将该虚拟机配置成PTP从时钟模式;
基于该网卡,启动该虚拟机的PTP从时钟模式时间同步服务,获取外部PTP时钟。
其中,外部PTP时钟源作为主时钟,虚拟机作为PTP从时钟,虚拟机基于PTP协议与外部PTP时钟源实现高精度的时间同步。
PTP协议定义了两种传播延时测量机制:请求应答(Requset_Response)机制和端延时(Peer Delay)机制。
请求应答机制下PTP同步的原理如下:
PTP主时钟与PTP从时钟之间通过交互同步报文并记录报文的收发时间戳来实现同步,报文的收发包括单步模式和两步模式,采用的报文为Sync、Follow_up(两步模式)、Delay_req、Delay_resp。两步模式下PTP同步原理如图3所示:主时钟向从时钟发送Sync报文,并记录发送时间T1;在发送Sync报文后还会发送一个Follow_up报文(单步模式下不发送),Follow_up报文中携带有Sync报文的准确发送时间T1;从时钟收到Sync和Follow_up报文,记录下收到Sync报文的时间T2,并记录下Follow_up报文中的T1;向主时钟发送一个Delay_req报文,并记录发送时间T3,Delay_req报文中携带了从时钟发送Delay_req报文的时间T3;主时钟收到该报文后记录接收时间T4,向从时钟发送一个Delay_resp报文,Delay_resp报文中携带了主时钟收到Delay_req的时间T4;从时钟收到Delay_resp报文后记录下报文中的T4。此时,从时钟便有T1~T4这4个时间戳,通过计算同步报文往返的时间差可计算主、从时钟之间的往返总延时(由这4个时间戳可以计算出主时钟与从时钟之间的线路时延Delay和主从时钟的时间偏差Offset(假设主时钟比从时钟快Offset)。若主时钟到从时钟的线路时延为Delay1,从时钟到主时钟的线路时延为Delay2,则
T2=T1+Delay1+Offset
T4=T3+Delay2-Offset
假设主、从时钟之间往返的线路时延相同,即Delay1=Delay2,则可以根据这4个时间戳计算出:
Delay=[(T2-T1)+(T4-T3)]/2
Offset=[(T2-T1)-(T4-T3)]/2
从时钟根据计算得到的Offset值便可以调整从时钟的时间,从而实现与主时钟的同步。
对于非对称性网络拓扑,Delay1与Delay2不相等,为了保证同步精度,需要通过额外算法或外部方式进行补偿。
与请求应答机制相比,端延时机制不仅对转发延时进行扣除,还对上游链路的延时进行扣除。
可选地,其中,将该虚拟机所在物理机的一个物理网卡进行虚拟化配置包括:
基于该物理机采用的CPU支持的设备直接分配特性及其操作系统内核配置的VFIO功能框架,将所述物理网卡进行虚拟化配置。
其中,通过VFIO功能框架,可将物理网卡透传到虚拟机,使虚拟机能直接使用物理网卡,在物理网卡直接连接外部PTP时钟源时,可为虚拟机提供硬件时间戳。
为了提升虚拟机获取外部PTP时钟的可靠性,可选地,还可以为该虚拟机虚拟化配置第二个物理网卡,其中,虚拟化配置的第一个物理网卡获取一个外部PTP时钟,生成硬件时间戳,将硬件时间戳透传给该虚拟机作为PTP主时钟,虚拟化配置的第二个物理网卡获取另外一个来源的外部PTP时钟,生成硬件时间戳,将硬件时间戳透传给该虚拟机作为PTP备时钟。若第一个物理网卡或其对应的外部PTP时钟源因故障失效,虚拟机无法基于第一个物理网卡透传获取外部PTP时钟,则会自动切换到基于第二个物理网卡透传获取的外部PTP时钟作为主时钟。
在该实施例的一个可选实现方式中,若虚拟化平台中各虚拟机提供的服务对时钟的要求都是高精准的,则可以参照上述步骤为每个虚拟机虚拟化配置一个物理网卡,为虚拟机透传物理网卡,以从时钟模式获取外部PTP时钟,作为虚拟机的系统时钟。
一种虚拟化平台PTP时间同步的框架如图4所示,其中,包括以下几种PTP时钟类型:
MC(MasterClock,主时钟):也可称为根时钟,是PTP网络内的最高级别时钟,它是整个PTP网络中所有设备的时间来源。
SC(Slave Clock,从时钟):可与MC同步,从MC侧捕获PTP数据包,获取时间;或者与BC(Boundary Clock,边界时钟)同步,从BC侧捕获PTP数据包,获取时间。在应用于智能制造的工业控制领域的云计算数据中心中,物理机通常是SC,在本申请中将通过物理网卡透传获得PTP硬件时间戳的虚拟机作为SC。
OC(Ordinary Clock,普通时钟):指具有单个PTP端口的PTP时钟。它可以是MC或SC。
BC:是在MC与SC或BC之间的中间时钟设备,具有多个PTP端口并维护使用的时间戳。BC上的不同端口可以是主端口(向SC或BC提供PTP数据包)或从端口(从MC或BC获取PTP数据包)。
在该实施例的另一个可选实现方式中,根据应用场景的实际业务需要,虚拟化平台中包含若干高精度PTP时钟需求的虚拟机(可称为高精度虚拟机集群)及若干普通精度要求的虚拟机(可称为普通精度虚拟机集群)。对于高精度虚拟机集群中的高精度PTP时钟需求的虚拟机,可采用如前所述的该实施例的一个可选实现方式,为每个虚拟机虚拟化配置一个物理网卡,为虚拟机透传物理网卡,以从时钟模式获取外部PTP时钟,作为虚拟机的系统时钟。
而对于普通精度虚拟机集群中的普通精度要求的虚拟机,由于通常服务于企业客户的虚拟化平台内部环境中无NTP时间源;同时由于网络安全性要求,虚拟化平台中各虚拟机通常基于配置的虚拟网卡支持的业务网络均为纯内网模式,无法访问外部互联网,因此无法采用外部NTP时间源为各虚拟机授时及同步时间;而且虚拟网卡无法支持硬件时间戳与软件时间戳,因此也无法采用PTP模式进行时间同步;又不太可能增加投入,为每个虚拟机虚拟化配置一个物理网卡。因此,基于上述步骤S11中获取到PTP时钟的高精度虚拟机集群中的虚拟机,可以考虑将普通精度虚拟机集群中普通精度要求的虚拟机与高精度虚拟机集群中具有高精度PTP时钟的虚拟机通过传统的NTP时间同步方式进行时间同步,以实现满足NTP精度的授时及时间同步。
在该可选实现方式中,在所述步骤S12中,将步骤S11中创建的第一虚拟机配置为该虚拟化平台的NTP服务端,并将该虚拟化平台中需要普通精度时间同步要求的若干虚拟机配置为NTP客户端。
继续在该可选实现方式中,在所述步骤S13中,基于第一虚拟机及该虚拟化平台中需要普通精度时间同步要求的若干虚拟机中配置的时间同步服务,实现所述虚拟化平台中各虚拟机的时间同步,其中,所述虚拟化平台各虚拟机基于配置的虚拟网卡实现互联。
其中,启动第一虚拟机及该虚拟化平台中需要普通精度时间同步要求的若干虚拟机中配置的时间同步服务,第一虚拟机提供NTP时钟,若干虚拟机获取NTP时钟,基于NTP时间同步协议,实现时间同步。
可选地,其中,所述时间同步服务包括以下任一项:
Chrony时间同步服务;
NTP时间同步服务。
其中,可以在第一虚拟机及各普通精度时间同步要求的虚拟机中配置Chronyd服务,启动该服务来实现各普通精度时间同步要求的虚拟机与第一虚拟机的NTP时间同步;也可以在第一虚拟机及各普通精度时间同步要求的虚拟机中配置NTPd服务,启动该服务来实现各普通精度时间同步要求的虚拟机与第一虚拟机的NTP时间同步。
可选地,其中,所述虚拟网卡包括基于虚拟IO网络框架配置的虚拟网卡。
其中,作为NTP服务端的虚拟机与作为NTP客户端的虚拟机之间的网络通信可基于各自配置的虚拟网卡实现,比如,各自配置的虚拟网卡包括基于KVM虚拟环境下针对I/O虚拟化的VirtIO-Net(VirtualIO-Network,虚拟IO网络)模式配置的虚拟网卡,具有高性能与可扩展性。
可选地,所示实施例的方法还包括:
S14(未示出)在所述虚拟化平台中创建第二虚拟机,并将所述第二虚拟机所在物理机的一个物理网卡进行虚拟化配置,以实现所述网卡直接与所述第二虚拟机通信;
S15(未示出)将所述第二虚拟机配置成PTP从时钟模式,并基于所述物理网卡,启动所述第二虚拟机的PTP从时钟模式时间同步服务,获取外部PTP时钟,以作为所述第二虚拟机的系统时钟;
S16(未示出)将所述第二虚拟机配置为所述虚拟化平台的NTP服务端;
其中,所述步骤S13中,所述基于所述第一虚拟机及所述需要时间同步的虚拟机中配置的时间同步服务,实现所述虚拟化平台中各虚拟机的时间同步包括:
基于所述第一虚拟机、第二虚拟机及所述需要时间同步的虚拟机中配置的时间同步服务,实现所述虚拟化平台中各虚拟机的时间同步。
其中,为了提高可靠性,在将前述高精度集群中的一台获取外部PTP时钟的虚拟机(第一虚拟机)作为NTP服务端外,还可以在前述高精度集群中配置另一台获取外部PTP时钟的虚拟机(第二虚拟机)也作为NTP服务端,采用双机模式来对作为NTP客户端的普通精度虚拟机集群中各虚拟机进行NTP授时及时间同步。
可选地,其中,所述将所述第二虚拟机确定为所述虚拟化平台的NTP服务端包括以下任一项:
将所述第二虚拟机配置为所述虚拟化平台的NTP服务端,以与所述第一虚拟机以双活模式提供时间同步服务;
将所述第二虚拟机配置为所述虚拟化平台的NTP备用服务端,以与所述第一虚拟机以主备模式提供时间同步服务,其中,所述第一虚拟机被配置为所述虚拟化平台的NTP主服务端。
实现上述实施例的方法的一个虚拟化平台架构如图5所示。
其中,基于设备100的虚拟化平台主机系统(即物理机的操作系统),构建虚拟化平台,其中,KVM-hypervisor组件是构建虚拟化平台的关键组件,虚拟化平台上的虚拟机均由KVM-hypervisor组件来实现;DMA-remapper组件是IOMMU的组成部分,用于控制设备DMA地址映射到机器物理地址,中断重映射,为虚拟化软件DMA访问带来性能提升;VFIO-PCI组件可以安全的把设备I/O、中断、DMA等暴露到虚拟机,比如,可将物理网卡等PCI设备直接分配给虚拟化平台上的虚拟机。本申请中,DMA-remapper组件及VFIO-PCI组件一体配置,用于将设备100的两个物理网卡分别透传给高精度虚拟机集群中的两个有高精度时间要求的虚拟机PTP-Slave-VM1及PTP-Slave-VM2,使这两个虚拟机能直接使用物理网卡。其中,这两个虚拟机被配置成PTP从时钟模式,基于物理网卡透传从外部PTP主时钟获取的外部PTP时钟硬件时间戳,为这两个虚拟机提供硬件时间戳,作为这两个虚拟机的系统时钟。
其中,将这两个虚拟机PTP-Slave-VM1及PTP-Slave-VM2配置成NTP服务端,将其系统时钟作为NTP时钟源,以双活模式向虚拟化平台中普通精度虚拟机集群中的虚拟机提供NTP授时及时间同步,其中,普通精度虚拟机集群中的虚拟机被配置成NTP客户端。
图6示出根据本申请另一个方面的一种用于虚拟化平台时间同步的系统示意图,其中,所述系统包括:
第一模块61,用于在所述虚拟化平台中创建第一虚拟机,并基于所述第一虚拟机获取外部PTP时钟,以作为所述第一虚拟机的系统时钟;
第二模块62,用于将所述第一虚拟机配置为所述虚拟化平台的NTP服务端,并将所述虚拟化平台中需要时间同步的虚拟机配置为NTP客户端;
第三模块63,用于基于所述第一虚拟机及所述需要时间同步的虚拟机中配置的时间同步服务,实现所述虚拟化平台中各虚拟机的时间同步,其中,所述虚拟化平台各虚拟机基于配置的虚拟网卡实现互联。
在该实施例中,所述系统用于实施前述实施例的方法,所述系统集成在与前述设备100软硬件配置环境相同的设备中。
其中,该系统的第一模块61在基于设备100虚拟化主机系统创建的一个虚拟化平台中创建第一虚拟机,并基于该虚拟机直接获取高精准的外部PTP时钟,以作为所述第一虚拟机的系统时钟。其中,外部PTP时钟可以来源自PHC时钟源,也可以是来源自PTP网络时钟源,比如将PTP精准同步网络中的TSN交换机作为外部PTP时钟源,其中,TSN交换机配置为边界时钟模式,其外部PTP时钟可以来源自PHC时钟源,也可以来源自PTP精准同步网络中的其它TSN交换机。PHC时钟源或TSN交换机的PTP功能通过特定硬件向PTP网络提供PTP数据包,处于PTP网络中的物理机的物理网卡捕获PTP数据包中的时间戳。
在该实施例的另一个可选实现方式中,根据应用场景的实际业务需要,虚拟化平台中包含若干高精度PTP时钟需求的虚拟机(可称为高精度虚拟机集群)及若干普通精度要求的虚拟机(可称为普通精度虚拟机集群)。对于高精度虚拟机集群中的高精度PTP时钟需求的虚拟机,可通过第一模块61为每个虚拟机虚拟化配置一个物理网卡,为虚拟机透传物理网卡,以从时钟模式获取外部PTP时钟,作为虚拟机的系统时钟。而对于普通精度虚拟机集群中的普通精度要求的虚拟机,基于上述第一模块61获取到PTP时钟的高精度虚拟机集群中的虚拟机,可以考虑将普通精度虚拟机集群中普通精度要求的虚拟机与高精度虚拟机集群中具有高精度PTP时钟的虚拟机通过传统的NTP时间同步方式进行时间同步,以实现满足NTP精度的授时及时间同步。
其中,该系统的第二模块62将通过第一模块61创建的第一虚拟机配置为该虚拟化平台的NTP服务端,并将该虚拟化平台中需要普通精度时间同步要求的若干虚拟机配置为NTP客户端。
其中,该系统的第三模块63基于第一虚拟机及该虚拟化平台中需要普通精度时间同步要求的若干虚拟机中配置的时间同步服务,实现所述虚拟化平台中各虚拟机的时间同步,其中,所述虚拟化平台各虚拟机基于配置的虚拟网卡实现互联。
其中,启动第一虚拟机及该虚拟化平台中需要普通精度时间同步要求的若干虚拟机中配置的时间同步服务,第一虚拟机提供NTP时钟,若干虚拟机获取NTP时钟,基于NTP时间同步协议,实现时间同步。
根据本申请的又一方面,还提供了一种计算机可读介质,所述计算机可读介质存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述方法。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请中涉及的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备运行基于前述根据本申请的多个实施例的方法和/或技术方案。
根据本申请的还一方面,还提供了一种用于虚拟化平台时间同步的设备,其中,该设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述方法的操作。
例如,计算机可读指令在被执行时使所述一个或多个处理器:在所述虚拟化平台中创建第一虚拟机,并基于所述第一虚拟机获取外部PTP时钟,以作为所述第一虚拟机的系统时钟;将所述第一虚拟机配置为所述虚拟化平台的NTP服务端,并将所述虚拟化平台中需要时间同步的虚拟机配置为NTP客户端;基于所述第一虚拟机及所述需要时间同步的虚拟机中配置的时间同步服务,实现所述虚拟化平台中各虚拟机的时间同步,其中,所述虚拟化平台各虚拟机基于配置的虚拟网卡实现互联。进一步地,还在所述虚拟化平台中创建第二虚拟机,并将所述第二虚拟机所在物理机的一个物理网卡进行虚拟化配置,以实现所述网卡直接与所述第二虚拟机通信;将所述第二虚拟机配置成PTP从时钟模式,并基于所述物理网卡,启动所述第二虚拟机的PTP从时钟模式时间同步服务,获取外部PTP时钟,以作为所述第二虚拟机的系统时钟;将所述第二虚拟机配置为所述虚拟化平台的NTP服务端;基于所述第一虚拟机、第二虚拟机及所述需要时间同步的虚拟机中配置的时间同步服务,实现所述虚拟化平台中各虚拟机的时间同步。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件和/或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (9)

1.一种用于虚拟化平台时间同步的方法,其特征在于,所述方法包括:
在所述虚拟化平台中创建第一虚拟机,并基于所述第一虚拟机获取外部PTP时钟,以作为所述第一虚拟机的系统时钟;
将所述第一虚拟机配置为所述虚拟化平台的NTP服务端,并将所述虚拟化平台中需要时间同步的虚拟机配置为NTP客户端;
基于所述第一虚拟机及所述需要时间同步的虚拟机中配置的时间同步服务,实现所述虚拟化平台中各虚拟机的时间同步,其中,所述虚拟化平台各虚拟机基于配置的虚拟网卡实现互联。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一虚拟机获取外部PTP时钟包括:
将所述第一虚拟机所在物理机的一个物理网卡进行虚拟化配置,以实现所述网卡直接与所述第一虚拟机通信,并将所述第一虚拟机配置成PTP从时钟模式;
基于所述物理网卡,启动所述第一虚拟机的PTP从时钟模式时间同步服务,获取外部PTP时钟。
3.根据权利要求2所述的方法,其特征在于,所述将所述第一虚拟机所在物理机的一个物理网卡进行虚拟化配置包括:
基于所述物理机的设备直接分配特性及虚拟IO功能框架,将所述物理网卡进行虚拟化配置。
4.根据权利要求1所述的方法,其特征在于,所述时间同步服务包括以下任一项:
Chrony时间同步服务;
NTP时间同步服务。
5.根据权利要求1所述的方法,其特征在于,所述虚拟网卡包括基于虚拟IO网络框架配置的虚拟网卡。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述虚拟化平台中创建第二虚拟机,并将所述第二虚拟机所在物理机的一个物理网卡进行虚拟化配置,以实现所述网卡直接与所述第二虚拟机通信;
将所述第二虚拟机配置成PTP从时钟模式,并基于所述物理网卡,启动所述第二虚拟机的PTP从时钟模式时间同步服务,获取外部PTP时钟,以作为所述第二虚拟机的系统时钟;
将所述第二虚拟机配置为所述虚拟化平台的NTP服务端;
其中,所述基于所述第一虚拟机及所述需要时间同步的虚拟机中配置的时间同步服务,实现所述虚拟化平台中各虚拟机的时间同步包括:
基于所述第一虚拟机、第二虚拟机及所述需要时间同步的虚拟机中配置的时间同步服务,实现所述虚拟化平台中各虚拟机的时间同步。
7.根据权利要求6所述的方法,其特征在于,所述将所述第二虚拟机确定为所述虚拟化平台的NTP服务端包括以下任一项:
将所述第二虚拟机配置为所述虚拟化平台的NTP服务端,以与所述第一虚拟机以双活模式提供时间同步服务;
将所述第二虚拟机配置为所述虚拟化平台的NTP备用服务端,以与所述第一虚拟机以主备模式提供时间同步服务,其中,所述第一虚拟机被配置为所述虚拟化平台的NTP主服务端。
8.一种用于虚拟化平台时间同步的系统,其特征在于,所述系统包括:
第一模块,用于在所述虚拟化平台中创建第一虚拟机,并基于所述第一虚拟机获取外部PTP时钟,以作为所述第一虚拟机的系统时钟;
第二模块,用于将所述第一虚拟机配置为所述虚拟化平台的NTP服务端,并将所述虚拟化平台中需要时间同步的虚拟机配置为NTP客户端;
第三模块,用于基于所述第一虚拟机及所述需要时间同步的虚拟机中配置的时间同步服务,实现所述虚拟化平台中各虚拟机的时间同步,其中,所述虚拟化平台各虚拟机基于配置的虚拟网卡实现互联。
9.一种计算机可读介质,其特征在于,
其上存储有计算机可读指令,所述计算机可读指令被处理器执行以实现如权利要求1至7中任一项所述的方法。
CN202111068833.8A 2021-09-13 2021-09-13 一种用于虚拟化平台时间同步的方法及系统 Pending CN113691342A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111068833.8A CN113691342A (zh) 2021-09-13 2021-09-13 一种用于虚拟化平台时间同步的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111068833.8A CN113691342A (zh) 2021-09-13 2021-09-13 一种用于虚拟化平台时间同步的方法及系统

Publications (1)

Publication Number Publication Date
CN113691342A true CN113691342A (zh) 2021-11-23

Family

ID=78586139

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111068833.8A Pending CN113691342A (zh) 2021-09-13 2021-09-13 一种用于虚拟化平台时间同步的方法及系统

Country Status (1)

Country Link
CN (1) CN113691342A (zh)

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103763142A (zh) * 2014-01-23 2014-04-30 电子科技大学 多模异构dtn网络模拟验证系统及方法
US20160112182A1 (en) * 2014-10-15 2016-04-21 Anue Systems, Inc. Network Packet Timing Synchronization For Virtual Machine Host Systems
CN108540251A (zh) * 2018-06-27 2018-09-14 四川斐讯信息技术有限公司 一种路由器的对时方法及系统
CN108932180A (zh) * 2018-06-21 2018-12-04 郑州云海信息技术有限公司 一种容灾管理方法、装置、存储介质和计算机设备质
CN109254873A (zh) * 2018-08-15 2019-01-22 华为技术有限公司 数据备份方法、相关装置及系统
US20190079790A1 (en) * 2017-09-08 2019-03-14 Fujitsu Limited Information processing apparatus and information processing system
CN109672752A (zh) * 2019-01-16 2019-04-23 上海云轴信息科技有限公司 数据同步的方法及节点
CN110502310A (zh) * 2018-05-18 2019-11-26 北京东土科技股份有限公司 一种虚拟机的时间同步方法及装置
CN111294135A (zh) * 2020-03-09 2020-06-16 山东超越数控电子股份有限公司 一种面向边缘云的多级时钟同步方法
CN111404628A (zh) * 2019-06-05 2020-07-10 杭州海康威视系统技术有限公司 一种时间同步方法和装置
CN111600755A (zh) * 2020-05-13 2020-08-28 世纪龙信息网络有限责任公司 上网行为管理系统和方法
CN111769896A (zh) * 2020-06-12 2020-10-13 苏州浪潮智能科技有限公司 一种bmc集群化管理时间同步方法及系统
CN111953442A (zh) * 2020-06-28 2020-11-17 成都星辰瀑布通信技术有限公司 一种快速高精度时间同步系统
CN112039719A (zh) * 2020-07-20 2020-12-04 河北汉光重工有限责任公司 一种用于linux系统的PTP时钟同步精度测试方法
CN112839105A (zh) * 2021-02-20 2021-05-25 厦门宏泰科技研究院有限公司 智能运算控制系统及装置

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103763142A (zh) * 2014-01-23 2014-04-30 电子科技大学 多模异构dtn网络模拟验证系统及方法
US20160112182A1 (en) * 2014-10-15 2016-04-21 Anue Systems, Inc. Network Packet Timing Synchronization For Virtual Machine Host Systems
US20190079790A1 (en) * 2017-09-08 2019-03-14 Fujitsu Limited Information processing apparatus and information processing system
CN110502310A (zh) * 2018-05-18 2019-11-26 北京东土科技股份有限公司 一种虚拟机的时间同步方法及装置
CN108932180A (zh) * 2018-06-21 2018-12-04 郑州云海信息技术有限公司 一种容灾管理方法、装置、存储介质和计算机设备质
CN108540251A (zh) * 2018-06-27 2018-09-14 四川斐讯信息技术有限公司 一种路由器的对时方法及系统
CN109254873A (zh) * 2018-08-15 2019-01-22 华为技术有限公司 数据备份方法、相关装置及系统
CN109672752A (zh) * 2019-01-16 2019-04-23 上海云轴信息科技有限公司 数据同步的方法及节点
CN111404628A (zh) * 2019-06-05 2020-07-10 杭州海康威视系统技术有限公司 一种时间同步方法和装置
CN111294135A (zh) * 2020-03-09 2020-06-16 山东超越数控电子股份有限公司 一种面向边缘云的多级时钟同步方法
CN111600755A (zh) * 2020-05-13 2020-08-28 世纪龙信息网络有限责任公司 上网行为管理系统和方法
CN111769896A (zh) * 2020-06-12 2020-10-13 苏州浪潮智能科技有限公司 一种bmc集群化管理时间同步方法及系统
CN111953442A (zh) * 2020-06-28 2020-11-17 成都星辰瀑布通信技术有限公司 一种快速高精度时间同步系统
CN112039719A (zh) * 2020-07-20 2020-12-04 河北汉光重工有限责任公司 一种用于linux系统的PTP时钟同步精度测试方法
CN112839105A (zh) * 2021-02-20 2021-05-25 厦门宏泰科技研究院有限公司 智能运算控制系统及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
邢静宇: "《基于KVM的桌面云服务端I/O虚拟化解决方案研究》", 电子科技大学出版社, pages: 4 *

Similar Documents

Publication Publication Date Title
CN110932839B (zh) 一种网卡、时间同步方法、设备及计算机存储介质
US10727966B1 (en) Time synchronization with distributed grand master
US20200401434A1 (en) Precision time protocol in a virtualized environment
US8416811B2 (en) Coordinated timing network having servers of different capabilities
US10944818B1 (en) Time synchronization monitoring with client mirroring
CN103458036A (zh) 一种集群文件系统的访问装置和方法
JP2019523501A (ja) リスク識別方法、リスク識別装置、クラウドリスク識別装置及びシステム
CN109194432B (zh) 一种kvm下多虚拟机时间同步系统
CN113489563B (zh) 一种虚拟机的时钟同步方法和云平台
US20220357763A1 (en) Network Adapter Providing Isolated Self-Contained Time Services
CN113691342A (zh) 一种用于虚拟化平台时间同步的方法及系统
US20230300068A1 (en) Synchronization in Distributed Communication Systems
Davis et al. An IEEE-1588 compatible radclock
US7085948B2 (en) Method, apparatus, and computer program product for implementing time synchronization correction in computer systems
CN109274451B (zh) 一种时间获取方法、装置和设备
JP2018174445A (ja) 仮想lanの時刻同期方法
US10972374B1 (en) Managed time service for compute resources
CN115066872A (zh) 用于分布式和横向扩展应用程序的硬件辅助追踪方案
JP7265403B2 (ja) ネットワーク遅延計測方法及び装置並びにプログラム
US20230308378A1 (en) Trusted or attested packet timestamping
US12019466B2 (en) Virtual precision time protocol clock devices for virtual nodes
US11294417B2 (en) Distribution of trusted physical layer timing information using attestation
WO2022041936A1 (zh) 一种分布式系统中的时钟同步方法、装置及系统
US11967964B1 (en) Clock synchronization in a network using a distributed pulse signal
Kobori et al. Performance evaluation of portable time synchronization method using eBPF

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20211123