CN100339848C - 自动配置或恢复计算机系统网络配置的方法 - Google Patents

自动配置或恢复计算机系统网络配置的方法 Download PDF

Info

Publication number
CN100339848C
CN100339848C CNB021589011A CN02158901A CN100339848C CN 100339848 C CN100339848 C CN 100339848C CN B021589011 A CNB021589011 A CN B021589011A CN 02158901 A CN02158901 A CN 02158901A CN 100339848 C CN100339848 C CN 100339848C
Authority
CN
China
Prior art keywords
network
computer system
configuration information
configuration
network configuration
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.)
Expired - Fee Related
Application number
CNB021589011A
Other languages
English (en)
Other versions
CN1512379A (zh
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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CNB021589011A priority Critical patent/CN100339848C/zh
Publication of CN1512379A publication Critical patent/CN1512379A/zh
Application granted granted Critical
Publication of CN100339848C publication Critical patent/CN100339848C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种自动配置或恢复计算机系统网络配置的方法,通过将计算机系统的网络配置信息保存在一块智能卡当中,在配置/恢复系统时从智能卡中重新获得这些信息,并且自动的在操作系统启动后将这些网络信息配置回计算机系统中去。本发明利用一个独立于操作系统的装置—智能卡来存放计算机系统的网络配置信息,在安装和恢复计算机系统时,可以很方便的从智能卡中获取这些配置信息,大大提高了安装和恢复计算机系统的工作效率,同时避免了大规模计算机系统因不能及时恢复所造成的重大影响,另外由于本发明实现了对计算机上操作系统网络配置的自动配置和自动恢复,所以大大降低了维护信息的成本。

Description

自动配置或恢复计算机系统网络配置的方法
技术领域
本发明涉及一种实现计算机网络配置的方法及装置,尤其涉及一种自动配置或恢复计算机系统网络配置的方法,属于计算机网络领域。
背景技术
在大型计算机应用环境中(大于30台),对计算机的管理和配置是一件非常繁琐的事情,也是企业或团体计算机管理成本的主要构成部分。由于种种原因(系统故障、人事变动),常常需要重新安装计算机操作系统或者是恢复操作系统的网络配置。
重新安装操作系统的最通用的方法就是在获得足够的许可证的前提下,首先安装一台标准配置的操作系统,在其上将各种需要使用的软件和驱动等都安装完备,然后使用硬盘克隆工具将该计算机硬盘上的操作系统进行克隆备份。一旦需要重新安装操作系统时,只要计算机的型号和配置没有改变,就可以将克隆的镜像恢复到硬盘上就完成了安装。使用这种方法安装操作系统,比起从系统安装镜像上一步一步的安装可以节省90%的时间,因此是一种非常流行的恢复和安装系统的有效方法。
但是,上述方法只适合在规模较小的计算机应用环境中应用,对于大型的复杂的网络的计算机应用环境来说,上述方法就非常不适合了,甚至有致命的弊病:
1、当基于网络环境时,每一台计算机的网络配置必须区别开来。使用统一克隆镜像恢复计算机操作系统会导致整个网络的瘫痪——由于所有的机器都使用同一个网络地址,因此相互之间无法通信。
2、使用统一镜像恢复后的计算机系统,由于无法使用计算机网络同时对多台计算机进行系统配置(尤其是网络配置),必须人工到计算机面前进行配置。因此对系统安装或恢复的过程是一个低效率的串行过程。对于大型计算机应用环境来说,一旦发生较大规模的系统故障(例如,大于10台的计算机出现故障)而不能及时恢复系统,这将是致命的。
3、由于大型计算机应用环境下计算机数目众多,如果不能够让普通用户方便及时的自己解决操作系统安装或网络配置问题,而统统由企业的技术支持部门来包办,那么会大大增加企业信息维护成本,尤其是人力成本。
在大型计算机应用环境中总会有大量的硬件配置相同的计算机,通过统一镜像安装或恢复这些硬件配置相同的计算机系统的唯一区别就是每台计算机各自特有的网络配置。因此只要能够让计算机系统自己完成对各自特有的网络配置的设置或自动恢复,就可以克服上述三个缺点,在大型计算机应用环境中高效率、低成本的安装或恢复大量计算机系统,可以将通常需要几个人干1到2天的工作,由一个人几小时完成。
发明内容
本发明的主要目的在于提供一种自动配置或恢复计算机系统网络配置的方法,可以高效率、低成本地安装和恢复大量计算机系统。
本发明的另一目的在于提供一种自动配置或恢复计算机系统网络配置的方法,通过将计算机系统的网络配置信息保存在一块智能卡当中,在恢复系统时从智能卡中重新获得这些信息,并且自动的在操作系统启动后将这些网络信息配置回计算机系统中去。
本发明的目的是这样实现的:
一种自动配置或恢复计算机系统网络配置的方法,在恢复系统时,获取计算机系统网络配置信息,通过驱动程序将网络配置信息传送并保存到独立于系统的存储装置中去,操作系统启动后,通过设备驱动程序将存储装置中的网络配置信息读出到计算机系统的内存中,根据保存在内存中的网络配置信息自动配置计算机系统的网络配置。
所述的网络配置信息至少包括:计算机系统的网络名称、计算机系统各网络的网际协议地址(Internet Protocol,简称IP地址)、计算机系统的各网络子网掩码、计算机系统的各网络网关IP地址、计算机系统的各网络域名服务器(Domain Name Server,简称DNS服务器)IP地址以及计算机系统的各网络WINS(Windows Internet Name Service,也叫做Windows Internet命名服务)服务器IP地址。
当计算机的操作系统为Windows操作系统时,所述的网络配置信息还包括:计算机系统的主域控制机的IP地址。
所述的保存网络配置信息的存储装置单独设置,且与计算机的操作系统、物理位置、型号规格、运行状态无关。
所述的存储装置至少设有计算机接口、CPU、数据存储器、代码存储器和运算存储器;其中,CPU分别与和计算机接口、数据存储器、代码存储器和运算存储器连接,该装置通过计算机接口和计算机连接通信。
所述的计算机接口为工业标准结构总线(Industry Standard Architecture,简称ISA总线)接口或周边元件扩展总线(PCI)接口或通用串行总线(Universal Serial Bus,简称USB)接口。
所述的CPU根据驱动程序发送的请求指令,将驱动程序发过来的数据保存到数据存储器中,或者将数据存储器中的数据传送给驱动程序。
所述的数据存储器为非易失随机存储器(NonVolatile Random AccessMemory,简称NVRAM),用于存储操作系统运行期间获取到的各种和计算机系统相关的关键网络配置信息,且当计算机断电时,该信息不会丢失。
所述的代码存储器为非易失随机存储器,用于存储CPU运行的固件代码,且当计算机断电时,该代码信息不会丢失。
所述的固件用于处理计算机系统中驱动程序,并保存计算机系统网路配置信息,或者给驱动程序发送已经存储的计算机网络配置信息。
获取计算机系统配置信息的具体实现过程至少包括:
步骤10:当计算机系统配置完毕以后,获取当前计算机系统的网络配置信息;
步骤11:通过存储装置的驱动程序将计算机系统的网络配置信息保存在存储装置中。
安装或恢复计算机系统的具体过程至少包括:
步骤20:自动恢复网络配置程序通过存储装置的驱动程序从该存储装置中获取该计算机系统的各种网络配置信息;
步骤21:根据该网络配置信息设置计算机系统,以达到恢复系统网络配置的功能。
所述的自动恢复网络配置程序事先被装设在操作系统之中;且至少包括各自独立的网络配置信息获取模块、网络配置信息保存模块和网络配置信息恢复模块。
所述的网络配置信息获取模块在获取网络配置时,根据实际的配置情况获取用户需要的网络配置信息;该网络配置信息进行添加或删减。
所述的网络配置信息保存模块将网络配置信息以美国信息互换标准代码(American Standard Code for Information Interchange,简称ASCII码)的形式保存在智能卡的非易失随机存储器中,且该智能卡在保存网络配置信息时,与该配置信息独立。
所述的网络配置信息恢复模块从智能卡中读取网络配置信息并配置或恢复计算机网络配置信息。
本发明利用一个独立于操作系统的装置—智能卡来存放计算机系统的网络配置信息,在安装和恢复计算机系统时,可以很方便的从智能卡中获取这些配置信息,大大提高了安装和恢复计算机系统的工作效率,同时避免了大规模计算机系统因不能及时恢复所造成的重大影响,另外由于本发明实现了对计算机上操作系统网络配置的自动配置和自动恢复,所以大大降低了维护信息的成本。
本发明所涉及的自动配置或恢复计算机系统上网络配置的方法及设备具有很好的灵活性,可以适用于多种操作系统和硬件平台构成的计算机系统。给计算机系统的维护,特别是大规模计算机应用环境的维护,带来了极大的便利。
附图说明
图1为本发明的智能卡的硬件结构示意图;
图2为本发明的智能卡的组件结构示意图;
图3为本发明的获取模块获取并保存计算机系统网络配置的原理流程图;
图4为本发明的恢复模块读取网络配置信息并配置或恢复计算机网络配置的原理流程图。
具体实施方式
以下结合附图和具体的实施例对本发明作进一步的详细说明:
本发明的技术原理即将与计算机系统网络配置相关的信息保存在一个独立于操作系统的地方,本发明用一块智能卡来完成此功能,然后在恢复系统的时候重新获得这些信息,并且自动的在操作系统启动后将这些网络信息配置回计算机系统中去。
要获取的网络配置信息包括:计算机系统的网络名称;计算机系统的各网络IP地址;计算机系统的各网络子网掩码;计算机系统的各网络网关IP地址;计算机系统的各网络DNS服务器IP地址;计算机系统的各网络WINS服务器IP地址;计算机系统的主域控制机的IP地址(仅Windows系统使用);其它服务程序所需的各种与网络相关的配置(视具体应用情况添加)。
这些网络配置信息,要保存在和计算机操作系统无关、和计算机物理位置无关、和计算机型号规格无关、和计算机运行与否无关的地方,这样才能够保证无论计算机系统如何变化,都可以最大程度的保存这些关键的网络配置信息。本发明的解决方法是制作一块智能卡,插在计算机系统的32/64位PCI插槽上(使用PCI总线传输数据),来保存计算机系统的网络配置信息。本发明还对该卡的接口进行了改造,使其也可以插在计算机系统的ISA插槽上(使用ISA总线传输数据)。除此之外,通过对该卡与计算机接口的改造,也可以应用于其它类型的计算机系统接口上。具体使用哪一种形式,视具体情况而定。
操作系统运行期间获取到各种和计算机系统相关的关键网络配置信息,将其保存在智能卡上的非易失随机存储器中,使计算机系统的网络配置可以自动的包存在智能卡上,这样即使计算机断电的情况下,这些信息也不会丢失,并且在适当的时候自动的恢复到计算机系统上去。智能卡的硬件卡板的逻辑结构如图1所示,包括五部分:板卡接口,处理器,数据存储器,代码存储器,运算存储器。
(1)板卡接口
ISA接口:
智能卡的数据通路可以直接通过ISA总线同计算机系统进行通信,因此采用ISA接口的智能卡可以直接插在计算机系统的ISA插槽上,就能够同计算机系统进行数据通信。
PCI接口:
由于智能卡是通过ISA总线方式来同主机进行通信的,因此当需要把它插装在PCI插槽上时需要进行ISA-PCI转换。可是使用64位PCI接口,由于数据线路实际是按照32位PCI接口设计的,同时兼容64位PCI接口,因此64位PCI接口也可以插在32位PCI插槽上。
USB接口、串口:用户只需要配置相应的接口即可不需要进行其他任何改动,这里就不再赘述。
(2)处理器
对于智能卡上的处理器,本实施例使用的是WinBond公司的W83910F型号BMC(Base-board Management Controller)芯片。该芯片即为一颗独立的CPU,可以独立于计算机主板上的CPU而单独工作,整个板卡靠主板的5VSB电源(即5V备用电源)供电,因此即使计算机系统关闭,只要没有断开计算机的5VSB电源,智能卡就可以正常工作。本发明中处理器的主要功能是运行代码存储器中的固件(firmware)代码,然后根据驱动程序发送的请求指令将驱动程序发过来的数据保存到数据存储器中或者是将数据存储器中的数据传送给驱动程序。
(3)数据存储器
数据存储器就是一块非逸失性随机存储器非易失随机存储器芯片,用来保存计算机系统的网络配置信息。数据存储器也可以和代码存储器和二为一来实现。但那就要对内存地址做比较谨慎的检查,并且很难保存较多数量的配置信息。特别是当用户存在大量自定义的扩展网络信息时,还是需要单独使用一块非易失随机存储器芯片来保存这些信息。
(4)代码存储器
代码存储器是一块闪存(FLASH)芯片(也可使用NVRAM来实现),主要保存运行在处理器中的firmware程序。Firmware的功能就是处理计算机系统中驱动程序,并进行相应的保存计算机系统网路配置信息,或者给驱动程序发送存储在NVRAM中的计算机网络配置信息的功能。Firmware程序需要事先使用专门仪器烧制到FLASH中。
(5)运算存储器
运算存储器就是一块普通的RAM内存芯片,它的作用类似于计算机系统中的主机内存芯片—为程序提供一个可以在运行期间存放指令、数据或其它相关数据的空间。在智能卡中的功能就是载入存储在FLASH中的firmware程序,为其在处理器中运行期间提供内存空间。
由此看来,整个智能卡具有自己的运算系统、存储系统、总线系统,实际上就是一个精简的独立的计算机系统,因此在智能卡上保存计算机系统的配置信息是非常安全的,这些信息不会因为计算机系统崩溃或者故障就损坏,具有较高的独立性和数据安全性。
智能卡的硬件组件结构如图2所示,其中,“BMC控制器”为上述的WinBond公司的W83910F型号BMC(Base-board Management Controller)芯片;“PCI槽、USB口、串口”是指该智能卡对外的接口。在实际实现时可以选择PCI接口,智能卡插在PCI槽上,并通过PCI总线同操作系统通信。USB口和串口是智能卡的其他可选接口,其作用也是通过这些接口同操作系统通信。
“RAM、FLASH、NVRAM”模块用来存储配置信息数据和firmware的存储器,BMC中运行的程序保存在这个模块中,而操作系统发送给智能卡的计算机系统网络配置信息也保存在这个模块中。该模块可以使用RAM芯片实现(需另加一块钮扣电池供电),或者使用FLASH芯片或者NVRAM芯片实现。只要能实现非易失的存储网络配置信息即可。
BMC同智能卡对外接口之间按照标准的PCI、USB、串口接口信号线方式连接,BMC同存储模块之间使用8位的数据通道连接。
使用该卡的目的就是能够非易失的保存计算机系统的网络配置信息。然后操作系统中的保存和恢复程序能够将系统的网络配置信息保存到智能卡的存储模块中,并且在需要恢复网络配置的时候从智能卡中读出来恢复到操作系统中。
计算机系统的网路配置可以自动的包存在智能卡上,并且在适当的时候自动恢复到计算机系统上去,其实现过程如下:
当计算机系统配置完毕以后,运行一个保存网络配置的程序,该程序获取当前计算机系统的各种网络配置信息,通过智能卡的驱动程序将这些信息保存在智能卡上的NVRAM中。当安装或恢复计算机系统时,在计算机操作系统中安装的自动回复网络配置的程序会通过智能卡的驱动程序从这块智能卡上获取到该计算机系统的各种网络配置信息,并且将他们设置到计算机系统上,以达到恢复系统网络配置的功能。
本发明在操作系统中预先安装了可以自动将计算机网络配置信息保存在智能卡中,并自动将智能卡中的网络配置信息读出来恢复到计算机系统上的软件。当然安装或者恢复系统必须使用实现克隆好的硬盘镜像来进行,而本发明在安装镜像中事先就安装了智能卡驱动程序和自动保存/恢复计算机系统网络配置的软件。
为了保证整个流程的灵活性,本发明将网络配置信息获取、网络配置信息保存、网络配置信息恢复这三个功能分为独立的三个模块来实现,并且每个模块都具有良好的灵活性,这样就可以确保在自动配置或恢复整个计算机系统网络配置的流程中具有良好的灵活性。
(1)网络配置信息获取模块的灵活性。
在获取网络配置时,软件系统可以根据实际配置情况获取用户需要的那些网络配置信息。如果用户对某些特殊网络配置信息也需要保存的话,那也可以对其进行获取。因此需要获取的网络配置信息可以根据用户的实际需要进行添加或删减。
(2)网络配置信息保存模块的灵活性。
将网络配置信息以ASCII码的形式保存在智能卡的NVRAM中,智能卡驱动程序在写入和读出这些信息的时候完全是一个字节一个字节的进行操作,完全不管心信息的内容。而且智能卡在保存这些网络配置信息时,也是和配置信息独立的,因此也可以将主机(hosts)文件的内容保存在智能卡中。这样一来,计算机系统的网络配置完全是根据智能卡来确定的。只要把网络配置信息保存在智能卡上,那么这块卡插在哪台机器上,这台机器操作系统启动时预先安装好的自动恢复软件就会按照智能卡内的网络配置信息自动配置该计算机系统。这样的话,只要把智能卡中的网络配置信息保存好后,每次启动操作系统网络配置都会被自动恢复,同样每次使用硬盘克隆镜像进行安装后操作系统启动时计算机系统的网络配置也会被自动配置好。
智能卡的软件系统包括自动读取/恢复网络配置信息的软件,和板卡驱动程序。
自动读取/恢复网络配置信息的软件分为两个模块,相互之间可以独立运行。两模块的名称为“自动采集和保存计算机系统网络配置模块”(简称获取模块),和“自动读取和恢复计算机系统网络配置模块”(简称恢复模块)。获取模块和恢复模块也可使用命令行的方式手工启动。
图3所示为本发明的获取模块获取计算机系统网络配置并将其保存到智能卡中去的原理及流程示意图,根据操作系统类型的不同,获取模块的实现方法也略有不同,但是本质都是相同的:获取计算机系统的网络配置信息,并将其保存在智能卡中。在Windows下,主要是通过Windows ManagementInstrumentation(WMI)来完成的,获取模块调用WMI提供的接口,就可以获取到前面提到的八种明确需要获取到的计算机系统网络配置信息。对于Linux系统下,可能就比较繁琐一点,需要从系统的“/etc/sysconfig”目录下修改一些网络配置文件,并且使用Linux系统提供的系统管理命令才能获取到所有的计算机系统网络配置信息。获取到这些信息以后,获取模块把他们按照约定好的数据结构,通过调用智能卡驱动程序提供的设备文件接口,将这些信息数据传送到智能卡上的NVRAM中。除非再次调用获取模块向智能卡里保存新的信息数据,这些数据将永不改变。
图4为本发明的恢复模块从智能卡中读取网络配置信息并配置或恢复计算机网络配置的原理及流程示意图。若在Windows操作系统下,恢复模块通过驱动程序从智能卡中读取到网络配置信息数据,然后按照事先约定好的数据结构调用不同的WMI接口,将其配置到计算机系统中去,从而完成配置计算机系统网络的工作。若在Linux下,恢复模块通过驱动程序从智能卡上获取到网络配置信息数据,按照实现约定的数据结构拆分数据后,一方面将相应的数据修改“/etc/sysconfig”目录下的一些网络相关的配置文件内容,另一方面还要用读出来的部分数据作为参数调用Linux系统提供的系统命令来即时更改系统的网络配置(例如主机名、IP地址等)。由于将这个模块配置为在操作系统启动时自动启动,因此如果用户在使用计算机期间错误的配置了网络,或者使用系统克隆镜像来安装计算机系统,只要卡上保存的网络配置信息正确,在操作系统启动时就可以将正确的配置从卡上恢复到计算机系统中。
只要将恢复程序设置为操作系统启动时自动启动,那么使用本发明方法的计算机系统的网路配置就会在启动时被恢复为保存在智能卡中的配置。所以,一旦将计算机系统的网络配置完成后,再运行获取模块将这些配置保存在智能卡中,无论是用户误设置还是重新通过镜像安装系统,在下一次操作系统启动时都可以恢复为智能卡中保存的网路配置。
板卡驱动程序是整个设备中最简单的部分了。智能卡的驱动程序,从保存计算机系统网路配置的角度来说,这是最普通的板卡驱动程序,只要能够完成将获取模块发送的数据一个字节一个字节的传送给板卡映射的硬件地址端口,以及将恢复模块读取的字节从板卡映射的硬件地址端口一个字节一个字节的读出来,并返回给恢复模块。因此这里就不赘述,但是在Linux下要注意驱动程序和Linux内核的版本一致性问题。
以下用一具体实施例说明本发明在具体操作系统下的具体实现步骤:
由于Windows下计算机系统网络配置信息的获取和恢复可以通过WMI比较简单的完成,在此略过。现在将该专利方法及设备在Linux系统下的实现过程详细说明如下:
1、获取计算机系统网络配置信息。
按照预先设计,Linux操作系统下获取模块至少要得到以下6种计算机系统网路配置信息(其余信息视用户实际需求进行增添或删减):
(1)计算机系统的网络名称;
有两种途径可以获取网络名称——运行并解析“hostname”命令或者读取“/etc/sysconfig/network”文件中的“HOSTNAME”字段。获取模块首先使用“hostname”命令来获取网络名称,如果获取失败(例如系统没有提供“hostname”命令),那么就从“/etc/sysconfig/network”文件中读取计算机系统的网络名称。
(2)计算机系统的各网络IP地址;
同样有两种方式可以获取计算机系统的各网络IP地址——运行并解析“ifconfig”命令或者读取“/etc/sysconfig/network-script/ifcfg-eth0”文件(如果有两个网卡那么还需要读“ifcgf-eth1”文件)。获取模块首先使用“ifconfig”命令获取网络IP地址信息,然后分析输出信息,获得该计算机系统的每一个网络IP地址,如果调用“ifconfig”命令失败,那么就读取“/etc/sysconfig/network-script/ifcfg-eth0”文件(两块网卡时还需要读取“ifcfg-eth1”文件)中“IPADDR”字段后面指明的网络IP地址。
(3)计算机系统的各网络子网掩码。
有两种方式可以获取计算机系统的各网络子网掩码——运行并解析“ifconfig”命令或者读取“/etc/sysconfig/network-script/ifcfg-eth0”文件(如果有两个网卡那么还需要读“ifcgf-eth1”文件)。获取模块首先使用“ifconfig”命令获取系统网络地址相关的配置信息,然后分析输出信息,获得该计算机系统的每一个网络IP地址对应的网络子网掩码,如果调用“ifconfig”命令失败,那么就读取“/etc/sysconfig/network-script/ifcfg-eth0”文件(两块网卡时还需要读取“ifcfg-eth1”文件)中“NETMASK”字段后面指明的网络子网掩码。
(4)计算机系统的各网络网关IP地址。
有两种方式可以获取计算机系统的各网络网关IP地址——运行并解析“route”命令或者读取“/etc/sysconfig/network-script/ifcfg-eth0”文件(如果有两个网卡那么还需要读“ifcgf-eth1”文件)。获取模块首先使用“route”命令获取系统网络的网关配置信息,然后分析输出信息,获得该计算机系统的每一个网络设备(网卡)对应的网络网关IP地址,如果调用“route”命令失败,那么就读取“/etc/sysconfig/network-script/ifcfg-eth0”文件(两块网卡时还需要读取“ifcfg-eth1”文件)中“GATEWAY”字段后面指明的网络网关IP地址。
(5)计算机系统的各网络DNS服务器IP地址。
获取计算机系统的各网络DNS服务器IP地址的方法非常简单,就是读取“/etc/resolv.conf”文件中“nameserver”命令后指定的IP地址即可。如果存在多个DNS服务器,那么就依次读取文件中指明的“nameserve”命令的IP地址就可以。
(6)计算机系统的各网络WINS服务器IP地址。
在Linux下,有些服务程序也有可能需要使用到Windows的名字服务WINS,这时可以使用DNS服务来替代WINS服务,特别是在企业应用环境中,静态的WINS很多情况下都是使用动态的DNS来实现的。所以可以在Linux环境下使用DNS服务器的IP地址来替代WINS服务器的IP地址。
2、调用板卡设备接口通过驱动程序将计算机系统网络配置信息传送到智能卡中去。
智能卡对应的设备接口文件为“/dev/imb”,获取模块使用“open”系统调用命令打开该文件,然后对该设备文件使用“ioclt”系统调用命令,在调用“ioctl”命令时,将保存计算机系统网络配置信息的缓冲区内存块作为参数传送给设备驱动程序。
设备驱动程序接受到这个内存块以后,并不解释其中的内容,而是将这个字符串按地址顺序,一个字节一个字节的传送到智能卡映射的端口地址中去。传送中也有一个同步问题需要注意,那就是发完一个字节,板卡端口准备好接收下一个字节后,驱动程序才能把下一个字节发送给板卡端口。当全部字节发送完后,即返回操作状态给恢复模块。
这样从获取模块的角度来看,计算机系统网络配置信息就已经保存到智能卡中了。
3、智能卡中的firmware将驱动程序传送过来的数据保存到板卡上的NVRAM中。
智能卡中的firmware从端口获取到每一个字节后,也不对字节内容进行解释,而是直接按顺序依次保存在NVRAM中约定好的一段地址空间中。当驱动与firmware的数据传输过程结束后,智能卡所在计算机系统的网络配置信息就又变成保存在智能卡NVRAM中一段约定好的连续地址内存块中了。
由于NVRAM是非逸失性的,因此只要将这些信息保存到智能卡中后,计算机系统的这些网络配置信息即使是服务器断电的情况下也不会丢失。现在支持的接口是32/64位PCI和ISA接口(需要更换PCB接口),如果以后有必要,也可以更换别的接口或者是信息存储设备。
4、操作系统启动时,恢复模块调用板卡设备接口通过设备驱动程序将智能卡中的网络配置信息读出到计算机系统的内存中。
将恢复模块配置为操作系统启动时可以自动启动。这一点在Linux操作系统中可以通过在“/etc/rc.d/init.d/”目录中添加自动启动脚本并使用“chkconf”命令配置来实现。这个模块的运行次序要比较靠前,配置的次序是在网络启动之前先运行这个模块,这样当网络起来的时候就可以按照从智能卡中读出的信息配置计算机系统的网络了。
在操作系统启动后,恢复模块会首先加载智能卡驱动程序,然后利用设备接口调用设备驱动程序将保存在智能卡中NVRAM里的计算机系统网络配置信息一个字节一个字节的读取出来,然后按照顺序保存在恢复模块从操作系统申请的内存空间中。这些内容都是连续的保存在一个内存块中。
5、恢复模块根据保存在内存中的网路配置信息配置计算机系统的网络配置。
当恢复模块通过智能卡驱动程序将智能卡中的计算机系统网络配置信息读取到恢复模块从操作系统申请的一个内存块中后,就可以配置当前计算机系统的网络了:
(1)将内存块中的数据结构进行拆分,确定需要配置的网络参数。数据结构的组织方法可灵活定义,实现时可以依次拆分出计算机系统的网络名称、计算机系统的各网络IP地址、计算机系统的各网络子网掩码、计算机系统的各网络网关IP地址、计算机系统的各网络DNS服务器IP地址、计算机系统的各网络WINS服务器IP地址、自定义各种扩展网络配置信息。
(2)恢复计算机系统的网络名称:将拆分智能卡中信息后得到的网络名称作为新的机器名,替代“/etc/sysconfig/network”文件中“HOSTNAME”字段后紧跟着的机器名。然后再使用这个新的机器名为参数调用“hostname”命令来更改计算机系统的网络名。这么做是为了双保险,因为“hostname”命令可以当即修改计算机系统的网络名称,但是要长久的改变名称还需要修改“network”文件。
(3)恢复计算机系统的各网络IP地址:将拆分智能卡中信息后得到的IP地址作为新的IP地址,逐个替代对应的“/etc/sysconfig/network-script/ifcfg-eth0”文件(如果有两个网卡那么还需要读“ifcgf-eth1”文件)中“IPADDR”字段后面指定的IP地址,然后使用“ifconfig”命令对“eth0”文件(如果是两块网卡还有“eth1”文件)逐个设置这些新的IP地址。这么做是为了双保险,因为“ifconfig”命令可以当即修改计算机系统的各网络IP地址,但是要长久的改变IP地址就需要修改“/etc/sysconfig/network-script/ifcfg-eth0”(或者“ifcfg-eth1”)文件。
(4)恢复计算机系统的各网络子网掩码:将拆分智能卡中信息后得到的计算机系统的各网络子网掩码,逐个替代对应的“/etc/sysconfig/network-script/ifcfg-eth0”文件(如果有两个网卡那么还需要读“ifcgf-eth1”文件)中“NETMASK”字段后指定的网络子网掩码,然后使用“ifconfig”命令对“eth0”文件(如果是两块网卡还有“eth1”文件)逐个设置这些新的子网掩码。这么做是为了双保险,因为“ifconfig”命令可以当即修改计算机系统的各网络子网掩码,但是要长久的改变计算机系统网络配置中的各网络子网掩码,就需要修改“/etc/sysconfig/network-Script/ifcfg-eth0”(或者“ifcfg-eth1”)文件。
(5)恢复计算机系统的各网络网关IP地址:将拆分智能卡中信息后得到的计算机系统的各网络网关IP地址,逐个替代对应的“/etc/sysconfig/network-script/ifcfg-eth0”文件(如果有两个网卡那么还需要读“ifcgf-eth1”文件)中“GATEWAY”字段后指定的网络网关IP地址,然后使用“route”命令对“eth0”文件(如果是两块网卡还有“eth1”)逐个设置这些新的网络网关IP地址。这么做是为了双保险,因为“route”命令可以当即修改计算机系统的各网络网关IP地址,但是要长久的改变计算机系统网络配置中的各网络网络网关IP地址,就需要修改“/etc/sysconfig/network-script/ifcfg-eth0”(或者“ifcfg-eth1”)文件。
(6)恢复计算机系统的各网络DNS服务器IP地址和WINS服务器IP地址:将拆分智能卡中信息后得到的计算机系统的各网络DNS服务器或WINS服务器的IP地址,逐个替代对应的“/etc/resolve.conf”文件中“nameserve”字段后面指定的DNS或WINS服务器IP地址。这样当进行DNS或者WINS解析的时候就可以直接映射到名字服务器上进行名字地址解析了。但是需要注意的是,在这里并没有指定一个单独的WINS服务器IP地址,而是假定用户使用DNS服务器IP地址作为WINS服务器的IP地址。如果用户使用单独的WINS服务器,那么只需要在保存数据结构时单独分配一个WINS服务器IP地址的字段即可。
(7)恢复其它用户自定义各种扩展网络配置信息:由于用户可能会根据自己的实际需要自定义一些扩展的网络配置信息,例如“sendmail”服务器的网络信息等。这种情况下,只要用户按照自己约定好的数据结构保存和恢复这些扩展网络信息,也可以对这些信息实现自动恢复或配置。
以上是本发明方法在Linux操作系统下的具体实现,智能卡的使用是和操作系统无关的。但是驱动程序、获取模块和恢复模块需要在不同种类操作系统下分别实现。按照该方法,利用智能卡就可以实现自动配置和恢复计算机系统网络配置。
最后应说明的是:以上实施例仅用以说明本发明而并非限制本发明所描述的技术方案;因此,尽管本说明书参照上述的各个实施例对本发明已进行了详细的说明,但是,本领域的普通技术人员应当理解,仍然可以对本发明进行修改或者等同替换;而一切不脱离本发明的精神和范围的技术方案及其改进,其均应涵盖在本发明的权利要求范围当中。

Claims (16)

1、一种自动配置或恢复计算机系统网络配置的方法,其特征在于:在恢复系统时,获取计算机系统网络配置信息,通过驱动程序将网络配置信息传送并保存到独立于系统的存储装置中去,操作系统启动后,通过设备驱动程序将存储装置中的网络配置信息读出到计算机系统的内存中,根据保存在内存中的网络配置信息自动配置计算机系统的网络配置。
2、根据权利要求1所述的自动配置或恢复计算机系统网络配置的方法,其特征在于:所述的网络配置信息至少包括:计算机系统的网络名称、计算机系统的各网络IP地址、计算机系统的各网络子网掩码、计算机系统的各网络网关IP地址、计算机系统的各网络DNS服务器IP地址以及计算机系统的各网络WINS服务器IP地址。
3、根据权利要求1或2所述的自动配置或恢复计算机系统网络配置的方法,其特征在于:当计算机的操作系统为Windows操作系统时,所述的网络配置信息还包括:计算机系统的主域控制机的IP地址。
4、根据权利要求1所述的自动配置或恢复计算机系统网络配置的方法,其特征在于:所述的保存网络配置信息的存储装置单独设置,且与计算机的操作系统、物理位置、型号规格、运行状态无关。
5、根据权利要求1或4所述的自动配置或恢复计算机系统网络配置的方法,其特征在于:所述的存储装置至少设有计算机接口、CPU、数据存储器、代码存储器和运算存储器;其中,CPU分别与和计算机接口、数据存储器、代码存储器和运算存储器连接,该装置通过计算机接口和计算机连接通信。
6、根据权利要求5所述的自动配置或恢复计算机系统网络配置的方法,其特征在于:所述的计算机接口为ISA总线接口或PCI总线接口或USB接口。
7、根据权利要求5所述的自动配置或恢复计算机系统网络配置的方法,其特征在于:所述的CPU根据驱动程序发送的请求指令,将驱动程序发过来的数据保存到数据存储器中,或者将数据存储器中的数据传送给驱动程序。
8、根据权利要求5所述的自动配置或恢复计算机系统网络配置的方法,其特征在于:所述的数据存储器为非易失随机存储器,用于存储操作系统运行期间获取到的各种和计算机系统相关的关键网络配置信息,且当计算机断电时,该信息不会丢失。
9、根据权利要求5所述的自动配置或恢复计算机系统网络配置的方法,其特征在于:所述的代码存储器为非易失随机存储器,用于存储CPU运行的固件代码,且当计算机断电时,该代码信息不会丢失。
10、根据权利要求9所述的自动配置或恢复计算机系统网络配置的方法,其特征在于:所述的固件用于处理计算机系统中驱动程序,并保存计算机系统网路配置信息,或者给驱动程序发送已经存储的计算机网络配置信息。
11、根据权利要求1所述的自动配置或恢复计算机系统网络配置的方法,其特征在于:获取计算机系统配置信息的具体实现过程至少包括:
步骤10:当计算机系统配置完毕以后,获取当前计算机系统的网络配置信息;
步骤11:通过存储装置的驱动程序将计算机系统的网络配置信息保存在存储装置中。
12、根据权利要求1所述的自动配置或恢复计算机系统网络配置的方法,其特征在于:安装或恢复计算机系统的具体过程至少包括:
步骤20:自动恢复网络配置程序通过存储装置的驱动程序从该存储装置中获取该计算机系统的各种网络配置信息;
步骤21:根据该网络配置信息设置计算机系统,以达到恢复系统网络配置的功能。
13、根据权利要求12所述的自动配置或恢复计算机系统网络配置的方法,其特征在于:所述的自动恢复网络配置程序事先被装设在操作系统之中;且至少包括各自独立的网络配置信息获取模块、网络配置信息保存模块和网络配置信息恢复模块。
14、根据权利要求13所述的自动配置或恢复计算机系统网络配置的方法,其特征在于:所述的网络配置信息获取模块在获取网络配置时,根据实际的配置情况获取用户需要的网络配置信息;该网络配置信息进行添加或删减。
15、根据权利要求13所述的自动配置或恢复计算机系统网络配置的方法,其特征在于:所述的网络配置信息保存模块将网络配置信息以ASCII码的形式保存在智能卡的非易失随机存储器中,且该智能卡在保存网络配置信息时,与该配置信息独立。
16、根据权利要求13所述的自动配置或恢复计算机系统网络配置的方法,其特征在于:所述的网络配置信息恢复模块从智能卡中读取网络配置信息并配置或恢复计算机网络配置信息。
CNB021589011A 2002-12-26 2002-12-26 自动配置或恢复计算机系统网络配置的方法 Expired - Fee Related CN100339848C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB021589011A CN100339848C (zh) 2002-12-26 2002-12-26 自动配置或恢复计算机系统网络配置的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB021589011A CN100339848C (zh) 2002-12-26 2002-12-26 自动配置或恢复计算机系统网络配置的方法

Publications (2)

Publication Number Publication Date
CN1512379A CN1512379A (zh) 2004-07-14
CN100339848C true CN100339848C (zh) 2007-09-26

Family

ID=34237221

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB021589011A Expired - Fee Related CN100339848C (zh) 2002-12-26 2002-12-26 自动配置或恢复计算机系统网络配置的方法

Country Status (1)

Country Link
CN (1) CN100339848C (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100362824C (zh) * 2004-12-01 2008-01-16 华为技术有限公司 网络终端设备的配置方法
CN100465913C (zh) * 2006-08-09 2009-03-04 华为技术有限公司 一种配置恢复装置和方法
CN101355551A (zh) * 2007-07-23 2009-01-28 华为技术有限公司 一种通信方法和装置
US8195774B2 (en) * 2008-05-23 2012-06-05 Vmware, Inc. Distributed virtual switch for virtualized computer systems
CN103440179B (zh) * 2013-08-23 2016-09-28 安徽安庆瀚科莱德信息科技有限公司 存储设备配置信息的连续保存方法
CN104158700A (zh) * 2014-08-13 2014-11-19 福建富士通信息软件有限公司 基于网络环境识别的智能网络配置调整系统及调整方法
CN105486998A (zh) * 2015-12-01 2016-04-13 许继电气股份有限公司 处理器板卡参数无损式自动测试方法和监控主机装置
CN107506016B (zh) 2016-06-14 2020-04-21 伊姆西Ip控股有限责任公司 存储设备和对存储设备供电的方法
CN106789237A (zh) * 2016-12-20 2017-05-31 曙光信息产业(北京)有限公司 操作系统的配置装置及配置方法
CN107040951B (zh) * 2017-05-12 2020-04-14 深圳市物朗智能科技有限公司 自动选择智能设备无线网络配置方式的方法
CN108183827A (zh) * 2017-12-29 2018-06-19 江苏惠通集团有限责任公司 基于低功耗蓝牙网状网络的配置方法及启动配置设备
CN108880864B (zh) * 2018-05-29 2021-04-09 深信服科技股份有限公司 业务网络自动恢复方法、装置、灾备平台及存储介质
CN113014432A (zh) * 2021-02-26 2021-06-22 山东英信计算机技术有限公司 一种服务器网络配置装置及服务器网络配置方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2332962A (en) * 1997-12-31 1999-07-07 Samsung Electronics Co Ltd Backup of booting and FAT information for virus recovery
US6336161B1 (en) * 1995-12-15 2002-01-01 Texas Instruments Incorporated Computer configuration system and method with state and restoration from non-volatile semiconductor memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6336161B1 (en) * 1995-12-15 2002-01-01 Texas Instruments Incorporated Computer configuration system and method with state and restoration from non-volatile semiconductor memory
GB2332962A (en) * 1997-12-31 1999-07-07 Samsung Electronics Co Ltd Backup of booting and FAT information for virus recovery

Also Published As

Publication number Publication date
CN1512379A (zh) 2004-07-14

Similar Documents

Publication Publication Date Title
CN100339848C (zh) 自动配置或恢复计算机系统网络配置的方法
CN111338854B (zh) 基于Kubernetes集群快速恢复数据的方法及系统
CN1251074C (zh) 计算机的重启动方法
CN1269033C (zh) 数据处理系统中逻辑分区之断电和/或再启动的方法和仪器
US8954544B2 (en) Cloud-based virtual machines and offices
US9841991B2 (en) Techniques for virtual machine migration
US8140871B2 (en) Wake on Lan for blade server
CN100451981C (zh) 修改计算机的配置信息的方法
US20140129819A1 (en) Cloud cluster system and boot deployment method for the same
US20070083748A1 (en) Determining a boot image based on a requesting client address
US8612553B2 (en) Method and system for dynamically purposing a computing device
CN101980490B (zh) 虚拟交换机和物理交换机的链路建立方法及其装置
US20150324217A1 (en) Techniques for virtual machine shifting
CN1500243A (zh) 使用可移动存储器收集和恢复用户环境数据
CN1902595A (zh) 在复制环境中的协调的存储管理操作
CN101076782A (zh) 提供虚拟刀片服务器的方法和装置
CN103092670A (zh) 一种云计算环境下跨平台的虚拟计算资源管理方法
CN1818869A (zh) 嵌入式操作系统镜像启动的启动优化方法
CN1825283A (zh) 嵌入式操作系统硬件镜像启动优化的实现方法
CN111143128B (zh) 一种openstack云主机数据保护方法及系统
CN102457541A (zh) 无盘工作站启动过程中避免发生资源竞争的系统及方法
CN103777979A (zh) 一种通过云端来刷写bios的方法及装置
CN1908910A (zh) 备份及恢复数据的方法
CN1632774A (zh) Usb接口设备的识别方法
US7668938B1 (en) Method and system for dynamically purposing a computing device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070926

Termination date: 20201226

CF01 Termination of patent right due to non-payment of annual fee