CN102081529A - 配置服务器的方法 - Google Patents

配置服务器的方法 Download PDF

Info

Publication number
CN102081529A
CN102081529A CN2009102533160A CN200910253316A CN102081529A CN 102081529 A CN102081529 A CN 102081529A CN 2009102533160 A CN2009102533160 A CN 2009102533160A CN 200910253316 A CN200910253316 A CN 200910253316A CN 102081529 A CN102081529 A CN 102081529A
Authority
CN
China
Prior art keywords
server
configuration
virtual
code module
core code
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.)
Pending
Application number
CN2009102533160A
Other languages
English (en)
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.)
Inventec Corp
Original Assignee
Inventec Corp
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 Inventec Corp filed Critical Inventec Corp
Priority to CN2009102533160A priority Critical patent/CN102081529A/zh
Publication of CN102081529A publication Critical patent/CN102081529A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

一种配置服务器的方法,是用以配置具有固件接口的服务器。配置服务器的方法包括:封装用以运行于服务器的核心代码模块以得到配置封包;执行检测程序用以检测核心代码模块是否仅通过固件接口与服务器沟通,且当核心代码模块仅通过该固件接口与该服务器沟通时,以配置封包配置服务器。其中以配置封包配置服务器的步骤则包括:初始化服务器;通过网络下载配置封包于服务器;解压缩配置封包,以得到核心代码模块;以及执行核心代码模块以配置服务器。

Description

配置服务器的方法
技术领域
本发明涉及一种配置服务器的方法,特别涉及一种以仅通过固件接口与服务器沟通的核心代码模块配置服务器的方法。
背景技术
随着计算机的普及与网络技术的快速发展,经由网络可以快速的获取所需的信息,更可以得到多样化的服务。也由于应用于网络的技术越来越进步,仅由普通计算机或设备所能提供的服务以不敷使用,故发展出了服务器的技术。服务器是为一种善于处理网络技术的计算机平台,其可连结至各种网络系统,诸如因特网(Internet)、组织内部网络(intranet)、组织间网络(extranet)、局域网络(Local Area Network,LAN)。服务器并对通过网络系统相连结的计算机提供各种的应用服务。戴尔(Dell)或是英特尔(Intel)等服务器大厂近年来甚至推出智能平台管理接口(Intelligent Platform Management Interface,IMPI)的技术,用以提供使用者能够整合管理多个服务器。
为了确保服务器于提供服务时的稳定性,服务器出被出货前出经过各种测试,例如服务器中各个硬件部件的测试或是压力测试。而服务器在测试或是出货之前,需经过适当的配置才能得到正确的测试结果。例如欲对服务器进行压力测试前,需确认待测的服务器已能正确地连上网络。
但待测的服务器可能运行不同的操作系统,而使得配置服务器的过程相当繁琐。举例而言,在诸如Linux RH4.7、RHEL5.3、SUSE10、SUSE11、Windows2003或是Windows2008等服务器的操作系统中,对于同一张网络卡的支持或是适用的网络卡驱动程序可能有所不同。因此在配置多个待测的服务器时,需逐一确认每一个服务器运行的操作系统,并使得这些操作系统同时能够支持。因此例如光就网络卡的驱动程序便须为每一种操作系统准备不同的版本,不只麻烦还增加多个版本的成本以及维护服务器的成本。一旦测试程序所需预先进行的配置项目例如硬件的驱动程序或执行测时所需的常驻程序(Daemon)增加,传统的配置方法所具有的问题更是严重。
此外,传统的配置方法对服务器的系统供货商依赖程度很高,亦造成配置以及测试不易的问题。制造商需在出货前就对服务器进行测试,但是一般系统供货商提供官方的服务器测试系统的时间点都很晚。因此传统利用系统供货商提供的服务器测试系统的配置以及测试方法十分受限于系统供货商。再者,若发现系统供货商所提供的测试系统的任何组件有问题,都可能严重影响服务器的测试结果以及实时出货的与否。此外,系统供货商多直接提供执行档(又称为可执行文件)予制造商,而无法对这些档案进行实时编译以及无法将其修改后再利用。
发明内容
为解决上述问题,本发明的目的在于提供一种配置服务器的方法。配置服务器的方法是用以配置具有一固件接口的一服务器,而配置服务器的方法包括:封装用以运行于服务器的一核心代码模块,以得到一配置封包;执行一检测程序用以检测核心代码模块是否仅通过固件接口与服务器沟通,而当核心代码模块仅通过固件接口该服务器沟通时,执行下述步骤以使用配置封包配置服务器。使用配置封包配置服务器的步骤包括:初始化服务器;通过一网络下载配置封包于服务器;解压缩配置封包,以得到核心代码模块;以及执行核心代码模块以配置服务器。
根据本发明的一实施范例,核心代码模块可包括一驱动程序(driver)以及一服务程序(service)。而根据本发明的另一实施范例,核心代码模块是可包括一编译器以及一函式库(library)。此外,配置服务器的方法的中,于“解压缩配置封包”的步骤之后另可包括:编译核心代码模块。
较佳的是,上述检测程序是通过对应服务器的一虚拟机(virtual machine)进行检测。根据本发明的一实施范例,虚拟机具有至少一虚拟硬件模块,且检测程序可包括:读取虚拟机的一系统管理列表;依据系统管理列表,得到每一个虚拟硬件模块的一虚拟驱动以及至少一虚拟服务;以及判断核心代码模块是否支持虚拟驱动以及虚拟服务。更佳的是,系统管理列表可包括每一个虚拟硬件模块的一虚拟硬件名称、一虚拟硬件资源、虚拟驱动以及虚拟服务。
而根据本发明的另一实施范例,配置服务器的方法的“初始化服务器”的步骤之后,另可包括:于一操作系统选择列表中选择一操作系统;以及于服务器上执行操作系统。
综上所述,本发明所提供的配置服务器的方法可将配置服务器时所需的核心代码模块封装为配置封包,并提供戴配置的服务器下载以及配置。配置服务器的方法并可通过检测程序确认核心代码模块能够仅通过服务器的固件接口与服务器沟通。因此即使多数个服务器运行不同的操作系统,配置服务器的方法亦能够简单地依照需求配置这些服务器。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为根据本发明一实施范例的服务器的方框示意图;
图2为根据本发明一实施范例的配置服务器的方法的流程示意图;
图3为根据本发明一实施范例的检测程序的流程示意图;以及
图4为根据本发明一实施范例的虚拟机的方框示意图。
其中,附图标记
20版本控制系统
22配置封包
30网络
40服务器
42固件界面
44操作系统
46服务器管理系统
50虚拟机
52虚拟硬件模块
54虚拟驱动
56虚拟服务
具体实施方式
以下在实施方式中详细叙述本发明的详细特征以及优点,其内容足以使任何本领域技术人员了解本发明的技术内容并据以实施,且根据本说明书所揭露的内容、权利要求范围及图式,任何本领域技术人员可轻易地理解本发明相关的目的及优点。
本发明提供一种配置服务器的方法用以配置具有一固件接口的一服务器。请参照图1,其是为根据本发明一实施范例的服务器的方框示意图。服务器40包括固件接口42,并可包括一操作系统44以及一服务器管理系统(ServerManagement System)46。服务器40并可通过一网络30与一版本控制系统(revision control system)20相连。
版本控制系统20例如可以利用Subversion(SVN)、Visual SourceSafe(VSS)或是Concurrent Versions System(CVS)等应用程序。此外,本说明书所述之的版本控制系统20亦可代表运行版本控制系统20的平台或计算器系统。
服务器40可使用Unix的Linux、FreeBSD或是微软(Microsoft)的WindowsServer 2003等操作系统44,亦可为磁盘操作系统(Disk Operating System,DOS)或是使用可延伸固件接口(Extensible Firmware Interface,EFI)的操作系统44。且服务器40与操作系统44亦可各种厂牌的各种服务器产品,本发明并不对其限制。
服务器40的固件接口42是为与服务器40的多个硬件相对应的固件的总称,而固件接口42能使作业系统44简单地存取服务器40的硬件。服务器管理系统46亦被称的为智能平台管理接口(Intelligent Platform ManagementInterface,IMPI),其是能通过操作系统44以及固件接口42存取服务器40的硬件。服务器管理系统46并可通过一基板管理控制器(BaseboardManagement Controller,BMC)对服务器40提供远程监视、管理、错误诊断和系统恢复等功能,且服务器管理系统46可通过网络30或其它种连接方式来通知管理服务器40的管理人员。
其中网络30可以是用以连接版本控制系统20与服务器40的因特网(Internet)或是局域网络(Local Area Network,LAN);但版本控制系统20与服务器40亦可直接经由一集线器(hub)相连。
借由上述硬件结构,对服务器40本发明提供的配置服务器的方法。请参照图2,其是为根据本发明一实施范例的配置服务器的方法的流程示意图。
首先封装一核心代码模块(kernel code module),以得到配置于版本控制系统20的一配置封包(configuring package)22(步骤S100)。换句话说,于步骤S100中核心代码模块被封装为配置封包22。其中核心代码模块可包括至少一驱动程序(driver)以及至少一服务程序(service),而驱动程序以及服务程序是对应于服务器40的其中一个硬件。举例而言,驱动程序可以是服务器40的网络卡(Network Interface Card,NIC)于固件接口42中所需的驱动程序。
服务程序是为固件接口42能提供的各种系统上的服务,而有些服务程序的运行方式类似常驻程序。举例而言Workstation的服务程序提供服务器40网络连件及通讯的功能,而Task Scheduler的服务程序则可让服务器40内的程序可以在安排好的时间中执行。服务程序中亦可包括网络卡等硬件所支持的传输协议(protocol)类型以及传输协议名称,例如用户数据报协议(User DatagramProtocol,UDP)。而核心代码模块需包括的服务程序是实际上的服务器40的型号或是系统供货商而异。举例而言,惠普(HP)的服务器40在配置时可能需要HPASM或是HPRSM等服务程序。
除了驱动程序以及服务程序之外,核心代码模块并可封装有调用服务器40的至少一连接端口(port)等所需的底层支持。
被封装为配置封包22的核心代码模块接着被执行一检测程序(步骤S120)。检测程序是检查核心代码模块是否能不通过服务器40的操作系统44,而仅通过固件接口42与服务器40的各个硬件沟通。换句话说,检测程序可检测核心代码模块中的驱动程序以及服务程序是否可在没有操作系统44的情况下令服务器管理系统46直接通过固件接口42来存取服务器40的硬件。
请同时参照图3以及图4,其分别为根据本发明一实施范例的检测程序的流程示意图以及虚拟机的方框示意图。根据本发明的一实施范例,检测程序是通过对应待测的服务器40的一虚拟机(Virtual Machine,VM)50进行检测。更详细的说,虚拟机50可包括至少一虚拟硬件模块52,且每一个虚拟硬件模块52对应有一虚拟驱动54以及至少一虚拟服务56。
虚拟机50是仿真以配置完成的服务器40,且每一个虚拟机50的虚拟硬件模块52都对应于服务器40的一个硬件。于检测程序中,首先读取虚拟机50的一系统管理列表(步骤S122),其中系统管理列表可以通过运行于虚拟机50中的一虚拟操作系统读取。
较佳的是,系统管理列表中包括虚拟机50中的每一个虚拟硬件模块52的一虚拟硬件名称、一虚拟硬件资源、虚拟驱动54以及虚拟服务56。举例而言,对应于服务器40的网络卡的虚拟硬件模块52的虚拟硬件名称、虚拟硬件资源、虚拟驱动54以及虚拟服务56可以个别是服务器40的网络卡的名称、网络卡的存取地址(address)与网络传输速率、网络卡的驱动程序名称以及网络卡提供的服务程序。
因此借由读取虚拟机50的系统管理列表,便可得到每一个虚拟硬件模块52的虚拟驱动54以及虚拟服务56(步骤S124)。接着则判断核心代码模块中的驱动程序以及服务程序是否支持对应的虚拟硬件模块52的虚拟驱动54以及虚拟服务56(步骤S126)。
当服务器40被配置完成时,服务器40的一个硬件所需要的驱动程序以及服务程序即为这个硬件对应的虚拟硬件模块52的虚拟驱动54以及虚拟服务56。因此比对系统管理列表以及核心代码模块后,便可判断核心代码模块是否足够支持虚拟驱动54以及虚拟服务56。换句话说,便可判断核心代码模块是否足够支持与虚拟机50对应的服务器40,而能够仅通过驱动程序以及服务程序等固件接口42的组件与服务器40沟通。
接下来请回到图2。确认核心代码模块能仅通过固件接口42与服务器40的各个硬件沟通后,接着初始化服务器40(步骤S140)。而在初始化服务器40之前,可先将服务器40插上网络线并确保服务器40能顺畅地通过网络30与版本控制系统20联机,亦可对服务器40的一基本输入输出系统(BasicInput/Output System,BIOS)进行设定。
根据本发明的一实施范例,初始化服务器40之后,并可于服务器40的一操作系统选择表中选择欲安装的操作系统44,并在服务器40上执行被选择的操作系统44。
接着利用操作系统44,通过网络30下载版本控制系统20之的中的配置封包22(步骤S160),并解压缩配置封包22以得到配置封包22内的核心代码模块(步骤S180)。较佳的是,待测的服务器40中配置有一脚本(script),而脚本能自动连接版本控制系统20并自动下载配置封包22。配置封包22被下载后可由脚本自动进行解压缩的步骤,而配置封包22亦可是一个自解压缩档(SelF-eXtracting,SFX)。
得到配置封包22内的核心代码模块之后,便可执行核心代码模块(步骤S200)。更详细的说,核心代码模块中的驱动程序以及服务程序个别被挂载给服务器40中其个别对应的硬件。如此一来,服务器40的硬件获得进行服务器40的测试等情况所需要的驱动程序以及服务程序,而完成配置服务器40。
根据本发明的另一实施范例,核心代码模块内所包括的驱动程序以及服务程序是为由高级语言所写成的程序代码。则服务器40解压缩配置封包22获得核心代码模块之后,另将驱动程序以及服务程序编译或为可执行的二进制文件(binary code)。
而为了能将驱动程序以及服务程序编译,核心代码模块另可包括一编译器(compiler)以及一函式库(library)。举例而言,于步骤S100时,可将一硬件接口接续(Hardware Interface Accessing)封装成C或是C++语言的函式库。
综上所述,本发明所提供的配置服务器的方法可将配置服务器时所需的驱动程序以及服务程序等核心代码模块封装为配置封包,并提供戴配置的服务器下载后自动进行配置。且配置服务器的方法亦通过检测程序确认核心代码模块能够仅通过服务器的固件接口与服务器沟通。因此即使多数个服务器运行不同的操作系统,配置服务器的方法亦能够简单地依照需求配置这些服务器。
因此本发明所提供的配置服务器的方法能够避免传统的配置方法的繁琐的配置程序,亦能实时编译使用的核心代码模块。此外,本发明所提供的配置服务器的方法亦不需使用服务器的供货商所提供的配置或测试系统,而解决对系统供货商过度依赖的问题。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (8)

1.一种配置服务器的方法,用以配置具有一固件接口的一服务器,其特征在于,该配置服务器的方法包括:
封装用以运行于该服务器的一核心代码模块,以得到一配置封包;
执行一检测程序用以检测该核心代码模块是否仅通过该固件接口与该服务器沟通,当该核心代码模块仅通过该固件接口与该服务器沟通时,执行下列步骤:
初始化该服务器;
通过一网络下载该配置封包于该服务器;
解压缩该配置封包,以得到该核心代码模块;以及
执行该核心代码模块以配置该服务器。
2.根据权利要求1所述的配置服务器的方法,其特征在于,该核心代码模块包括:一驱动程序以及一服务程序。
3.根据权利要求1所述的配置服务器的方法,其特征在于,该解压缩该配置封包的步骤之后,另包括:
编译该核心代码模块。
4.根据权利要求1所述的配置服务器的方法,其特征在于,该核心代码模块包括:一编译器以及一函式库。
5.根据权利要求1所述的配置服务器的方法,其特征在于,该检测程序是通过对应该服务器的一虚拟机进行检测。
6.根据权利要求5所述的配置服务器的方法,其特征在于,该虚拟机具有至少一虚拟硬件模块,且该检测程序包括:
读取该虚拟机的一系统管理列表;
依据该系统管理列表,得到每一该虚拟硬件模块的一虚拟驱动以及至少一虚拟服务;以及
判断该核心代码模块是否支持该虚拟驱动以及该虚拟服务。
7.根据权利要求6所述的配置服务器的方法,其特征在于,该系统管理列表包括每一该虚拟硬件模块的一虚拟硬件名称、一虚拟硬件资源、该虚拟驱动以及该虚拟服务。
8.根据权利要求1所述的配置服务器的方法,其特征在于,该初始化该服务器的步骤之后,还包括:
于一操作系统选择列表中选择一操作系统;以及
于该服务器上执行该操作系统。
CN2009102533160A 2009-11-30 2009-11-30 配置服务器的方法 Pending CN102081529A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102533160A CN102081529A (zh) 2009-11-30 2009-11-30 配置服务器的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102533160A CN102081529A (zh) 2009-11-30 2009-11-30 配置服务器的方法

Publications (1)

Publication Number Publication Date
CN102081529A true CN102081529A (zh) 2011-06-01

Family

ID=44087510

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102533160A Pending CN102081529A (zh) 2009-11-30 2009-11-30 配置服务器的方法

Country Status (1)

Country Link
CN (1) CN102081529A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103164326A (zh) * 2011-12-12 2013-06-19 深圳市快播科技有限公司 一种游戏运行环境检测方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103164326A (zh) * 2011-12-12 2013-06-19 深圳市快播科技有限公司 一种游戏运行环境检测方法及系统

Similar Documents

Publication Publication Date Title
CN101470621B (zh) 虚拟机配置系统
US7421620B2 (en) Configuration proxy service for the extended firmware interface environment
US8762986B2 (en) Advanced packaging and deployment of virtual appliances
US7739698B2 (en) Multiplatform API usage tool
US20050188262A1 (en) Simultaneous execution of test suites on different platforms
US9184991B2 (en) Method and apparatus for developing service processor solutions
JPH0588859A (ja) 両立性検査方法、システムコンポーネント及びコンピユータシステム
US8037467B2 (en) Single stream processing with multi-version support of application operating environments
US20040117413A1 (en) Method and system for automated testing of versioned information handling system applications
CN110727440A (zh) 一种软件封装方法
JP2022553860A (ja) 実行時コンテナ
EP3207453B1 (en) Api versioning independent of product releases
WO2017066181A2 (en) Software platform for embedded systems
US9779014B2 (en) Resilient mock object creation for unit testing
CN102023857B (zh) 基于ServiceOS的多平台应用程序服务管理方法及系统
Pavlov et al. Windows embedded CE 6.0 fundamentals
CN113282487A (zh) 编程语言调试方法、装置及终端设备
CN102081529A (zh) 配置服务器的方法
CN112559336B (zh) 自适应调试异构计算芯片的方法、装置、系统及主板芯片
US9122551B2 (en) Methods and systems for generating read-only operating systems
Chatley et al. Painless plugins
US20030135662A1 (en) Adapter for coupling a legacy operating system to a driver of an i/o channel which has an incompatible native operating system interface
Anger Comparison of various runtimes in Kubernetes
CN117149352A (zh) 一种基于不同架构的云平台实现方法及设备
CN118192946A (zh) 一种跨平台多模块的软件构建方法、装置、电子设备、存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110601