时间同步在灾难备份系统中的实现
2013-08-27杨艳波
杨艳波 魏 巍
(中国电子科技集团公司第五十四研究所河北石家庄050081)
1 引言
自911以来,安全问题成为国内外诸信息系统的关注点。从长远发展以及确保其安全、连续和稳定运行等方面考虑,建设信息系统灾难备份中心以保证其数据安全和业务连续性,有利于增强抵御风险能力,提高服务水平。
按照GB/T20988规定[1],灾难备份中心是用于灾难发生后接替主系统进行数据处理和支持关键业务功能运作的场所,可提供灾难备份系统、备用的基础设计和专业技术支持及运行维护管理能力。灾难备份系统由数据备份系统、备用数据处理系统和备用的网络系统组成的信息系统。
灾难备份系统建设的终极目标是实现“零数据丢失”、“业务无间断连续运行”。要实现时间无间隙灾难备份,高精度时间同步实现是必须考虑的问题。网络测量与控制系统的精密时间同步标准-精密时间协议(Precision Time Protocol,PTP),可在网络中不同设备间实现亚微秒级的同步精度。文章主要介绍基于PTP协议灾备系统时间同步的具体实现。
2 时间同步原理
PTP基本原理的同步过程如图1所示。
图1 PTP同步过程图
从时钟偏移量的修正和传输时延的修正,需要用到4种报文:①同步报文Sync;②跟随报文Follow_Up;③延时请求Delay_Req报文;④延时回应Delay_Resp报文[2]。主时钟周期性地向网络上广播发送同步Sync报文,与此同时,主时钟监视上述同步报文实际发送的时间T1作为同步报文的精确时间戳,并在随后的Follow Up报文中携带T1。网络中的所有其它从时钟在收到Sync同步报文后,首先记下报文的精确到达时间T2,然后在T3m时刻接收到Follow Up报文,从Follow Up报文中取出时间戳T1。
为了得到主从时钟的传输时延,网络中的所有从时钟以单播方式向主时钟发送延时请求Delay_Req报文,同时记录该报文在网络接口处的实际发送时间T3。主时钟每次接收到延时请求报文时都会记下此报文的精确到达时间T4,并在随后的Delay Resp报文中发送T4给相应的从时钟,从时钟接受到Delay Resp报文后,并取出时间戳T4。
Sync报文在主从时钟的时间差为:
Delay_Req报文在从主时钟的时间差为:
若系统链路对称均匀,则主从时钟间的偏移量TOffset和传输延迟TDelay为:
通过TOffset和TDelay修正从时钟的本地时间,从而与主时钟实现时间同步[3]。
3 时间同步技术方案
在灾备系统中,需要时间同步的设备有若干计算机,被网络设备和安全设备分隔成多个子网,呈网状网络拓扑结构。采用主从式算法[4],如图2所示。
图2 容灾系统主从算法原理图
①主校时服务器位于根,与外部时间资源采用直接时间传递技术连接或利用本机的时钟作为整个系统的时间基准。当进行时间同步时,主校时服务器的时钟信号传递给子网校时服务器,子网校时服务器的时钟信号传递给子网各设备;
②主校时服务器与子网校时服务基于PTP完成网络时间标准的时间同步,子网校时服务与校时代理完成子网内设备的时间同步。系统的时间同步全部采用软件实现报文由报文头、报文主体及扩展字段等部分组成,在以太网中,按照TCP/IP协议模型,数据报文封装在UDP中;
③主校时服务器可选择网络中一台性能高的机器,亦可独立部署一台高性能计算机。本方案中选择独立部署一台微机服务器[5],通过直连主交换机经由主交换机与各子网交换机网络连接。操作系统为Windows系统,安装主校时服务软件;
④子网校时服务选择各子网中一台负载较小机器,安装子网校时服务软件;
⑤其余设备均部署校时代理软件。
4 软件设计实现
容灾备份系统时间同步软件工作流程如图3所示。
图3 时间同步软件工作流程
⑴主校时服务软件与子网校时服务软件的时间同步工作流程
①主校时服务软件通过界面输入(或外部接口)获取标准时间源的标准时间,进行本地校时;②主校时服务软件通过读取System.DateTime的Now属性,获取本地时间;③主校时服务软件生成主时钟同步报文并发送;④主校时服务软件生成主时钟跟随报文并发送;⑤子网校时服务软件接收同步报文,记录接收时间,解析报文内容;⑥子网校时服务软件接收主时钟跟随报文,解析报文内容,获取时间戳;⑦子网校时服务软件获取本地时间,生成并发送从时钟延时请求报文;⑧主校时服务软件接收延时请求报文;⑨主校时服务软件获取本地时间,生成延时回应报文并发送;⑩子网校时服务软件接收延时回应报文,解析报文,子网校时服务软件计算偏移量和传输时延,修正本地时间。
⑵子网校时服务软件与校时代理软件的时间同步工作流程
①子网校时服务软件通过JNI接口,获取本地时间,子网校时服务软件生成主时钟同步报文并发送;②子网校时服务软件生成主时钟跟随报文并发送;校时代理软件接收同步报文,记录接收时间,解析报文内容,校时代理软件接收主时钟跟随报文,解析报文内容,获取时间戳;③校时代理软件获取本地时间,生成并发送从时钟延时请求报文。子网校时服务软件接收延时请求报文;④子网校时服务软件获取本地时间,生成延时回应报文并发送,校时代理软件接收延时回应报文,解析报文,校时代理务软件计算校正值,通过SetLocal-Time接口函数设置本地时间;⑤主校时服务软件完成标准时间获取、本地校时、本地时间获取、同步报文生成、跟随报文生成、延时回应报文生成、延时请求报文生成、报文发送等功能模块;⑥子网校时服务软件完成同步报文、跟随报文、延时回应报文接收与解析、计算修正值、本地校时以及本地时间获取、同步报文生成、跟随报文生成、延时回应报文生成、延时请求报文接收及解析、报文发送等功能模块;⑦校时代理软件完成同步报文、跟随报文、延时回应报文接收与解析、计算修正值、本地校时等功能模块;⑧时间同步软件系统按照10次/s的频率周期进行处理[6],对5个子网(其中一个子网边界有阻隔措施)、42台计算机进行系统测试,测试结果为时间同步精度达到秒级,子网时间同步精度可达到0.1 s。
5 结束语
基于PTP协议进行容灾备份系统时间同步设计实现,可以完成不同子网、不同设备的时间同步问题。且本项目中考虑实际局域网的子网分隔,进行主从算法时间同步,可以更好保证子网的时间一致性。
[1]G B/T 20988,信息安全技术信息系统灾难恢复规范[S].
[2]刘 高,金施群.基于I EEE1588协议的局域网精确时钟同步研究[J].现代显示,2012(135):24-28.
[3]陈 宜,刘 伟,宜 鑫,等.I EEE1588时钟同步技术在330kV延安变智能改造中的应用[J].信息系统工程,2012(8):98-100.
[4]贺 鹏,李 菁.计算机网络时间同步技术研究[J].三峡大学学报,2003,25(4):319-323.
[5]雷小青.局域网统一授时系统的设想[J].信息与电脑,2012:72-73.
[6]徐海龙,罗双喜.精密时间同步协议研究与实现[J].计算机工程与设计,2012,33(7):2591-2595.