本发明涉及操作系统技术领域,尤其涉及Linux操作系统的安装方法、装置及系统。
背景技术:
Linux是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux作为一种开源免费和自由传播的操作系统,由于其稳定和节省硬件资源的特点,现在被广泛应用于台式计算机、大型机和超级计算机等各种计算机硬件设备中。
众所周知,在使用Linux操作系统之前,需要对其进行安装。如图1所示,以现有的一种基于PXE(preboot execute environment,预启动执行环境)模式安装Linux操作系统的方法为例,如果在安装配置文件执行过程中报错,安装就会中断,需要在服务端服务器修改相应的安装配置文件,然后进行客户端服务器的重新启动,重新进行客户端服务器开机自检,重新执行开机自检后的流程。目前,往往需要对大规模的客户端服务器进行集群式的Linux操作系统升级更新,这种在修改安装配置文件后,需要客户端服务器进行重新启动、重新执行开机自检及下载相关安装文件的安装方式极大地延长了安装操作系统的时间,使安装效率变的异常低下。
技术实现要素:
技术问题
有鉴于此,本发明提供Linux操作系统的安装方法、装置及系统,其在修改安装配置文件后,无需重新启动客户端服务器,而能使安装过程继续进行,提高操作系统的安装效率。
解决方案
一方面,提出了一种Linux操作系统的安装方法,该安装方法包括:从客户端服务器获取与Linux操作系统的安装过程相关的安装配置文件和安装信息;在所述安装信息指示安装过程中出现与所述安装配置文件相关的错误的情况下,根据所述安装信息修改所述安装配置文件;将修改后的所述安装配置文件推送至所述客户端服务器,以使所述客户端服务器基于修改后的所述安装配置文件继续执行安装。
另一方面,提出了一种Linux操作系统的安装装置,该安装装置包括:获取部件,用于从客户端服务器获取与Linux操作系统的安装过程相关的安装配置文件和安装信息;修改部件,用于在所述安装信息指示安装过程中出现与所述安装配置文件相关的错误的情况下,根据所述安装信息修改所述安装配置文件;推送部件,用于将修改后的所述安装配置文件推送至所述客户端服务器,以使所述客户端服务器基于修改后的所述安装配置文件继续执行安装。
另一方面,提出了一种Linux操作系统的安装系统,该安装系统包括:管理服务器,所述管理服务器承载有上述的安装装置;至少一台客户端服务器,与所述管理服务器连接;服务端服务器,与所述客户端服务器连接,用于为所述客户端服务器提供Linux操作系统映像文件。
有益效果
本发明各方面通过从客户端服务器获取安装配置文件及安装信息,在安装信息指示安装过程中出现与安装配置文件相关的错误的情况下,根据安装信息修改安装配置文件;并将修改后的安装配置文件推送至客户端服务器, 以使客户端服务器基于修改后的所述安装配置文件继续执行安装。通过上述技术手段,可在修改安装配置文件后,不需重新启动客户端服务器及重新执行开机自检及下载相关安装文件,而能使安装过程继续进行,提高了操作系统的安装效率。
根据下面参考附图对示例性实施例的详细说明,本发明的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本发明的示例性实施例、特征和方面,并且用于解释本发明的原理。
图1示出现有的基于PXE模式安装Linux操作系统的方法的流程图;
图2示出根据本发明一实施例的一种Linux操作系统的安装方法的流程图;
图3示出根据本发明一实施例的一种基于PXE模式的Linux操作系统的安装方法的流程图;
图4示出根据本发明一实施例的Linux操作系统的安装装置的结构图。
图5示出根据本发明一实施例的Linux操作系统的安装装置的另一结构图;
图6示出根据本发明另一实施例的Linux操作系统的安装系统的结构图;
图7示出了本发明的另一个实施例的一种Linux操作系统的安装设备的结构框图。
具体实施方式
以下将参考附图详细说明本发明的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施 例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。
实施例1
图2示出根据本发明一实施例的Linux操作系统的安装方法的流程图。该安装方法可应用于管理服务器,如图2所示,该安装方法主要包括:
步骤201,从客户端服务器获取与Linux操作系统的安装过程相关的安装配置文件和安装信息;
步骤202,在所述安装信息指示安装过程中出现与所述安装配置文件相关的错误的情况下,根据所述安装信息修改所述安装配置文件;
步骤203,将修改后的所述安装配置文件推送至所述客户端服务器,以使所述客户端服务器基于修改后的所述安装配置文件继续执行安装。
本发明实施例提供的Linux操作系统的安装方法,从客户端服务器获取安装配置文件及安装信息,在安装信息指示安装过程中出现与安装配置文件相关的错误的情况下,根据安装信息修改安装配置文件;并将修改后的安装配置文件推送至客户端服务器,以使客户端服务器基于修改后的所述安装配置文件继续执行安装。通过上述技术手段,可在修改安装配置文件后,不需重新启动客户端服务器及重新执行开机自检及下载相关安装文件,而能使安装过程继续进行,提高了操作系统的安装效率。
以下结合图3,来说明Linux操作系统的安装过程、以及在安装过程中出现与安装配置文件相关的错误的情况下,修改所述安装配置文件,使系统安 装继续进行的一些具体示例,其中以语法检查错误、解析错误和执行错误作为与配置安装文件相关的错误的例子进行说明。本领域技术人员应理解,具体的错误类型可视实际安装过程中发生的错误而定,以下示例仅为了便于理解本发明,而非对本发明进行限制。
在一个示例中,所述安装过程可以是基于预启动执行环境PXE进行的。PXE是由Intel公司开发的最新技术,如图3所示,可工作于Client/Server的网络模式,可支持客户端服务器通过网络从服务端服务器下载系统映像文件(例如vmlinuz、initrd.img、install.img),并可由此支持通过网络启动操作系统,在启动过程中,客户端服务器可要求服务器分配IP地址,可采用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议从服务端服务器下载一个启动软件包到本机内存中执行,可通过这个启动软件包完成客户端服务器的基本软件设置,从而可引导预先安装在客户端服务器中的操作系统。
在一个示例中,所述安装配置文件可为ks.cfg文件。Kickstart是一种无人值守的安装方式,可通过Kickstart工具生成一个名为ks.cfg的文件,该ks.cfg文件可记录典型的需要人工干预填写的各种参数。当自动进行安装操作系统时,引导加载程序可按照ks.cfg文件中的参数进行客户端服务器的linux操作系统的安装。
在一个示例中,如图3所示步骤301中,管理服务器可通过网络主动获取客户端服务器的安装配置文件(例如ks.cfg文件)和安装信息;客户端服务器也可通过网络主动将安装配置文件(例如ks.cfg文件)和安装信息发送至管理服务器;还可在管理服务器与客户端服务器之间设置代理Agent,管理服务器可通过Agent从客户端服务器获取安装配置文件(例如ks.cfg文件)和安装信息。安装信息可包括安装进度信息和报错信息,报错信息可反映在安装过程中出现的与安装配置文件相关的错误。此外,安装信息还可以包括安 装进度信息等其他信息,安装进度信息可反映系统安装进展的阶段或步骤。在一个示例中,与安装配置文件相关的错误可包括:针对安装配置文件的语法检查错误、针对安装配置文件的解析错误、和针对安装配置文件的执行错误中的一种或多种。
以ks.cfg文件作为安装配置文件为例,在客户端服务器安装Linux操作系统的过程中,可通过Python解析ks.cfg文件,并可在解析过程中,通过异常处理语句(例如try语句)在缓存中捕获异常,当捕获到异常时,可弹出报错并可生成相应的有关ks.cfg解析的报错信息。例如有关ks.cfg文件解析的报错信息可记录错误类型(例如KickstartParseError)、错误在脚本中位置(lineno)及消息(例如Illegal url(不合法的统一资源定位符))。基于相同原理,在对ks.cfg文件进行语法检查的过程中或者在ks.cfg文件执行过程中,如果捕获到异常,也可弹出报错并可生成相应的报错信息。
在一个示例中,参见图3所示步骤301,可在管理服务器上查看所获取的安装信息,在安装进度信息和/或报错信息指示安装过程中出现与安装配置文件相关的错误的情况下,可根据安装信息(例如报错信息)修改所获取的安装配置文件。例如,在获取到ks.cfg解析的报错信息后,可根据该报错信息提供的内容(例如错误类型、错误在脚本中位置及消息),修改管理服务器上获取的ks.cfg文件。
在一个示例中,如图3所示步骤302中,可将修改后的安装配置文件(例如ks.cfg文件)推送至客户端服务器,还可以向客户端服务器提供指令,以使客户端服务器基于修改后的ks.cfg文件可重新执行引导加载程序,从而可继续执行安装。客户端服务器接收到上述指令后,可重新执行引导加载程序(例如loader程序)(步骤303),上述步骤301、302、303可根据系统安装过程中出现的实际问题多次执行,直至Linux操作系统安装完成。上述示例,可在修改安装配置文件(例如ks.cfg文件)后,不需重新启动客户端服务器 及重新执行开机自检及下载相关安装文件,而能使安装过程继续进行,提高了操作系统的安装效率。
实施例2
图4示出根据本发明一实施例的Linux操作系统的安装装置的结构图。该安装装置400可应用于管理服务器。如图4所示,该安装装置400主要包括:
获取部件401,用于从客户端服务器获取与Linux操作系统的安装过程相关的安装配置文件和安装信息;
修改部件402,用于在所述安装信息指示安装过程中出现与所述安装配置文件相关的错误的情况下,根据所述安装信息修改所述安装配置文件;
推送部件403,用于将修改后的所述安装配置文件推送至所述客户端服务器,以使所述客户端服务器基于修改后的所述安装配置文件继续执行安装。
本发明实施例提供的Linux操作系统的安装装置,从客户端服务器获取安装配置文件及安装信息,在安装信息指示安装过程中出现与安装配置文件相关的错误的情况下,根据安装信息修改安装配置文件;并将修改后的安装配置文件推送至客户端服务器,以使客户端服务器基于修改后的所述安装配置文件继续执行安装。通过上述技术手段,可在修改安装配置文件后,不需重新启动客户端服务器及重新执行开机自检及下载相关安装文件,而能使安装过程继续进行,提高了操作系统的安装效率。
以下结合图3,来说明Linux操作系统的安装过程、以及在安装过程中出现与安装配置文件相关的错误的情况下,修改所述安装配置文件,使系统安装继续进行的一些具体示例,其中以语法检查错误、解析错误和执行错误作为与配置安装文件相关的错误的例子进行说明。本领域技术人员应理解,具体的错误类型可视实际安装过程中发生的错误而定,以下示例仅为了便于理解本发明,而非对本发明进行限制。
关于PXE技术、ks.cfg文件及客户端服务器在PXE模式下进行Kickstart无人值守安装步骤的描述可参见实施1,此处为简明起见,不再赘述。
在一个示例中,获取部件401和修改部件402的工作方式可参见图3所示步骤301,其中管理服务器可利用获取部件401通过网络主动获取客户端服务器的安装配置文件(例如ks.cfg文件)和安装信息;客户端服务器也可通过网络主动将安装配置文件(例如ks.cfg文件)和安装信息发送至获取部件401;还可在管理服务器与客户端服务器之间设置代理Agent,管理服务器可利用获取部件401通过Agent从客户端服务器获取安装配置文件(例如ks.cfg文件)和安装信息。安装信息可包括报错信息,报错信息可反映在安装过程中出现的与安装配置文件相关的错误。此外,安装信息还可以包括安装进度信息等其他信息,安装进度信息可反映系统安装进展的阶段或步骤。在一个示例中,与安装配置文件相关的错误可包括:针对安装配置文件的语法检查错误、针对安装配置文件的解析错误、和针对安装配置文件的执行错误中的一种或多种。
以ks.cfg文件作为安装配置文件为例,在客户端服务器安装Linux操作系统的过程中,可通过Python解析ks.cfg文件,并可在解析过程中,通过异常处理语句(例如try语句)在缓存中捕获异常,当捕获到异常时,可弹出报错并可生成相应的有关ks.cfg解析的报错信息。例如有关ks.cfg文件解析的报错信息可记录错误类型(例如KickstartParseError)、错误在脚本中位置(lineno)及消息(例如Illegal url(不合法的统一资源定位符))。基于相同原理,在对ks.cfg文件进行语法检查的过程中或者在ks.cfg文件执行过程中,如果捕获到异常,也可弹出报错并可生成相应的报错信息。
在一个示例中,参见图3所示步骤301,可在管理服务器上查看所获取的安装信息,在安装进度信息和/或报错信息指示安装过程中出现与安装配置文件相关的错误的情况下,修改部件402可根据安装信息(例如报错信息)修 改所获取的安装配置文件。例如,在获取到ks.cfg解析的报错信息后,修改部件402可根据该报错信息提供的内容(例如错误类型、错误在脚本中位置及消息),修改管理服务器上获取的ks.cfg文件。
在一个示例中,如图5所示,该安装装置400还可包括指令提供部件404。参见图3所示步骤302,推送部件403可将修改后的安装配置文件(例如ks.cfg文件)推送至客户端服务器,指令提供部件404可向客户端服务器提供指令,以使客户端服务器基于修改后的ks.cfg文件可重新执行引导加载程序,从而可继续执行安装。客户端服务器接收到上述指令后,可重新执行引导加载程序(例如loader程序)(步骤303),上述部件可根据系统安装过程中出现的实际问题多次运行,直至Linux操作系统安装完成。上述示例,可在修改安装配置文件(例如ks.cfg文件)后,不需重新启动客户端服务器及重新执行开机自检及下载相关安装文件,而能使安装过程继续进行,提高了操作系统的安装效率。
实施例3
图6示出根据本发明另一实施例的Linux操作系统的安装系统的结构图。该安装系统600可应用于集群式的Linux操作系统升级更新。如图6所示,该安装系统600主要包括:
管理服务器601,管理服务器601承载有实施例2中的Linux操作系统的安装装置400;
至少一台客户端服务器602,与管理服务器601连接;
服务端服务器603,与客户端服务器601连接,用于为客户端服务器601提供Linux操作系统映像文件。
实施例4
图7示出了本发明的另一个实施例的一种Linux操作系统的安装设备的结构框图。所述Linux操作系统的安装设备1100可以是具备计算能力的主机 服务器、个人计算机PC、或者可携带的便携式计算机或终端等。本发明具体实施例并不对计算节点的具体实现做限定。
所述Linux操作系统的安装设备1100包括处理器(processor)1110、通信接口(Communications Interface)1120、存储器(memory)1130和总线1140。其中,处理器1110、通信接口1120、以及存储器1130通过总线1140完成相互间的通信。
通信接口1120用于与网络设备通信,其中网络设备包括例如虚拟机管理中心、共享存储等。
处理器1110用于执行程序。处理器1110可能是一个中央处理器CPU,或者是专用集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器1130用于存放文件。存储器1130可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1130也可以是存储器阵列。存储器1130还可能被分块,并且所述块可按一定的规则组合成虚拟卷。
在一种可能的实施方式中,上述程序可为包括计算机操作指令的程序代码。该程序具体可用于实现实施例1中各步骤的操作。
本领域普通技术人员可以意识到,本文所描述的实施例中的各示例性单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件形式来实现,取决于技术方案的特定应用和设计约束条件。专业技术人员可以针对特定的应用选择不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
如果以计算机软件的形式来实现所述功能并作为独立的产品销售或使用时,则在一定程度上可认为本发明的技术方案的全部或部分(例如对现有技术做出贡献的部分)是以计算机软件产品的形式体现的。该计算机软件产 品通常存储在计算机可读取的非易失性存储介质中,包括若干指令用以使得计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各实施例方法的全部或部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。