实现故障恢复和数据备份的方法、系统和装置转让专利

申请号 : CN200810227881.5

文献号 : CN101420326B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 于志国

申请人 : 华为技术有限公司

摘要 :

本发明公开了实现故障恢复和数据备份的方法、系统和装置,属于通信领域。方法包括:启动恢复工具,恢复工具加载定制的根文件系统,建立预执行环境PXE支撑服务、文件传输服务及磁盘镜像管理服务;其中,PXE支撑服务和文件传输服务用于支持待恢复设备从网络实现操作系统的启动,磁盘镜像管理服务用于对待恢复设备进行磁盘镜像的备份和/或恢复操作;收到待恢复设备从网络启动操作系统成功的通知后,远程登录待恢复设备,利用磁盘镜像管理服务对待恢复设备进行磁盘镜像的备份和/或恢复操作。当待恢复设备没有配置光驱、显示器、键盘时,使用本发明可快速实现其故障的恢复,实现对数据的备份,大大缩短的待恢复设备的故障恢复所需要的时间。

权利要求 :

1.一种实现故障恢复和数据备份的方法,其特征在于,所述方法包括:启动恢复工具,所述恢复工具加载定制的根文件系统,建立预执行环境PXE支撑服务、文件传输服务及磁盘镜像管理服务,其中,所述PXE支撑服务和所述文件传输服务用于支持待恢复设备从网络实现操作系统的启动,所述磁盘镜像管理服务用于对所述待恢复设备进行磁盘镜像的备份和/或恢复操作;

收到所述待恢复设备从网络启动操作系统成功的通知后,远程登录所述待恢复设备,利用所述磁盘镜像管理服务对所述待恢复设备进行磁盘镜像的备份和/或恢复操作。

2.如权利要求1所述的方法,其特征在于,所述启动恢复工具,所述恢复工具加载定制的根文件系统,建立PXE支撑服务、文件传输服务及磁盘镜像管理服务的步骤,包括:启动计算机,所述恢复工具引导所述计算机从光驱启动;

所述恢复工具中的引导加载器加载操作系统Linux的内核、初始RAM磁盘initrd文件,并执行所述initrd文件中的初始init文件;

所述ini t文件通过解析包含根文件系统位置信息的内核引导参数,确定是从光驱加载后,则加载光驱中的根文件系统;

所述根文件系统,执行自动运行任务,所述自动运行任务用于建立PXE支撑服务、文件传输服务及磁盘镜像管理服务。

3.如权利要求2所述的方法,其特征在于,所述自动运行任务包括:准备PXE服务;

设置计算机IP地址;

启动PXE所需PXE支撑服务、文件传输服务;

启动实现磁盘镜像管理服务的磁盘镜像管理工具,所述磁盘镜像管理工具用于备份和/或恢复所述待恢复设备的指定分区的磁盘镜像。

4.如权利要求1所述的方法,其特征在于,所述建立PXE支撑服务、文件传输服务及磁盘镜像管理服务之后,还包括:启动所述待恢复设备,所述待恢复设备中的支持PXE的网卡通过所述PXE支撑服务,请求从网络启动,并通过所述文件传输服务下载所述恢复工具中的Linux的根文件系统。

5.如权利要求4所述的方法,其特征在于,所述待恢复设备中的支持PXE的网卡通过所述PXE支撑服务请求从网络启动,并通过所述文件传输服务下载所述恢复工具中的Linux的根文件系统,包括;

所述支持PXE的网卡通过所述PXE支撑服务中的PXE协议请求从网络启动,并通过所述文件传输服务下载并执行PXElinux引导模块;

所述PXElinux引导模块根据配置信息下载所述恢复工具中的linux内核、内核引导参数和initrd,并根据所述内核引导参数启动所述linux内核;

所述linux内核执行所述initrd文件中的init文件;

所述init文件通过解析包含根文件系统位置信息的内核引导参数,确定是从网络加载后,向所述恢复工具请求获取IP地址,并下载Linux的根文件系统。

6.如权利要求1所述的方法,其特征在于,所述远程登录所述待恢复设备,利用所述磁盘镜像管理服务对所述待恢复设备进行磁盘镜像的备份和/或恢复操作的步骤,包括:通过安全外壳协议SSH建立与所述待恢复设备的连接,利用所述磁盘镜像管理服务对所述待恢复设备进行磁盘镜像的备份和/或恢复操作。

7.如权利要求1至6任一项所述的方法,其特征在于,所述待恢复设备包括:后台管理模块BAM和/或操作维护单元OMU。

8.一种实现故障恢复和数据备份的装置,其特征在于,所述装置包括:建立模块,用于启动后,加载定制的根文件系统,建立预执行环境PXE支撑服务、文件传输服务及磁盘镜像管理服务,其中,所述PXE支撑服务和所述文件传输服务用于支持待恢复设备从网络实现操作系统的启动,所述磁盘镜像管理服务用于对所述待恢复设备进行磁盘镜像的备份和/或恢复操作;

监控模块,用于接收所述待恢复设备从网络启动操作系统成功的通知;

操作模块,用于当所述监控模块接收到所述待恢复设备从网络启动操作系统成功的通知后,远程登录所述待恢复设备,利用所述磁盘镜像管理服务对所述待恢复设备进行磁盘镜像的备份和/或恢复操作。

9.如权利要求8所述的装置,其特征在于,所述建立模块具体包括:引导单元,用于确定从光驱启动后,通过引导加载器加载Linux的内核、初始RAM磁盘initrd,并执行所述initrd文件中的初始init文件;

解析单元,用于实现所述init文件通过解析包含根文件系统位置信息的内核引导参数,确定是从光驱加载后,加载根文件系统;

建立单元,用于实现所述解析单元加载的所述根文件系统执行自动运行任务的操作,所述自动运行任务用于建立PXE支撑服务、文件传输服务及磁盘镜像管理服务。

10.如权利要求8或9所述的装置,其特征在于,所述装置还包括:处理模块,用于接收到所述待恢复设备中的支持PXE的网卡使用PXE协议发送的网络启动请求后,通过所述文件传输服务向所述待恢复设备提供所述Linux的根文件系统。

11.如权利要求10所述的装置,其特征在于,所述处理模块,包括:第一处理单元,用于接收到所述待恢复设备网卡使用PXE协议发送的网络启动请求后,向所述待恢复设备提供PXElinux、linux内核、相关内核引导参数和initrd;

第二处理单元,用于实现在所述待恢复设备中,所述linux内核执行所述initrd文件中的init文件的操作;

第三处理单元,用于当所述init文件通过解析包含根文件系统位置信息的内核引导参数,确定是从网络加载后,向所述待恢复设备提供IP地址,并提供所述操作系统Linux的根文件系统。

12.如权利要求8所述的装置,其特征在于,所述操作模块,包括连接单元和操作单元;

所述连接单元,用于通过安全外壳协议SSH建立与所述待恢复设备的连接;

所述操作单元,用于当所述连接单元建立连接后,通过所述磁盘镜像管理服务对所述待恢复设备进行磁盘镜像的备份和/或恢复操作。

13.一种实现故障恢复和数据备份的系统,其特征在于,所述系统包括:如权利要求8至12任一项所述的实现故障恢复和数据备份的装置,以及与所述实现故障恢复和数据备份的装置通信的待恢复设备。

14.如权利要求13所述的系统,其特征在于,所述待恢复设备包括:后台管理模块BAM和/或操作维护单元OMU。

说明书 :

实现故障恢复和数据备份的方法、系统和装置

技术领域

[0001] 本发明涉及通信领域,特别涉及一种实现故障恢复和数据备份的方法、系统和装置。

背景技术

[0002] 通信领域中的众多网元设备对自身的管理、维护离不开BAM(Back Administrate Module,后台管理模块)/OMU(Operate and Maintain Unit,操作维护单元),通常,BAM/OMU配置有外设设备,如光驱、键盘和显示器,当BAM/OMU出现故障,需要进行故障恢复时,维护人员通过配置的光驱、键盘和显示器,使用操作系统安装光盘,为BAM/OMU重新安装操作系统,从而实现对出现故障的BAM/OMU的恢复,但是该方式操作复杂且容易出错,对维护人员的素质要求较高,另外,由于需要进行操作系统的重新安装,所以该方式耗费时间长,通常大于1小时,并且极有可能造成系统数据、错误日志等信息的丢失。
[0003] 另外,现有技术还提供了一种对BAM/OMU故障进行恢复的方法:在BAM/OMU出厂或投入使用之前,采用预设的商用GHOST软件,在BAM/OMU的硬盘上预先保留磁盘镜像,当BAM/OMU出现故障时,维护人员通过BAM/OMU配置的光驱启动商用GHOST软件,读取在磁盘中预留的磁盘镜像进行恢复,该方法相对于上一个方法能够有效的节约恢复故障所占用的时间,但是,需要用户额外地购买商用GHOST软件,并且该方法由于需要预先进行磁盘镜像的保留,因此占用BAM/OMU的硬盘的磁盘空间,而作为在通信设备中较为重要的BAM/OMU,其所使用的硬盘通常较为昂贵,因此,该实现BAM/OMU故障恢复的方法,成本较高,更重要的是该方法没有解决故障设备的数据、错误日志等信息的丢失问题。
[0004] 发明人在实现本发明时,发现无论是上述哪种方式,在对BAM/OMU进行故障恢复时,都需要通过BAM/OMU专门配置的外部设备如光驱、键盘和显示器实现,但是,目前众多厂家出于生成成本、运输等考虑,在出厂BAM/OMU时,简化了其外设设备的配置,因此,针对没有配置光驱、显示器以及键盘的BAM/OMU,如何实现其故障恢复还没有一套行之有效的方法,并且还没有有效解决故障设备的数据、错误日志等信息的丢失问题。

发明内容

[0005] 为了实现设备在没有配置光驱、显示器以及键盘的情况下,对该设备的故障的快速恢复、数据备份,有效解决故障设备的数据、错误日志等信息的丢失问题,本发明实施例提供了一种实现故障恢复和数据备份的方法、系统和装置。所述技术方案如下:
[0006] 一方面,提供了一种实现故障恢复和数据备份的方法,所述方法包括:
[0007] 启动恢复工具,所述恢复工具加载定制的根文件系统,建立预执行环境PXE支撑服务、文件传输服务及磁盘镜像管理服务,其中,所述PXE支撑服务和所述文件传输服务用于支持待恢复设备从网络实现操作系统的启动,所述磁盘镜像管理服务用于对所述待恢复设备进行磁盘镜像的备份和/或恢复操作;
[0008] 收到所述待恢复设备从网络启动操作系统成功的通知后,远程登录所述待恢复设备,利用所述磁盘镜像管理服务对所述待恢复设备进行磁盘镜像的备份和/或恢复操作。
[0009] 另一方面,提供了一种实现故障恢复和数据备份的装置,所述装置包括:
[0010] 建立模块,用于启动后,加载定制的根文件系统,建立预执行环境PXE支撑服务、文件传输服务及磁盘镜像管理服务,其中,所述PXE支撑服务和所述文件传输服务用于支持待恢复设备从网络实现操作系统的启动,所述磁盘镜像管理服务用于对所述待恢复设备进行磁盘镜像的备份和/或恢复操作;
[0011] 监控模块,用于接收所述待恢复设备从网络启动操作系统成功的通知;
[0012] 操作模块,用于当所述监控模块接收到所述待恢复设备从网络启动操作系统成功的通知后,远程登录所述待恢复设备,利用所述磁盘镜像管理服务对所述待恢复设备进行磁盘镜像的备份和/或恢复操作。
[0013] 再一方面,提供了一种实现故障恢复和数据备份的系统,所述系统包括:实现故障恢复和数据备份的装置,以及与所述实现故障恢复和数据备份的装置通信的待恢复设备。
[0014] 本发明实施例提供的技术方案的有益效果是:
[0015] 引导启动作为服务器的计算机,计算机启动成功后会建立PXE等一系列服务,然后连接待恢复的设备,复位该待恢复的设备,此时该待恢复的设备会从计算机下载并运行操作系统内核和根文件系统,并驱动该待恢复的设备硬件运行起来,最后在计算机建立与该待恢复的设备的连接,并通过输入命令完成对该待恢复的设备的数据备份和恢复,实现了该待恢复的设备在没有光驱、显示器和键盘的情况下,出现故障后的快速恢复、实现对数据的备份,有效解决故障设备的数据、错误日志等信息的丢失问题。

附图说明

[0016] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0017] 图1是本发明实施例提供的实现故障恢复和数据备份的方法流程图;
[0018] 图2是本发明实施例1提供的实现故障恢复和数据备份的方法详细流程图;
[0019] 图3是本发明实施例1提供的实现故障恢复和数据备份的信息交互示意图;
[0020] 图4是本发明实施例2提供的实现故障恢复和数据备份的装置示意图;
[0021] 图5是本发明实施例3提供的实现故障恢复和数据备份的系统示意图。

具体实施方式

[0022] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0023] 为了实现待恢复设备(如BAM/OMU)在出厂时没有配置光驱、显示器以及键盘的情况下,对该待恢复设备的故障的快速恢复以及对数据备份,本发明实施例提供了一种故障恢复和数据备份的方法,参见图1,该方法内容如下:
[0024] S1:启 动 恢 复 工 具,恢 复 工 具 加 载 定 制 的 根 文 件 系 统,建 立PXE(Pre-ExecutionEnvironment,预执行环境)支撑服务、文件传输服务及磁盘镜像管理服务;
[0025] 其中,PXE支撑服务和文件传输服务用于支持待恢复设备从网络实现操作系统的启动,磁盘镜像管理服务用于对待恢复设备进行磁盘镜像的备份和/或恢复操作;
[0026] S2:收到待恢复设备从网络启动操作系统成功的通知后,远程登录待恢复设备,利用磁盘镜像管理服务对待恢复设备进行磁盘镜像的备份和/或恢复操作。
[0027] 其中,上述步骤S1中恢复工具加载定制的根文件系统,建立PXE支撑服务、文件传输服务及磁盘镜像管理服务的步骤,包括:
[0028] 首先,启动计算机,恢复工具引导计算机从光驱启动;
[0029] 然后,恢复工具中的引导加载器加载操作系统Linux的内核、初始RAM磁盘initrd文件,并执行initrd文件中的初始init文件;
[0030] 其次,init文件通过解析包含根文件系统位置信息的内核引导参数,确定是从光驱加载后,则加载光驱中的根文件系统;
[0031] 再次,根文件系统,执行自动运行任务,自动运行任务用于建立PXE支撑服务、文件传输服务及磁盘镜像管理服务。
[0032] 其中,上述自动运行任务包括:
[0033] 准备PXE服务;
[0034] 设置计算机IP地址;
[0035] 启动PXE所需PXE支撑服务、文件传输服务;
[0036] 启动实现磁盘镜像管理服务的磁盘镜像管理工具,磁盘镜像管理工具用于备份和/或恢复待恢复设备的指定分区的磁盘镜像。
[0037] 其中,上述步骤S1:建立PXE支撑服务、文件传输服务及磁盘镜像管理服务之后,还包括:
[0038] 启动待恢复设备,待恢复设备中的支持PXE的网卡通过PXE支撑服务,请求从网络启动,并通过文件传输服务下载恢复工具中的Linux的根文件系统。
[0039] 其中,上述待恢复设备中的支持PXE的网卡通过PXE支撑服务请求从网络启动,并通过文件传输服务下载恢复工具中的Linux的根文件系统,包括;
[0040] 支持PXE的网卡通过PXE支撑服务中的PXE协议请求从网络启动,并通过文件传输服务下载并执行PXElinux引导模块;
[0041] PXElinux引导模块根据配置信息下载恢复工具中的linux内核、内核引导参数和initrd,并根据内核引导参数启动linux内核;
[0042] linux内核执行initrd文件中的init文件;
[0043] init文件通过解析包含根文件系统位置信息的内核引导参数,确定是从网络加载后,向恢复工具请求获取IP地址,并下载Linux的根文件系统。
[0044] 其中,上述步骤S2中远程登录待恢复设备,利用磁盘镜像管理服务对待恢复设备进行磁盘镜像的备份和/或恢复操作的步骤,包括:
[0045] 通过安全外壳协议SSH建立与待恢复设备的连接,利用磁盘镜像管理服务对待恢复设备进行磁盘镜像的备份和/或恢复操作。
[0046] 其中,上述待恢复设备包括:后台管理模块BAM和/或操作维护单元OMU。
[0047] 为了对上述本发明实施例提供的故障恢复和数据备份的方法进行详细说明,请参见如下描述:
[0048] 实施例1
[0049] 参见图2,本发明实施例提供了一种故障恢复和数据备份的方法,以BAM/OMU运行的Linux操作系统出现故障为例进行说明,该方法内容如下:
[0050] 步骤101:启动计算机,恢复工具从光驱引导计算机启动。
[0051] 其中,为了实现本发明实施例所提供的故障恢复和数据备份的方法,该恢复工具的制作至少包括如下(一)至(十一)所述的内容,请参见如下:
[0052] (一)、选择操作系统内核。由于本实施例以BAM/OMU运行的Linux操作系统为例,所以选择一个内核大于2.6稳定的Linux发布版本,根据要实际硬件的配置情况决定是否重新编译一个内核。
[0053] (二)、创建初始RAM磁盘(以下简称initrd)。
[0054] 其中,initrd是用于在实际根文件系统可用之前挂载到系统中的一个初始根文件系统。initrd与内核绑定在一起,并作为内核引导过程的一部分进行加载。然后,内核会将这个initrd文件作为其两阶段引导过程的一部分来加载模块,这样才能稍后使用真正的文件系统,并挂载实际的根文件系统。其中,initrd中包含了实现创建初始RAM磁盘这个目标所需要的目录和可执行程序的最小集合,例如将内核模块加载到内核中所使用的insmod工具。
[0055] a)、选择initrd的类型。
[0056] 由于本发明实施例选择了Linux2.6作为内核,而该Linux2.6内核所支持的initrd包括以下两种类型:其一、是传统格式的文件系统镜像image-initrd,可以使用dd命令创建。其二、是cpio格式的cpio-initrd,可以使用cpio工具生成。Linux2.6内核对cpio-initrd和image-initrd这两种格式的initrd均支持,优选地,由于cpio类型的initrd处理流程简单,本发明实施例以创建cpio类型的initrd为例进行说明,本方案中所指的initrd均指cpio类型的initrd。
[0057]
[0058] b)、定制initrd的内容
[0059] 对于正常安装的Linux系统来说,initrd映像是在Linux安装过程中创建的,由安装程序根据系统的具体硬件情况和用户的交互设置进行定制。由于本发明实施例所涉及的initrd是预先在其它系统上做好的,因此内容需要根据实际硬件情况进行定制,比如:选择与BAM/OMU匹配的SCSI驱动和特殊设备、文件系统的驱动。
[0060] c)、扩展initrd的功能
[0061] initrd作为内核与真实的根文件系统之间的桥梁,通过扩展initrd中init脚本的功能,可以实现动态决定从光盘或网络加载根文件系统的功能。其中,如果是从光盘加载根文件系统,则表示执行服务器侧(即计算机)的加载根文件系统的功能;如果是从网络加载根文件系统,则表示执行客户端侧(即BAM/OMU)的加载根文件系统的功能,详细内容将在后续内容中进行描述。
[0062] (三)、制作根文件系统。
[0063] 其中,以一个标准桌面Linux系统的根文件系统为基础,定制系统使用的真正的根文件系统。优选地,在Linux各种发布版本的演示live cd中选择一个,通过采用busybox工具、删除其中不需要的程序对其进行精简,以减少系统恢复时下载根文件系统所需要的时间。
[0064] 将本方案需要使用的工具:pxelinux、tftpd、httpd、DHCPd、busybox、partimage、mkisofs拷贝到此根文件系统中,供进行系统恢复时使用。具体路径可根据具体需要进行设置,例如在根目录下建立/tftproot目录,并将PXElinux软件pxelinx.0拷贝到此目录下。最后使用mksquashfs命令重新生成包含自定义工具和脚本的根文件系统,脚本示例根文件系统所在的路径为/mnt/custom/files。参见如下:
[0065]
[0066] (四)、设置PXElinux,该PXElinux用于实现从网络根据配置信息下载linux内核、相关内核引导参数和initrd,并根据内核参数启动linux内核。
[0067] 其中,PXElinux是SYSlinux(http://syslinux.zytor.com/)的延伸,它使用符合英特尔PXE(预执行环境)规范的网卡BOOTROM,可以通过网络启动linux内核以至整个linux系统。其工作方式如下:
[0068] a)设置网卡的启动模式为PXE方式。即,针对本发明实施例设置BAM/OMU的网卡的启动模式为PXE方式。
[0069] b)BAM/OMU开机启动时,PXE BOOTROM向局域网进行广播,查找可以提供服务的DHCP服务器,本实施例DHCP服务器即上述计算机,相应地,即查找本发明实施例所述的计算机。
[0070] c)DHCP服务器收到请求,响应PXElinux所在的位置、网络状态及为其分配IP地址。
[0071] d)PXE BOOTROM根据响应,通过TFTP下载PXElinux并执行。
[0072] e)控制权从PXE BOOTROM转移到PXElinux,PXElinux根据配置信息下载linux内核、相关内核引导参数和initrd,并根据内核参数启动linux内核。
[0073] f)系统控制权由PXElinux转移到linux内核。
[0074] 因此,根据PXElinux的要求,为其设置配置文件,包括:指定内核文件、initrd文件以及引导参数。这个配置文件会在PXE服务被启动前,被COPY到/tftpboot/pxelinux.cfg/目录下,并改名为default,参见如下:
[0075]
[0076] 其中,内核无法解释的参数:rootpass、autoruns、boothttp将作为命令行参数传递给initrd中的initrc进行处理。其中,rootpass用于设置系统root帐号口令,autoruns用于指定系统启动后的自动运行任务脚本的名称,boothttp用于指示从网络加载根文件系统的位置。
[0077] (五)、设置ISOlinux,该ISOlinux作为从光盘启动时的引导加载器(boot-loader),实现从光盘加载内核文件、initrd文件以及相关内核引导参数。
[0078] 其中,根据ISOlinux的要求,在配置文件中分别指定加载器要加载的内核文件、initrd文件以及相关内核引导参数,参见如下:
[0079]
[0080] 内核无法解释的参数:rootpass、autoruns、cdroot将作为命令行参数传递给initrd中的initrc进行处理。其中rootpass用于设置系统根root帐号口令,autoruns用于指定系统启动后的自动运行任务脚本的名称,cdroot用于指示从光驱加载根文件系统。
[0081] 本领域技术人员可以获知,本实施例仅以使用ISOlinux作为从光盘启动时的引导加载器为例,还可以使用GRUB、LILO等引导加载器。
[0082] 其中,对上述所涉及的Linux内核引导参数进行说明:
[0083] 内核源码树下的Documentation/kernel-parameters.txt文件列出了所有可用的引导参数,并指明了处理每个参数的具体文件。注意:对于模块而言,引导参数只能用于直接编译到核心里的模块,格式是使用″模块名.参数=值″模式指定,比如:usbcore.blinkenlights=1。动态加载的模块可以在modprobe命令行上指定相应的参数值,比如:modprobe usbcore blinkenlights=1。
[0084] 绝大部分的内核引导参数的格式如下:
[0085] name[=value_1][,value_2]...[,value_10]
[0086] 如果“name”不能被识别并且满足“name=value”的格式,那么则被解析为一个环境变量,否则将作为命令行参数被原封不动的传递给init。
[0087] (六)、扩展init文件实现的功能。
[0088] 对制作initrd时创建的init文件进行修改,以实现以下功能:
[0089] 首先,解析包含根文件系统位置信息的内核引导参数,“boothttp=http://192.168.1.1/fixomu.dat”和“cdroot”,参见如下:
[0090]
[0091] 其中,通过解析包含根文件系统位置信息的内核引导参数,判断如果指定从网络加载,则首先发送DHCP请求为网卡分配IP地址,然后根据指定路径下载根文件系统。如果系统包含多个网卡,将脚本中的eth2用具体使用的网卡标识替换,参见如下:
[0092] 从网络下载根文件系统
[0093] for ETHID in eth2
[0094] do
[0095] busybox ifconfig $ ETHID up
[0096] busyboxudhcpc-n-i$ETHID
[0097] if[$?-eq0]
[0098] then
[0099] fi
[0100] done
[0101] mkdir-p${NEW_ROOT}/mnt/cdrom
[0102] if[-n″${BOOTHTTP}″]
[0103] then
[0104] wget${BOOTHTTP}-O${NEW_ROOT}/mnt/cdrom/${LOOPDAT}[0105] res=″$?″
[0106] fi
[0107] 其中,通过解析包含根文件系统位置信息的内核引导参数,判断如果指定从光驱加载,则直接挂载光驱中的根文件系统,参见如下:
[0108]
[0109] 然后,把运行控制权交给真正的根文件系统的init,参见如下:
[0110]
[0111] (七)、修改根文件系统的bashlogin文件
[0112] 其中,通过修改根文件系统中的bashlogin文件,实现以下功能:
[0113] 在系统启动成功后,如果在引导参数“autoruns=X”中指定了自动运行任务,则调用名为“autorunX”的自动运行任务脚本。参见如下:
[0114]
[0115] 另外,设置系统root帐号口令。通过解析内核引导参数“rootpass=11111111”,设置root帐号口令,参见如下:
[0116]
[0117] (八)、建立自动运行任务
[0118] 由于上述在系统启动成功后,如果在引导参数“autoruns=X”中指定了自动运行任务,则调用名为“autorunX”的自动运行任务脚本。发明人在实现本发明时,发现由于从光盘启动和从网络启动时对自动运行任务的要求不同,因此,需要建立至少两个自动任务脚本,参见如下,分别进行说明:
[0119] 1)、其中,引导参数“autoruns=1”指示设置从光盘启动,则在系统启动后,将自动执行autorun1脚本,autorun1脚本实现以下功能:
[0120] a)、准备PXE服务运行环境,将程序和配置文件拷贝到指定路径,参见如下:
[0121]
[0122] b)、设置本机IP地址,依次启动运行PXE服务需要的三个网络服务:DHCP(Dynamic HostConfiguration Protocol,动态主机分配协议)、TFTP(Trivial File Transfer Protocol,简单文件传输协议)、以及HTTP(Hypertext Transfer Protocol,超文本传输协议),参见如下:
[0123]
[0124] 其中,所谓DHCP是由启动了DHCP服务的服务器(本实施例对应于拥有该恢复工具的计算机)和设置了动态获取IP地址的客户端(本实施例对应于该待恢复设备)组成,客户端每次启动网络时,向服务器发送请求,由服务器为其动态分配IP地址。即DHCP用于实现待恢复设备的IP地址分配;其中,TFTP是一般的文件传输协议,为FTP(File Transfer Protocol,文件传输协议)的简化实现,TFTP用于实现待恢复设备下载initrd;HTTP用于实现待恢复设备下载根文件系统。本实施例仅以上述PXE服务包括:DHCP、TFTP、以及HTTP为例进行说明,但不限于上述具体所采用的实现方式和方法。
[0125] c)、启动磁盘管理工具服务。其中,磁盘管理工具实现磁盘管理服务的功能,其中,该磁盘管理工具采用自由软件partimage,并且在前文所述定制根文件系统时,已经把其加入了文件系统中。
[0126]
[0127] d)、启动成功后,等待被恢复系统(即BAM/OMU)从网络启动。
[0128] 当计算机能够PING通被恢复系统的IP地址时,说明通讯已经建立成功,可以使用SSH(Secure Shell Protocol,安全外壳协议)连接远程登录到被恢复系统,并通过执行备份、恢复相关的命令,实现对被恢复系统的故障恢复功能。参见如下:
[0129]
[0130] 2)、其中,引导参数“autoruns=0”指示从网络引导方式下系统启动,则将自动执行autorun0脚本,autorun0脚本实现设置IP的功能。如果被恢复系统存在多个网卡,将脚本中的eth2替换为当前在使用的网卡标识,参见如下:
[0131]
[0132] (九)、建立要恢复系统的磁盘镜像
[0133] 事先使用上述partimage命令将系统指定的分区备份下来,为达到此目的,需要利用恢复工具在正常、干净的系统上执行下述操作。命令中的IP地址为从恢复工具光盘启动的PC的IP地址,命令需要使用SSH连接远程登录到已经从网络启动成功的BAM/OMU系统上运行。参见如下:
[0134]
[0135] (十)、恢复磁盘分区
[0136] 使用partimage命令将保存在光盘上的磁盘镜像恢复到指定的分区。命令中的IP地址为从恢复工具光盘启动的PC的IP地址,命令需要使用SSH连接远程登录到已经从网络启动成功的BAM/OMU系统上运行。
[0137]
[0138] (十一)、为了便于本发明实施例提供的恢复工具的使用,将恢复工具制作成自启动光盘ISO文件。内容如下:
[0139] 首先,准备光盘文件内容。建立一个独立目录,例如/mnt/custom/isoroot,将备份好的磁盘镜像,isolinux程序和配置文件,定制的内核、initrd和根文件系统拷贝到此目录下。
[0140] 然后,建立ISO映像文件,使用mkisofs工具将指定的目录与文件做成ISO9660格式的映像文件,以供刻录光盘。参见如下:
[0141]
[0142] 综上所涉及的内容(一)至(十一)描述,对本发明实施例提供的恢复工具的制作进行了详细说明,优选地,将恢复工具刻录成光盘进行使用,相应地,在本发明实施例所提供的方法的步骤101中,计算机需要设置从光驱引导启动,从而启动该恢复工具。另外,本领域技术人员还可以获知,该恢复工具还可以为源程序被安装在计算机中,或者安装在计算机的外设存储设备中,即此时配置有恢复工具的计算机充当服务器功能,方法类似,不再赘述。
[0143] 步骤102:该恢复工具中的引导加载器将操作系统的内核、initrd文件加载至内存指定位置,并执行initrd文件中的/init文件,控制权转移至/init文件。
[0144] 步骤103:/init文件通过解析包含根文件系统位置信息的内核引导参数,确定是从光驱加载后,则挂载光驱中的根文件系统。
[0145] 步骤104:控制权转移至根系统系统,执行自动运行任务,其中,该自动运行任务包括:准备PXE服务、设置自身IP、启动PXE所需要的网络服务、启动磁盘分区管理工具,等待BAM/OMU从网络启动。
[0146] 其中,如前文所述,PXE所需要的网络服务包括DHCP服务、TFTP服务加以HTTP服务。
[0147] 步骤105:复位BAM/OMU,BAM/OMU中的PXE BootROM通过PXE协议请求从网络启动,并通过TFTP服务请求下载PXElinux并执行;控制权从PXE BOOTROM转移到PXElinux,PXElinux引导模块根据配置信息下载linux内核、相关内核引导参数和initrd,并根据内核参数启动linux内核;控制权由PXElinux转移到linux内核。
[0148] 步骤106:linux内核执行initrd文件中的/init文件,控制权转移至/init文件,该/init文件通过解析包含根文件系统位置信息的内核引导参数,确定是从网络加载后,则请求计算机获取IP地址,并请求下载根文件系统。
[0149] 步骤107:BAM/OMU请求下载到根文件系统后,挂载根文件系统,完成启动,通知计算机启动成功。
[0150] 进一步地,当BAM/OMU请求下载到根文件系统后,挂载根文件系统,完成启动后,如前文所述,还可以通过解析内核引导参数,设置待恢复设备的Linux系统系统的root账号的口令。
[0151] 步骤108:计算机通过SSH建立与BAM/OMU的连接,通过磁盘分区管理工具,执行备份/恢复命令,完成对BAM/OMU的故障恢复/数据备份。
[0152] 其中,备份命令用于实现对BAM/OMU的数据备份;恢复命令用于实现对BAM/OMU的故障恢复。
[0153] 综上,本发明实施例提供了一种实现故障恢复和数据备份的方法,参见图3,本发明实施例还提供了一种实现故障恢复和的信息交互示意图,如图3所示,当BAM/OMU出现故障后,维护人员只需通过一台便携计算机PC,一张光盘、一根网线,即可完成对BAM/OMU的快速故障恢复:用户首先使用光盘引导启动PC,PC启动成功后会建立PXE支撑服务等一系列服务,然后用网线连接BAM/OMU,复位BAM/OMU,此时BAM/OMU会通过网线从PC下载并运行LINUX内核和根文件系统,并驱动BAM/OMU硬件运行起来,最后在PC建立与BAM/OMU的连接,并通过输入命令完成BAM/OMU的数据备份和恢复,经过测试,利用本发明实施例提供的方法,BAM/OMU故障系统恢复的时间只需要5分钟,大大缩短的故障恢复所需要的时间。
[0154] 综上所述,本发明实施例提供的实现故障恢复和数据备份的方法,通过本发明实施例提供的恢复工具,当该恢复工具收到待恢复设备从网络启动操作系统成功的通知后,远程登录待恢复设备,利用磁盘镜像管理服务对待恢复设备进行磁盘镜像的备份和/或恢复操作,从而实现了对没有外设设备,如光驱、显示器、键盘的BAM/OMU的故障恢复,大大缩短的故障恢复所需要的时间,实现对数据的备份,有效解决故障设备的数据、错误日志等信息的丢失问题。
[0155] 实施例2
[0156] 参见图4,本发明实施例提供了一种实现故障恢复和数据备份的装置,所述装置包括:
[0157] 建立模块301,用于启动后,加载定制的根文件系统,建立PXE支撑服务、文件传输服务及磁盘镜像管理服务;其中,PXE支撑服务和文件传输服务用于支持待恢复设备从网络实现操作系统的启动,磁盘镜像管理服务用于对待恢复设备进行磁盘镜像的备份和/或恢复操作;
[0158] 监控模块302,用于接收待恢复设备从网络启动操作系统成功的通知;
[0159] 操作模块303,用于当监控模块302接收到待恢复设备从网络启动操作系统成功的通知后,远程登录待恢复设备,利用磁盘镜像管理服务对待恢复设备进行磁盘镜像的备份和/或恢复操作。
[0160] 其中,建立模块301具体包括:
[0161] 引导单元,用于确定从光驱启动后,通过引导加载器加载Linux的内核、初始RAM磁盘initrd文件,并执行initrd文件中的初始init文件;
[0162] 例如,可以通过引导加载器将Linux的内核、初始RAM磁盘initrd文件加载到加载至计算机的内存指定位置。
[0163] 解析单元,用于实现init文件通过解析包含根文件系统位置信息的内核引导参数,确定是从光驱加载后,加载根文件系统;
[0164] 建立单元,用于实现解析单元加载的根文件系统执行自动运行任务的操作,自动运行任务用于建立PXE支撑服务、文件传输服务及磁盘镜像管理服务。
[0165] 进一步地,装置还包括:
[0166] 处理模块,用于接收到待恢复设备中的支持PXE的网卡(如PXE BootROM)使用PXE协议发送的网络启动请求后,通过文件传输服务向待恢复设备提供Linux的根文件系统。
[0167] 其中,处理模块,包括:
[0168] 第一处理单元,用于接收到待恢复设备网卡(如PXE BootROM)使用PXE协议发送的网络启动请求后,向待恢复设备提供PXElinux、linux内核、相关内核引导参数和initrd;
[0169] 第二处理单元,用于实现在待恢复设备中,linux内核执行initrd文件中的init文件的操作;
[0170] 第三处理单元,用于当init文件通过解析包含根文件系统位置信息的内核引导参数,确定是从网络加载后,向待恢复设备提供IP地址,并提供操作系统Linux的根文件系统。
[0171] 进一步地,装置还包括;
[0172] 设置模块,用于当监控模块302接收到待恢复设备从网络启动操作系统成功的通知后,通过解析内核引导参数,设置待恢复设备的Linux系统root的账号的口令。
[0173] 其中,操作模块303,包括连接单元和操作单元;
[0174] 连接单元,用于通过安全外壳协议SSH建立与待恢复设备的连接;
[0175] 操作单元,用于当连接单元建立连接后,通过磁盘镜像管理服务对待恢复设备进行磁盘镜像的备份和/或恢复操作。
[0176] 综上所述,本发明实施例提供的实现故障恢复和数据备份的装置,通过本发明实施例提供的装置,当收到待恢复设备从网络启动操作系统成功的通知后,远程登录待恢复设备,利用磁盘镜像管理服务对待恢复设备进行磁盘镜像的备份和/或恢复操作,从而大大缩短的故障恢复所需要的时间,并且进一步地,当待恢复的设备没有配置外设设备,如光驱、显示器、键盘时,也可以快速实现其故障的恢复、以及数据备份。
[0177] 实施例3
[0178] 本发明实施例提供了一种实现故障恢复和数据备份的系统,该系统包括:实现故障恢复和数据备份的装置,以及与实现故障恢复和数据备份的装置通信的待恢复设备。
[0179] 其中,上述实现故障恢复和数据备份的装置的具体描述可以参见上述实施例2。
[0180] 其中,上述待恢复设备可以包括:后台管理模块BAM和/或操作维护单元OMU。
[0181] 为了对本发明实施例提供的实现故障恢复和数据备份的系统进行详细说明,请参见如下描述:
[0182] 参见图4,本发明实施例提供了一种实现故障恢复和数据备份的系统,其特征在于,系统包括:设置有恢复工具(将上述实现故障恢复和数据备份的装置简称为恢复工具)的计算机401、待恢复设备402;其中,
[0183] 设置有恢复工具的计算机401,用于启动恢复工具,恢复工具加载定制的根文件系统,建立PXE支撑服务、文件传输服务及磁盘镜像管理服务;其中,PXE支撑服务和文件传输服务用于支持待恢复设备402从网络实现操作系统的启动,磁盘镜像管理服务用于对待恢复设备402进行磁盘镜像的备份和/或恢复操作;还用于收到待恢复设备402从网络启动操作系统成功的通知后,远程登录待恢复设备402,利用磁盘镜像管理服务对待恢复设备402进行磁盘镜像的备份和/或恢复操作;
[0184] 待恢复设备402,用于通过PXE支撑服务和文件传输服务的PXE协议请求从网络启动操作系统,并向计算机401通知操作系统启动成功,还用于实现计算机401的远程登录,以及计算机401利用磁盘镜像管理服务对自身数据的备份和/或恢复操作。
[0185] 综上所述,本发明实例提供的实现故障恢复和数据备份的系统,对没有配置外设设备,如光驱、显示器、键盘等的待恢复的设备,可以实现其故障的恢复,并且进一步地,大大缩短的故障恢复所需要的时间,并能够对数据进行备份,有效解决故障设备的数据、错误日志等信息的丢失问题,
[0186] 本发明实施例中的“接收”一词可以理解为主动从其他模块获取也可以是接收其他模块发送来的信息。
[0187] 本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0188] 本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0189] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0190] 本发明实施例中的部分步骤,可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,如光盘或硬盘等。
[0191] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。