CN113157046B - 一种服务器bmc时间管理方法、装置及系统 - Google Patents
一种服务器bmc时间管理方法、装置及系统 Download PDFInfo
- Publication number
- CN113157046B CN113157046B CN202110321686.4A CN202110321686A CN113157046B CN 113157046 B CN113157046 B CN 113157046B CN 202110321686 A CN202110321686 A CN 202110321686A CN 113157046 B CN113157046 B CN 113157046B
- Authority
- CN
- China
- Prior art keywords
- time
- real
- time clock
- clock
- virtual real
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/14—Time supervision arrangements, e.g. real time clock
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Electric Clocks (AREA)
Abstract
本发明提出了一种服务器BMC时间管理方法,包括:机箱管理控制器中设置物理实时时钟,机箱管理控制器根据物理实时时钟进行虚拟化,生成多个虚拟实时时钟;其中,生成的多个虚拟实时时钟相互独立;控制每个生成的虚拟实时时钟与一一对应的节点BMC相互通信,为启动后的节点BMC提供时间,并根据节点BMC的命令修改对应虚拟实时时钟的时间,虚拟实时时钟的时间修改不影响物理实时时钟的时间,本发明还提出了一种服务器BMC时间管理装置及系统,可以低成本、快速、不修改硬件地实现裸金属服务器分配给不同客户的设备系统时间不同,CMC根据节点BMC的命令,同步CMC中对应的虚拟RTC时间后,不同客户系统时间不一致。
Description
技术领域
本发明涉及服务器时间管理领域,尤其是涉及一种服务器BMC时间管理方法、装置及系统。
背景技术
裸金属服务器(Bare Metal Server)对客户的租赁方式是按照物理服务器整租的,即客户会租赁若干个物理服务器整机,其数量可以随着客户算力需求灵活的弹性增减。但是,同一个客户的裸金属服务器可能分布在不同的位置,反之,同一个整机柜/机箱中的各节点也会分配给不同的客户,这些客户可能遍布全球任何位置。
当裸金属服务器分配给不同的客户后,客户可能是分布在不同的时区/地区/国家,其使用的系统时间是不一样的,或者客户因为特殊业务要求或者测试等因素而改动时间。而CMC(Chassis Management Controller,机箱管理控制器,在刀片等多节点服务器中对整机进行管理控制,可以对各节点BMC发送命令进行管理)中的物理RTC(Real_TimeClock,实时时钟)时间是统一的,同步后的时间依然无法跟其服务器系统时间对应,对日志查询或故障定位依然造成困扰。
每个服务器上都有基板管理控制器(BMC),为了便于管理、日志追踪和故障定位,BMC的时间需要跟操作系统的系统时间相同。现有技术中,BMC自身的RTC时钟不支持备用电源,下电后时间丢失,每次上电BMC是从BIOS中获取COMS(Complementary metal-oxide-semiconductor,电脑主机板上一块特殊的RAM芯片,存放系统参数)的RTC时钟或获取系统OS(操作系统)。但如果系统没有上电则BMC无法获取时钟,只能使用默认的时钟,这样就造成记录日志的异常(两次开机时间重复,日志混乱)。
现有技术中BMC可以从多级管理的整机柜/机箱的CMC中获取CMC的RTC时钟时间,第一种方案是:在每个服务器主板上的BMC设置独立的RTC时钟;或者,第二种方案如图1所示,在主从管理板上分别放置RTC芯片,各个BMC所在的计算刀片上不放置RTC芯片,主从CMC、各个BMC通过网络互联,在达到时间同步误差的基础上,可方便地实现整机的系统时间同步,但是这两种方案不仅增加硬件成本,而且不能实现裸金属服务器分配给不同客户的设备系统时间不同,也无法实现CMC根据节点BMC的命令,同步CMC中对应的虚拟RTC时间后,不同客户系统时间不一致。
发明内容
本发明为了解决现有技术中存在的问题,创新提出了一种服务器BMC时间管理方法、装置及系统,可以低成本、快速、不修改硬件,实现裸金属服务器分配给不同客户的设备系统时间不同,以及CMC根据节点BMC的命令,同步CMC中对应的虚拟RTC时间后,不同客户系统时间不一致。
本发明第一方面提供了一种服务器BMC时间管理方法,包括:
机箱管理控制器中设置物理实时时钟,机箱管理控制器根据物理实时时钟进行虚拟化,生成多个虚拟实时时钟;其中,生成的多个虚拟实时时钟相互独立;
控制每个生成的虚拟实时时钟与一一对应的节点BMC相互通信,为启动后的节点BMC提供时间,并根据节点BMC的命令修改对应虚拟实时时钟的时间,其中,虚拟实时时钟的时间以物理实时时钟的时间为基准,虚拟实时时钟的时间修改不影响物理实时时钟的时间。
可选地,机箱管理控制器根据节点BMC的命令设置或修改虚拟实时时钟的时间时,记录各个虚拟实时时钟对应的第一时间差值,其中,第一时间差值为各个虚拟实时时钟的当前时间与物理实时时钟的当前时间之间的差值;
当机箱管理控制器重启后,根据物理实时时钟、虚拟实时时钟对应的第一时间差值恢复各个虚拟实时时钟的时间。
进一步地,当机箱管理控制器检测到节点服务器在位时,根据节点服务器所在位置的编号查找当前虚拟实时时钟记录表中是否存在与节点服务器一一对应的虚拟实时时钟,如果不存在,则创建与节点服务器一一对应的虚拟实时时钟;如果已存在,则更新已存在的与节点服务器一一对应的虚拟实时时钟。
进一步地,虚拟实时时钟记录表中记录节点BMC与虚拟实时时钟的对应关系,虚拟实时时钟记录表存储于机箱管理控制器中。
可选地,更新已存在的与节点服务器一一对应的虚拟实时时钟具体是:
当节点服务器的BMC启动后,节点BMC获取虚拟实时时钟的当前时间,当节点服务器的操作系统启动后,获取节点服务器操作系统的当前时间,如果获取的虚拟实时时钟的当前时间与节点服务器操作系统的当前时间有偏差,则节点BMC发送时间修改命令到CMC内;
机箱管理控制器接收节点BMC发送时间修改命令,将对应的虚拟实时时钟的当前时间修改为节点服务器操作系统的当前时间。
可选地,机箱管理控制器中的物理实时时钟支持定期更新。
进一步地,机箱管理控制器中的物理实时时钟支持定期更新具体是:
当机箱管理控制器可以连接网络授时中心时,机箱管理控制器直接与网络授时中心矫正,每次矫正后,更新机箱管理控制器中记录的各个虚拟实时时钟对应的第一时间差值;
当机箱管理控制器无法连接网络授时中心时,机箱管理控制器获取每个虚拟实时时钟的时间,如果超过预设阈值数量的节点BMC对应的第一时间差值与第二时间差值的偏差相同且不为零,根据第一时间差值与第二时间差值的偏差调整矫正物理实时时钟的时间;其中,第一时间差值为虚拟实时时钟的当前时间与物理实时时钟当前时间之间的差值,第二时间差值为虚拟实时时钟的初始时间与物理实时时钟初始时间之间的差值。
进一步地,更新机箱管理控制器中记录的各个虚拟实时时钟对应的第一时间差值具体是:
获取物理实时时钟的当前时间矫正差值;
更新后的第一时间差值为更新前的第一时间差值与物理实时时钟的当前时间矫正差值的差。
本发明第二方面提供了一种服务器BMC时间管理装置,包括:
虚拟化模块,机箱管理控制器中设置物理实时时钟,机箱管理控制器根据物理实时时钟进行虚拟化,生成多个虚拟实时时钟;其中,生成的多个虚拟实时时钟相互独立;
通信及修改模块,控制每个生成的虚拟实时时钟与一一对应的节点BMC相互通信,为启动后的节点BMC提供时间,并根据节点BMC的命令修改对应虚拟实时时钟的时间,其中,虚拟实时时钟的时间以物理实时时钟的时间为基准,虚拟实时时钟的时间修改不影响物理实时时钟的时间。
本发明第三方面提供了一种服务器BMC时间管理系统,机箱管理控制器以及多个节点BMC,所述机箱管理控制器根据物理实时时钟进行虚拟化,生成多个相互独立的虚拟实时时钟,控制每个生成的虚拟实时时钟与一一对应的节点BMC相互通信,为启动后的节点BMC提供时间,并根据节点BMC的命令修改对应虚拟实时时钟的时间;其中,虚拟实时时钟的时间以物理实时时钟的时间为基准,虚拟实时时钟的时间修改不影响物理实时时钟的时间;每个节点BMC与机箱管理控制器产生的一一对应的虚拟实时时钟相互通信,并发送修改对应虚拟实时时钟的时间的命令。
本发明采用的技术方案包括以下技术效果:
1、本发明通过将CMC上的一个物理RTC虚拟化成N个虚拟RTC时钟,每个虚拟RTC都可以独立计时和操作,相当于给每个BMC都配置一个独立的硬件RTC,有效解决现有技术无法实现CMC管理的不同BMC时间不一致的问题,可以低成本、快速、不修改硬件地实现裸金属服务器分配给不同客户的设备系统时间不同,CMC根据节点BMC的命令,同步CMC中对应的虚拟RTC时间后,不同客户系统时间不一致。
2、本发明技术方案中机箱管理控制器根据节点BMC的命令设置或修改虚拟实时时钟的时间时,记录各个虚拟实时时钟对应的第一时间差值,当机箱管理控制器重启后,根据物理实时时钟、虚拟实时时钟对应的第一时间差值恢复各个虚拟实时时钟的时间,避免因为机箱管理控制器重启后,各个虚拟实时时钟时间无法恢复的情况。
3、本发明技术方案中机箱管理控制器根据节点服务器在位的检测情况,确定虚拟实时时钟的创建以及更新情况,避免了虚拟实时时钟(RTC)的重复创建。
4、本发明技术方案中虚拟实时时钟记录表中记录节点BMC与虚拟实时时钟的对应关系,虚拟实时时钟记录表存储于机箱管理控制器中,可以有效保证虚拟实时时钟与节点BMC的对应情况,避免了重复创建情况。
5、本发明技术方案中虚拟实时时钟以及物理实时时钟均可以支持更新,保证了CMC以及各个节点BMC的时间准确性以及可靠性。
应当理解的是以上的一般描述以及后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
为了更清楚说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见的,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中多节点BMC时间管理的架构示意图;
图2为本发明方案中实施例一方法的流程示意图;
图3为本发明方案中实施例一中多节点BMC的时间管理的架构示意图;
图4为本发明方案中实施例二装置的结构示意图;
图5为本发明方案中实施例二系统的结构示意图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
实施例一
如图2所示,本发明提供了一种服务器BMC时间管理方法,其特征是,包括:
S1,机箱管理控制器中设置物理实时时钟,机箱管理控制器根据物理实时时钟进行虚拟化,生成多个虚拟实时时钟;其中,生成的多个虚拟实时时钟相互独立;
S2,控制每个生成的虚拟实时时钟与一一对应的节点BMC相互通信,为启动后的节点BMC提供时间,并根据节点BMC的命令修改对应虚拟实时时钟的时间,其中,虚拟实时时钟的时间以物理实时时钟的时间为基准,虚拟实时时钟的时间修改不影响物理实时时钟的时间。
当前现有方案中,相对于云计算(虚拟化),裸金属服务器是一种服务器硬件单独租赁业务。弹性裸金属服务器是一种按需购买、按量付费的物理服务器租赁服务,为核心数据库、关键应用系统、高性能计算业务提供云端专用的高性能、安全隔离的物理集群。
CMC主板上有一个物理的RTC时钟(实时时钟,可以通过实时时钟芯片实现),且CMC与节点BMC也有I2C(Inter-Integrated Circuit,简单、双向二线制同步串行总线)或LAN(Local Area Network,用于连接仪器和个人计算机PC的总线)连接,CMC上电后立即开始运行,由于业务较少,启动时间要少于节点BMC,这样节点BMC启动后可以从CMC上获取CMC的RTC时间。为了兼容现有服务器,所以无法修改硬件,也无法在每个主板上为每个BMC设置独立的RTC时钟来解决现有技术的问题,因此本方案在架构层面和软件层面进行设计。
其中,在步骤S1中,如图3所示,为了低成本且快速解决现有技术问题,在现有物理方案上,在CMC内采用了软件虚拟RTC的方式,将CMC的一个物理RTC时钟通过虚拟化虚拟成N个(对于节点BMC数量)虚拟RTC,为每个节点BMC分配一个独立虚拟RTC,后续时间同步、修改等操作均在该虚拟RTC中进行,每个都是独立的,这样就不会影响物理RTC时钟的时间和其它虚拟RTC时间。CMC的物理RTC以国际标准时间运行,虚拟RTC以物理RTC时间为基准跳动,但其时间和格式可以由节点BMC设置和读取。CMC中的虚拟RTC拥有物理RTC的全部设置项和寄存器。
在步骤S2中,控制每个生成的虚拟实时时钟与一一对应的节点BMC相互通信,为启动后的节点BMC提供时间,并根据节点BMC的命令修改对应虚拟实时时钟的时间,虚拟实时时钟的时间以物理实时时钟的时间为基准,虚拟实时时钟的时间修改不影响物理实时时钟的时间。
优选地,当机箱管理控制器根据节点BMC的命令设置或修改虚拟实时时钟的时间时,记录各个虚拟实时时钟对应的第一时间差值,其中,第一时间差值为各个虚拟实时时钟的当前时间与物理实时时钟的当前时间之间的差值;当机箱管理控制器重启后,根据物理实时时钟、虚拟实时时钟对应的第一时间差值恢复各个虚拟实时时钟的时间,避免因为机箱管理控制器重启后,各个虚拟实时时钟时间无法恢复的情况。
进一步地,当机箱管理控制器检测到节点服务器在位时,根据节点服务器所在位置的编号查找当前虚拟实时时钟记录表中是否存在与节点服务器一一对应的虚拟实时时钟,如果不存在,则创建与节点服务器一一对应的虚拟实时时钟;如果已存在,则更新已存在的与节点服务器一一对应的虚拟实时时钟。
当机箱管理控制器检测到节点服务器不在位时,如果此时机箱管理控制器的资源(包括存储、计算等)充足时,可以实时更新不在位的节点服务器对应的虚拟实时时钟,避免节点服务器重新插入时,需要进行对应的虚拟实时时钟的更新;如果此时机箱管理控制器的资源不足时,可以选择停止与节点服务器一一对应的虚拟实时时钟的时间更新,等节点服务器重新插入后,再根据物理实时时钟的当前时间与第三时间差值(第三时间差值为CMC中存储的虚拟实时时钟拔出前的第一时间差值)更新对应的虚拟实时时钟时间(物理实时时钟的当前时间与第三时间差值的和),机箱管理控制器根据节点服务器在位的检测情况,确定虚拟实时时钟的创建以及更新情况,避免了虚拟实时时钟(RTC)的重复创建。
具体地,虚拟实时时钟记录表中记录节点BMC与虚拟实时时钟的对应关系,虚拟实时时钟记录表可以存储于机箱管理控制器中,可以有效保证虚拟实时时钟与节点BMC的对应情况,避免了重复创建情况。
具体地,更新已存在的与节点服务器一一对应的虚拟实时时钟(CMC根据节点BMC的命令,同步CMC中对应的虚拟RTC时间)具体是:
当节点服务器的BMC启动后,节点BMC获取虚拟实时时钟的当前时间,当节点服务器的操作系统启动后,获取节点服务器操作系统的当前时间,如果获取的虚拟实时时钟的当前时间与节点服务器操作系统的当前时间有偏差,则节点BMC发送时间修改命令到CMC内;
机箱管理控制器接收节点BMC发送时间修改命令,将对应的虚拟实时时钟的当前时间修改为节点服务器操作系统的当前时间。
节点BMC获取虚拟实时时钟的当前时间具体是:当节点BMC获取虚拟实时时钟的当前时间在节点BMC启动之前,处于实时更新状态,那么节点BMC获取虚拟实时时钟的当前时间即为对应的虚拟实时时钟的当前时间;当节点BMC获取虚拟实时时钟的当前时间在节点BMC启动之前,未处于实时更新状态,那么节点BMC获取虚拟实时时钟的当前时间为更新后的虚拟实时时钟,即物理实时时钟的当前时间与第三时间差值(第三时间差值为CMC中存储的对应的虚拟实时时钟拔出前的第一时间差值)的和,例如,某一个节点BMC的原虚拟实时时钟时间为12:00,第三时间差值为5S,则更新后的对应的虚拟实时时钟的当前时间为12:05。
优选地,机箱管理控制器中的物理实时时钟支持定期更新,更新周期可以是12小时,也可以是其他时间,本发明在此不做限制。更新方式主要包括两种,第一种具体是:
当机箱管理控制器可以连接网络授时中心时,机箱管理控制器直接与网络授时中心矫正,每次矫正后,更新机箱管理控制器中记录的各个虚拟实时时钟对应的第一时间差值;其中,更新机箱管理控制器中记录的各个虚拟实时时钟对应的第一时间差值具体是:获取物理实时时钟的当前时间矫正差值;更新后的第一时间差值为更新前的第一时间差值与物理实时时钟的当前时间矫正差值的差;举例说明,如果物理RTC的时间更新前为10:00,矫正后物理RTC时间为10:03,则当前时间矫正差值为3S;如果更新前的第一时间差值为5S,则更新后的第一时间差值为2S(5S-3S=2S)。调整原则是虚拟RTC的时间不变,调整虚拟RTC与物理RTC的第一时间差值,以保证各个节点BMC时间的独立性,避免节点服务器时间发生调变,引起节点服务器运行管理混乱。
第二种更新方式是:当机箱管理控制器无法连接网络授时中心时,机箱管理控制器获取每个虚拟实时时钟的时间,如果超过预设阈值数量的节点BMC对应的第一时间差值与第二时间差值的偏差相同且不为零,根据第一时间差值与第二时间差值的偏差调整矫正物理实时时钟的时间;其中,第一时间差值为虚拟实时时钟的当前时间与物理实时时钟当前时间之间的差值,第二时间差值为虚拟实时时钟的初始时间与物理实时时钟初始时间之间的差值。
具体地,预设阈值数量可以是2/3以上,也可以根据实际情况灵活调整,本发明在此不做限制。第一时间差值与第二时间差值的偏差相同且不为零,也可以是设置预设数值,即,当超过预设阈值数量的节点BMC对应的第一时间差值与第二时间差值的偏差相同且超过预设数值时,根据第一时间差值与第二时间差值的偏差调整矫正物理实时时钟的时间。
根据第一时间差值与第二时间差值的偏差调整矫正物理实时时钟的时间具体可以是:矫正后物理实时时钟的时间=矫正前的物理实时时钟的时间+根据第一时间差值与第二时间差值的偏差。
为了更清楚的说明第二种更新方式,以三个节点BMC为例进行说明。
假设,第一阶段,CMC中物理实时时钟的初始时间为10:00,第一个节点BMC的虚拟实时时钟的初始时间为10:03(第二时间差值为3S),第二个节点BMC的虚拟实时时钟的初始时间为10:02(第二时间差值为2S),第三个节点BMC的虚拟实时时钟的初始时间为10:03(第二时间差值为3S);
第二阶段,CMC中物理实时时钟的时间为10:02,第一个节点BMC的虚拟实时时钟的当前时间为10:07(第一时间差值为5S),第二个节点BMC的虚拟实时时钟的当前时间为10:04(第一时间差值为2S),第三个节点BMC的虚拟实时时钟的当前时间为10:05(第一时间差值为3S);此时第一节点BMC对应的第一时间差值与第二时间差值的偏差为2S,第二节点BMC对应的第一时间差值与第二时间差值的偏差为0S,第三节点BMC对应的第一时间差值与第二时间差值的偏差为0S,则物理实时时钟不进行更新;
第三阶段,CMC中物理实时时钟的时间为10:04,第一个节点BMC的虚拟实时时钟的当前时间为10:09(第一时间差值为5S),第二个节点BMC的虚拟实时时钟的当前时间为10:06(第一时间差值为2S),第三个节点BMC的虚拟实时时钟的当前时间为10:09(第一时间差值为5S);此时第一节点BMC对应的第一时间差值与第二时间差值的偏差为2S,第二节点BMC对应的第一时间差值与第二时间差值的偏差为0S,第三节点BMC对应的第一时间差值与第二时间差值的偏差为2S,则物理实时时钟进行更新;具体地,矫正后物理实时时钟的时间为10:06(10:04+2S)。
第二种更新方式也可以是,设置一虚拟实时时钟的时间差,其中第四时间差值为当前的第一时间差值与之前最近一次的第一时间差值的差值,如果超过预设阈值数量的节点BMC对应的第四时间差值相同且不为零,根据第四时间差值的偏差调整矫正物理实时时钟的时间。矫正后物理实时时钟的时间=矫正前的物理实时时钟的时间+第四时间差值。
为了更清楚的说明第二种更新方式,以三个节点BMC为例进行说明。
假设,第一阶段,CMC中物理实时时钟的初始时间为10:00,第一个节点BMC的虚拟实时时钟的初始时间为10:03(初始第一时间差值为3S),第二个节点BMC的虚拟实时时钟的初始时间为10:02(初始第一时间差值为2S),第三个节点BMC的虚拟实时时钟的初始时间为10:03(初始第一时间差值为3S);
第二阶段,CMC中物理实时时钟的时间为10:02,第一个节点BMC的虚拟实时时钟的当前时间为10:07(当前第一时间差值为5S,第四时间差值为2S),第二个节点BMC的虚拟实时时钟的当前时间为10:04(当前第一时间差值为2S,第四时间差值为0S),第三个节点BMC的虚拟实时时钟的当前时间为10:05(当前第一时间差值为3S,第四时间差值为0S);此时第一节点BMC对应的第四时间差值为2S,第二节点BMC对应的第四时间差值为0S,第三节点BMC对应的第四时间差值为0S,则物理实时时钟不进行更新;
第三阶段,CMC中物理实时时钟的时间为10:04,第一个节点BMC的虚拟实时时钟的当前时间为10:09(当前第一时间差值为5S,第四时间差值为2S),第二个节点BMC的虚拟实时时钟的当前时间为10:06(当前第一时间差值为2S,第四时间差值为0S),第三个节点BMC的虚拟实时时钟的当前时间为10:09(当前第一时间差值为5S,第四时间差值为2S);此时第一节点BMC对应的第四时间差值为2S,第二节点BMC对应的第四时间差值为0S,第三节点BMC对应的第四时间差值为2S,则物理实时时钟进行更新;具体地,矫正后物理实时时钟的时间为10:06(10:04+2S)。
进一步地,也可以针对第四时间差值设置一标志位,一旦超过预设阈值数量的节点BMC对应的第四时间差值的标志位处于非零状态,根据第四时间差值的标志位数值调整矫正物理实时时钟的时间。矫正完成后,对各个节点BMC的标志位清除,开始下一周期的监控。
需要说明的是,本发明第二种更新方式中,物理RTC的更新发生在CMC根据各个节点BMC的命令对对应的虚拟RTC的修改(即CMC根据节点BMC的命令,同步CMC中对应的虚拟RTC时间:当节点BMC获取的虚拟实时时钟的当前时间与节点服务器操作系统的当前时间有偏差,则节点BMC发送时间修改命令到CMC内,修改对应的虚拟实时时钟的当前时间为节点服务器操作系统的当前时间)之后。调整原则是虚拟RTC的时间不变,调整虚拟RTC与物理RTC的第一时间差值,以保证各个节点BMC时间的独立性,避免节点服务器时间发生调变,引起节点服务器运行管理混乱。
本发明通过将CMC上的一个物理RTC虚拟化成N个虚拟RTC时钟,每个虚拟RTC都可以独立计时和操作,相当于给每个BMC都配置一个独立的硬件RTC,有效解决现有技术无法实现CMC管理的不同BMC时间不一致的问题,可以低成本、快速、不修改硬件地实现裸金属服务器分配给不同客户的设备系统时间不同,CMC根据节点BMC的命令,同步CMC中对应的虚拟RTC时间后,不同客户系统时间不一致。
本发明技术方案中虚拟实时时钟以及物理实时时钟均可以支持更新,保证了CMC以及各个节点BMC的时间准确性以及可靠性。
实施例二
如图4所示,本发明技术方案还提供了一种服务器BMC时间管理装置,包括:
虚拟化模块101,机箱管理控制器中设置物理实时时钟,机箱管理控制器根据物理实时时钟进行虚拟化,生成多个虚拟实时时钟;其中,生成的多个虚拟实时时钟相互独立;
通信及修改模块102,控制每个生成的虚拟实时时钟与一一对应的节点BMC相互通信,为启动后的节点BMC提供时间,并根据节点BMC的命令修改对应虚拟实时时钟的时间,其中,虚拟实时时钟的时间以物理实时时钟的时间为基准,虚拟实时时钟的时间修改不影响物理实时时钟的时间。
本发明通过将CMC上的一个物理RTC虚拟化成N个虚拟RTC时钟,每个虚拟RTC都可以独立计时和操作,相当于给每个BMC都配置一个独立的硬件RTC,有效解决现有技术无法实现CMC管理的不同BMC时间不一致的问题,可以低成本、快速、不修改硬件地实现裸金属服务器分配给不同客户的设备系统时间不同,CMC根据节点BMC的命令,同步CMC中对应的虚拟RTC时间后,不同客户系统时间不一致。
本发明技术方案中CMC根据节点BMC的命令设置或修改虚拟实时时钟的时间时,机箱管理控制器记录各个虚拟实时时钟对应的第一时间差值,当机箱管理控制器重启后,根据物理实时时钟、虚拟实时时钟对应的第一时间差值恢复各个虚拟实时时钟的时间,避免因为机箱管理控制器重启后,各个虚拟实时时钟时间无法恢复的情况。
本发明技术方案中当机箱管理控制器根据节点服务器在位的检测情况,确定虚拟实时时钟的创建以及更新情况,避免了虚拟实时时钟(RTC)的重复创建。
本发明技术方案中虚拟实时时钟记录表中记录节点BMC与虚拟实时时钟的对应关系,虚拟实时时钟记录表存储于机箱管理控制器中,可以有效保证虚拟实时时钟与节点BMC的对应情况,避免了重复创建情况。
本发明技术方案中虚拟实时时钟以及物理实时时钟均可以支持更新,保证了CMC以及各个节点BMC的时间准确性以及可靠性。
实施例三
如图5所示,本发明技术方案还提供了一种服务器BMC时间管理系统,机箱管理控制器201以及多个节点BMC202,机箱管理控制器201根据物理实时时钟进行虚拟化,生成多个相互独立的虚拟实时时钟,控制每个生成的虚拟实时时钟与一一对应的节点BMC202相互通信,为启动后的节点BMC202提供时间,并根据节点BMC202的命令修改对应虚拟实时时钟的时间;其中,虚拟实时时钟的时间以物理实时时钟的时间为基准,虚拟实时时钟的时间修改不影响物理实时时钟的时间;每个节点BMC202与机箱管理控制器201产生的一一对应的虚拟实时时钟相互通信,并发送修改对应虚拟实时时钟的时间的命令。
本发明通过将CMC上的一个物理RTC虚拟化成N个虚拟RTC时钟,每个虚拟RTC都可以独立计时和操作,相当于给每个BMC都配置一个独立的硬件RTC,有效解决现有技术无法实现CMC管理的不同BMC时间不一致的问题,可以低成本、快速、不修改硬件地实现裸金属服务器分配给不同客户的设备系统时间不同,CMC根据节点BMC的命令,同步CMC中对应的虚拟RTC时间后,不同客户系统时间不一致。
本发明技术方案中CMC根据节点BMC的命令设置或修改虚拟实时时钟的时间时,记录各个虚拟实时时钟对应的第一时间差值,当机箱管理控制器重启后,根据物理实时时钟、虚拟实时时钟对应的第一时间差值恢复各个虚拟实时时钟的时间,避免因为机箱管理控制器重启后,各个虚拟实时时钟时间无法恢复的情况。
本发明技术方案中当机箱管理控制器根据节点服务器在位的检测情况,确定虚拟实时时钟的创建以及更新情况,避免了虚拟实时时钟(RTC)的重复创建。
本发明技术方案中虚拟实时时钟记录表中记录节点BMC与虚拟实时时钟的对应关系,虚拟实时时钟记录表存储于机箱管理控制器中,可以有效保证虚拟实时时钟与节点BMC的对应情况,避免了重复创建情况。
本发明技术方案中虚拟实时时钟以及物理实时时钟均可以支持更新,保证了CMC以及各个节点BMC的时间准确性以及可靠性。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (7)
1.一种服务器BMC时间管理方法,其特征是,包括:
机箱管理控制器中设置物理实时时钟,机箱管理控制器根据物理实时时钟进行虚拟化,生成多个虚拟实时时钟;其中,生成的多个虚拟实时时钟相互独立;
控制每个生成的虚拟实时时钟与一一对应的节点BMC相互通信,为启动后的节点BMC提供时间,并根据节点BMC的命令修改对应虚拟实时时钟的时间,其中,虚拟实时时钟的时间以物理实时时钟的时间为基准,虚拟实时时钟的时间修改不影响物理实时时钟的时间;机箱管理控制器在根据节点BMC的命令设置或修改虚拟实时时钟的时间时,记录各个虚拟实时时钟对应的第一时间差值,其中,第一时间差值为各个虚拟实时时钟的当前时间与物理实时时钟的当前时间之间的差值;
当机箱管理控制器重启后,根据物理实时时钟、虚拟实时时钟对应的第一时间差值恢复各个虚拟实时时钟的时间;
机箱管理控制器中的物理实时时钟支持定期更新,其中,机箱管理控制器中的物理实时时钟支持定期更新具体是:
当机箱管理控制器可以连接网络授时中心时,机箱管理控制器直接与网络授时中心矫正,每次矫正后,更新机箱管理控制器中记录的各个虚拟实时时钟对应的第一时间差值;
当机箱管理控制器无法连接网络授时中心时,机箱管理控制器获取每个虚拟实时时钟的时间,如果超过预设阈值数量的节点BMC对应的第一时间差值与第二时间差值的偏差相同且不为零,根据第一时间差值与第二时间差值的偏差调整矫正物理实时时钟的时间;其中,第一时间差值为虚拟实时时钟的当前时间与物理实时时钟当前时间之间的差值,第二时间差值为虚拟实时时钟的初始时间与物理实时时钟初始时间之间的差值。
2.根据权利要求1所述的服务器BMC时间管理方法,其特征是,当机箱管理控制器检测到节点服务器在位时,根据节点服务器所在位置的编号查找当前虚拟实时时钟记录表中是否存在与节点服务器一一对应的虚拟实时时钟,如果不存在,则创建与节点服务器一一对应的虚拟实时时钟;如果已存在,则更新已存在的与节点服务器一一对应的虚拟实时时钟。
3.根据权利要求2所述的服务器BMC时间管理方法,其特征是,虚拟实时时钟记录表中记录节点BMC与虚拟实时时钟的对应关系,虚拟实时时钟记录表存储于机箱管理控制器中。
4.根据权利要求2所述的服务器BMC时间管理方法,其特征是,更新已存在的与节点服务器一一对应的虚拟实时时钟具体是:
当节点服务器的BMC启动后,节点BMC获取虚拟实时时钟的当前时间,当节点服务器的操作系统启动后,获取节点服务器操作系统的当前时间,如果获取的虚拟实时时钟的当前时间与节点服务器操作系统的当前时间有偏差,则节点BMC发送时间修改命令到机箱管理控制器内;
机箱管理控制器接收节点BMC发送时间修改命令,将对应的虚拟实时时钟的当前时间修改为节点服务器操作系统的当前时间。
5.根据权利要求1所述的服务器BMC时间管理方法,其特征是,更新机箱管理控制器中记录的各个虚拟实时时钟对应的第一时间差值具体是:
获取物理实时时钟的当前时间矫正差值;
更新后的第一时间差值为更新前的第一时间差值与物理实时时钟的当前时间矫正差值的差。
6.一种服务器BMC时间管理装置,其特征是,包括:
虚拟化模块,机箱管理控制器中设置物理实时时钟,机箱管理控制器根据物理实时时钟进行虚拟化,生成多个虚拟实时时钟;其中,生成的多个虚拟实时时钟相互独立;
通信及修改模块,控制每个生成的虚拟实时时钟与一一对应的节点BMC相互通信,为启动后的节点BMC提供时间,并根据节点BMC的命令修改对应虚拟实时时钟的时间,其中,虚拟实时时钟的时间以物理实时时钟的时间为基准,虚拟实时时钟的时间修改不影响物理实时时钟的时间;机箱管理控制器在根据节点BMC的命令设置或修改虚拟实时时钟的时间时,记录各个虚拟实时时钟对应的第一时间差值,其中,第一时间差值为各个虚拟实时时钟的当前时间与物理实时时钟的当前时间之间的差值;
当机箱管理控制器重启后,根据物理实时时钟、虚拟实时时钟对应的第一时间差值恢复各个虚拟实时时钟的时间;
机箱管理控制器中的物理实时时钟支持定期更新,其中,机箱管理控制器中的物理实时时钟支持定期更新具体是:
当机箱管理控制器可以连接网络授时中心时,机箱管理控制器直接与网络授时中心矫正,每次矫正后,更新机箱管理控制器中记录的各个虚拟实时时钟对应的第一时间差值;
当机箱管理控制器无法连接网络授时中心时,机箱管理控制器获取每个虚拟实时时钟的时间,如果超过预设阈值数量的节点BMC对应的第一时间差值与第二时间差值的偏差相同且不为零,根据第一时间差值与第二时间差值的偏差调整矫正物理实时时钟的时间;其中,第一时间差值为虚拟实时时钟的当前时间与物理实时时钟当前时间之间的差值,第二时间差值为虚拟实时时钟的初始时间与物理实时时钟初始时间之间的差值。
7.一种服务器BMC时间管理系统,其特征是,机箱管理控制器以及多个节点BMC,所述机箱管理控制器根据物理实时时钟进行虚拟化,生成多个相互独立的虚拟实时时钟,控制每个生成的虚拟实时时钟与一一对应的节点BMC相互通信,为启动后的节点BMC提供时间,并根据节点BMC的命令修改对应虚拟实时时钟的时间;其中,虚拟实时时钟的时间以物理实时时钟的时间为基准,虚拟实时时钟的时间修改不影响物理实时时钟的时间;机箱管理控制器在根据节点BMC的命令设置或修改虚拟实时时钟的时间时,记录各个虚拟实时时钟对应的第一时间差值,其中,第一时间差值为各个虚拟实时时钟的当前时间与物理实时时钟的当前时间之间的差值;
当机箱管理控制器重启后,根据物理实时时钟、虚拟实时时钟对应的第一时间差值恢复各个虚拟实时时钟的时间;
机箱管理控制器中的物理实时时钟支持定期更新,其中,机箱管理控制器中的物理实时时钟支持定期更新具体是:
当机箱管理控制器可以连接网络授时中心时,机箱管理控制器直接与网络授时中心矫正,每次矫正后,更新机箱管理控制器中记录的各个虚拟实时时钟对应的第一时间差值;
当机箱管理控制器无法连接网络授时中心时,机箱管理控制器获取每个虚拟实时时钟的时间,如果超过预设阈值数量的节点BMC对应的第一时间差值与第二时间差值的偏差相同且不为零,根据第一时间差值与第二时间差值的偏差调整矫正物理实时时钟的时间;其中,第一时间差值为虚拟实时时钟的当前时间与物理实时时钟当前时间之间的差值,第二时间差值为虚拟实时时钟的初始时间与物理实时时钟初始时间之间的差值;
每个节点BMC与机箱管理控制器产生的一一对应的虚拟实时时钟相互通信,并发送修改对应虚拟实时时钟的时间的命令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110321686.4A CN113157046B (zh) | 2021-03-25 | 2021-03-25 | 一种服务器bmc时间管理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110321686.4A CN113157046B (zh) | 2021-03-25 | 2021-03-25 | 一种服务器bmc时间管理方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113157046A CN113157046A (zh) | 2021-07-23 |
CN113157046B true CN113157046B (zh) | 2023-03-28 |
Family
ID=76884805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110321686.4A Active CN113157046B (zh) | 2021-03-25 | 2021-03-25 | 一种服务器bmc时间管理方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113157046B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114115445B (zh) * | 2021-11-19 | 2023-10-17 | 上海移远通信技术股份有限公司 | 用于检测实时时钟rtc精度的方法和装置 |
CN114489236A (zh) * | 2021-12-20 | 2022-05-13 | 联想(北京)有限公司 | 一种实现多时钟同步的方法、系统及电子设备 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102983926A (zh) * | 2012-11-19 | 2013-03-20 | 浪潮电子信息产业股份有限公司 | 一种刀片系统时钟同步的设计方法 |
CN103116515A (zh) * | 2011-09-28 | 2013-05-22 | 西门子公司 | 提供用于虚拟运行环境的独立的时间源的方法和虚拟化软件 |
CN105634635A (zh) * | 2014-11-07 | 2016-06-01 | 杭州华为数字技术有限公司 | 一种共享rtc的方法、装置和系统 |
CN105955910A (zh) * | 2016-04-29 | 2016-09-21 | 中国人民解放军国防科学技术大学 | 一种面向飞腾高密度服务器系统的授时方法 |
CN107360060A (zh) * | 2017-08-07 | 2017-11-17 | 瑞斯康达科技发展股份有限公司 | 一种时延测量方法及装置 |
CN107682139A (zh) * | 2017-09-20 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种集群中bmc和cmc的时钟同步方法及系统 |
CN108932007A (zh) * | 2017-05-25 | 2018-12-04 | 纬颖科技服务股份有限公司 | 获取时间戳的方法以及计算机装置 |
CN109787703A (zh) * | 2019-02-28 | 2019-05-21 | 烽火通信科技股份有限公司 | 一种时间戳的修正方法、时钟同步方法及系统 |
CN110362152A (zh) * | 2019-06-28 | 2019-10-22 | 苏州浪潮智能科技有限公司 | 一种系统硬件时间和bmc硬件时间的同步系统和方法 |
CN110471491A (zh) * | 2019-08-15 | 2019-11-19 | 山东超越数控电子股份有限公司 | 一种刀片服务器中管理系统时间同步的方法 |
CN111612373A (zh) * | 2020-05-29 | 2020-09-01 | 杭州电子科技大学 | 公有云系统性能一致性调整方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7155629B2 (en) * | 2003-04-10 | 2006-12-26 | International Business Machines Corporation | Virtual real time clock maintenance in a logically partitioned computer system |
US20070028052A1 (en) * | 2005-07-28 | 2007-02-01 | International Business Machines Corporation | Method and apparatus for maintaining cached state data for one or more shared devices in a logically partitioned computer system |
US7581133B2 (en) * | 2006-08-04 | 2009-08-25 | Dell Products, Lp | System and method of providing real time to devices within a server chassis |
US9104343B2 (en) * | 2013-03-13 | 2015-08-11 | Silicon Graphics International Corp. | Global synchronous clock circuit and method for blade processors |
US10175717B2 (en) * | 2017-03-28 | 2019-01-08 | Dell Products, Lp | System and method for enhancing real-time clock usage in an information handling system |
-
2021
- 2021-03-25 CN CN202110321686.4A patent/CN113157046B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103116515A (zh) * | 2011-09-28 | 2013-05-22 | 西门子公司 | 提供用于虚拟运行环境的独立的时间源的方法和虚拟化软件 |
CN102983926A (zh) * | 2012-11-19 | 2013-03-20 | 浪潮电子信息产业股份有限公司 | 一种刀片系统时钟同步的设计方法 |
CN105634635A (zh) * | 2014-11-07 | 2016-06-01 | 杭州华为数字技术有限公司 | 一种共享rtc的方法、装置和系统 |
CN105955910A (zh) * | 2016-04-29 | 2016-09-21 | 中国人民解放军国防科学技术大学 | 一种面向飞腾高密度服务器系统的授时方法 |
CN108932007A (zh) * | 2017-05-25 | 2018-12-04 | 纬颖科技服务股份有限公司 | 获取时间戳的方法以及计算机装置 |
CN107360060A (zh) * | 2017-08-07 | 2017-11-17 | 瑞斯康达科技发展股份有限公司 | 一种时延测量方法及装置 |
CN107682139A (zh) * | 2017-09-20 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种集群中bmc和cmc的时钟同步方法及系统 |
CN109787703A (zh) * | 2019-02-28 | 2019-05-21 | 烽火通信科技股份有限公司 | 一种时间戳的修正方法、时钟同步方法及系统 |
CN110362152A (zh) * | 2019-06-28 | 2019-10-22 | 苏州浪潮智能科技有限公司 | 一种系统硬件时间和bmc硬件时间的同步系统和方法 |
CN110471491A (zh) * | 2019-08-15 | 2019-11-19 | 山东超越数控电子股份有限公司 | 一种刀片服务器中管理系统时间同步的方法 |
CN111612373A (zh) * | 2020-05-29 | 2020-09-01 | 杭州电子科技大学 | 公有云系统性能一致性调整方法 |
Non-Patent Citations (1)
Title |
---|
"面向自主刀片服务器的智能监控管理系统设计";叶操;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180415(第04期);论文第四章 * |
Also Published As
Publication number | Publication date |
---|---|
CN113157046A (zh) | 2021-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113157046B (zh) | 一种服务器bmc时间管理方法、装置及系统 | |
US8601466B2 (en) | Software deployment method and system, software deployment server and user server | |
US9798632B2 (en) | Providing boot data in a cluster network environment | |
KR101109980B1 (ko) | 조정된 타이밍 네트워크 내의 서버 동기화 촉진 | |
CN113783765B (zh) | 一种实现云内网和云外网互通的方法、系统、设备和介质 | |
CN113656147B (zh) | 一种集群部署方法、装置、设备及存储介质 | |
CN104615455B (zh) | 一种atca架构的ipmc程序远程升级方法及装置 | |
US6654903B1 (en) | Vertical fault isolation in a computer system | |
US8495012B2 (en) | System and method for managing root file system | |
CN108400886A (zh) | 一种机房服务器监控系统及方法 | |
CN105516386B (zh) | 一种服务器管理系统mac地址冲突检测和处理方法及系统 | |
CN108900656A (zh) | 一种批量部署的方法及装置 | |
CN111198696A (zh) | 一种基于裸机服务器的OpenStack大规模部署方法和系统 | |
CN111382027A (zh) | 一种bmc ip获取方法、装置和机柜式服务器 | |
WO2016074412A1 (zh) | 基于网络配置协议进行兼容管理的方法、存储介质及设备 | |
GB2403829A (en) | Providing updated processor polling information | |
CN117632374A (zh) | 容器镜像的读取方法、介质、装置和计算设备 | |
CN115858101B (zh) | 容器资源视图隔离的方法、装置以及电子设备 | |
CN112087517B (zh) | 存储集群的处理方法及处理装置、电子设备 | |
CN115242666A (zh) | 一种基于数据分发服务的仿真平台监控系统 | |
Cisco | Logging in and Getting Started | |
CN114281890A (zh) | 一种bios带外管理系统及方法 | |
Cisco | Configuring the Route Processor | |
CN111142921A (zh) | 软件升级方法及装置 | |
US7644306B2 (en) | Method and system for synchronous operation of an application by a purality of processing units |
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 |