电网调度控制系统的备份恢复模块设计与实现
2020-07-25顾雯轩丁雨恒
顾雯轩 ,高 原 ,丁雨恒
(1.南瑞集团有限公司(国网电力科学研究院),江苏南京 211106;2.国电南瑞科技股份有限公司,江苏南京 211106;3.智能电网保护和运行控制国家重点实验室,江苏南京 211106)
0 引言
电网调度控制系统是由若干程序、动态库、配置文件、数据文件组成,它们均是以文件形式存储在磁盘介质上。磁盘在经过长时间的使用后可能发生损坏,本文就是从软件角度探讨通过备份恢复的方法解决磁盘损坏给系统带来的风险。
目前电力系统和IT业界已针对备份恢复做了一定的研究,如王剑雄等[1-2]采用一套复杂的管理系统进行备份恢复,但是未见对管理节点进行多机冗余管理,若管理节点本身故障会造成数据无法恢复。周轶等[3]提到了全备份和增量备份,但是未提及远程备份如果本机故障了则数据还是会发生丢失。戚斌[4]使用数据库进行数据备份,这样也增加了系统成本和恢复的复杂度。李文君等[5-6]是使用外部的一个磁盘阵列进行备份,但是为提到全量和增量备份的配合使用。
2 设计目标
为了保证电网调度控制系统(下简称“调度系统”)的软件、配置文件的安全性,须要建设一套备份恢复管理系统,定时地将程序、动态库、配置文件硬盘或磁盘阵列复制到本地或远程备份目录,磁带驱动器和其他可移动媒体上。同时,提供完备恢复方式,当操作失误或系统发生故障时,可将数据从备份载体中恢复,保证数据的可用性。
备份恢复模块提供全备份和增量备份的功能,备份可自动执行也可手动执行。自动备份的对象、周期、路径可配置,可执行手动备份和恢复。备份文件可存放在远程服务器,并可远程登陆进行备份或恢复操作,可浏览备份文件的名称和修改日期。
3 设计方案
3.1 全量备份和增量备份
备份类型支持全量备份和增量备份两种。全量备份是对所有平台软件、应用软件以及配置参数进行完整备份,增量备份是对自上次备份以来涉及变化文件的备份。
备份对象可通过配置文件进行配置,备份对象是操作系统磁盘上的某个具体目录。调度系统中的进程和动态库以及配置文件是分别存放在$HOME/bin、$HOME/lib、$HOME/conf目录下,所以默认将这3个目录写入配置文件,其他目录以后可以增加。
为便于管理所有备份数据,备份数据的名称由备份对象、备份类型、备份时间组合而成。采用规范的命名规则,命名中含有备份的目录名、备份日期、备份类型等信息,便于进行管理和数据恢复。
如图1所示,本模块采用的增量备份方式是每周日进行一次全量备份,然后每天备份与上次备份差异的部分。
3.2 远程备份
图1 增量备份原理
备份时可以选择是否进行远程备份(如另一台服务器或者备调的服务器),选择远程备份时将备份数据传输到远程服务器上。这样即使万一本地系统遭受破坏,系统数据均可避免损失,系统数据依然完整。
远程备份需要进行备份的服务器与存储备份文件的目标服务网络能够直接连通,且配置无密码直接访问。具体原理如图2所示,通过设置2台备份服务器保证备份数据的安全性。
图2 远程备份原理
3.3 数据恢复
恢复功能是将备份数据恢复到本地,为确保支撑平台运行安全,恢复功能必须手动执行。恢复功能通过选择指定恢复时间点及恢复数据对象,将数据恢复到本地,也可以选择从异地备份中恢复数据。
通过全量备份的数据对象可以直接恢复数据,而增量备份的数据对象需要有对应全量备份及所有相关增量备份一起执行,即当选择恢复一个增量备份点时,需要备份时间点之前最近的一个全量备份和该全量备份之后到所选增量备份点之间所有增量备份,才能恢复数据,恢复时按照备份点先后顺序逐步依次进行恢复。
4 具体实现
4.1 存放目录和命名规则
备份文件存放在用户家目录的/var/sys_backup目录下,以及一台远程服务器用户家目录的/var/sys_backup_主机名的目录下。目前按照需求分为三个子目录,分别存放配置文件,可执行程序,动态链接库的备份文件。是否进行异地备份可配置。备份文件存储的目录如表1所示。
备份文件的文件名由主机名+备份时间构成。滚动存储一定时间段(可配)的备份文件,较早的备份将被自动删除。
备份文件通常为主机名.生成日期.星期几.对象名称.tar。如主机sca1-1七月十日的可执行程序的备份文件在var/sys_backup/bin目录中的名称为sca1-1.20090710.Friday.bin.tar
表1 备份对象存放目录
恢复的自动化工具运行后,将恢复的文件存放在执行恢复命令主机的用户家目录的/var/sys_restore目录下,分为三个子目录。恢复文件存储的目录如表2所示。
表2 恢复对象存放目录
供恢复人员确认后自行拷贝至目标目录。
4.2 命令行工具和界面工具
(1)备份命令。
提供手动备份功能的命令行工具sys_backup,备份对象为目录,命令参数为备份对象,是全备份还是增量备份,是否产生异地备份文件,若是还需异地主机名参数,可选择备份后是否压缩存储。产生备份文件的存放位置和命名规则同自动备份一致。
(2)恢复命令。
提供手动恢复功能的命令行工具sys_restore,命令参数是恢复对象,恢复到的时间点,是从本地恢复还是从异地恢复,若从异地恢复还需主机名参数。
(3)备份界面。
图形界面工具restore_man上具有备份界面和恢复界面。备份界面上首先以树形结构展示目前自动备份的目录对象,点开目录对象可看见所有已产生的备份文件。可修改、新增、删除自动备份的对象。展示并可编辑全备份的周期或执行的日期,可设置是否进行异地自动备份,设置异地备份的主机名。设置备份后是否压缩。
界面上可执行手动备份,可选择或输入手动备份的对象,可选择是否是增量备份,可选择是否进行异地备份,可设置异地主机名。
可选择只备份若干文件,产生的文件在恢复界面可单独选择进行恢复,不采用全恢复加增量恢复的方式。
(4)恢复界面。
restore_man的恢复界面上首先以树形结构展示本地和异地所有可恢复的目录对象,点开目录对象可看见所有已产生的备份文件。并显示每个目录最早可恢复到的日期,可在界面上选择恢复对象,设置恢复到的时间点,设置从本地还是异地恢复,选择异地主机。可选择恢复只含有若干个文件的备份,这时直接恢复覆盖。
5 效果验证
备份恢复功能可通过命令行或工具界面使用。备份命令须要指定备份数据对象、备份类型、是否异地备份、异地备份节点名称等参数。恢复命令须要指定恢复数据对象、恢复时间点、是否从异地恢复、异地恢复节点名称等参数。备份恢复界面中提供备份、恢复功能,如图3所示。
备份功能中,显示自定义的备份对象、最近备份点,以及选择是否备份到远程,创建增量备份或全量备份,并显示创建备份的进度。
恢复功能中,显示可供恢复的备份对象,选择备份对象后可以恢复数据,并显示恢复数据的进度。
6 结语
本文介绍了电网调度自动化系统的备份恢复模块的设计与实现。本模块具有以下技术特点:持自动备份及手动备份;提供一套备份文件的命名机制,便于检索和恢复;备份恢复功能的运行不依赖支撑平台的任何其他程序,能够独立运行;支持全备份和增量备份;支持异地备份恢复功能,可将备份文件存放在远程服务器上,并支持从远程服务器上恢复;提供命令行工具,可进行本地及远程的备份和恢复操作;提供界面工具,可进行本地及远程备份和恢复操作。软件经过验证,达到了预先设计目标。
图3 备份恢复模块效果