操作系统的部署方法、系统、装置及电子设备与流程

文档序号:23855127发布日期:2021-02-05 15:07阅读:86来源:国知局
操作系统的部署方法、系统、装置及电子设备与流程

[0001]
本申请涉及计算机技术及网络技术,尤其涉及一种操作系统的部署方法、系统、装置、电子设备及计算机可读存储介质。


背景技术:

[0002]
在应用云技术的场景(如专有云场景)中,往往会使用多种装机系统来适配不同的设备,即需要为不同的设备部署不同的操作系统,因此,多个装机系统共同工作是云场景中的经典需求。
[0003]
为了避免不同的装机系统互相冲突,在相关技术提供的方案中,通常是在物理网络层面隔离不同的装机系统,例如将各个装机系统安装到不同交换机对应的环境中,将待部署的设备手动接入某个装机系统对应的交换机,并在交换机侧配置数据转发规则,以使待部署的设备发送的请求能够成功地到达对应的装机系统。
[0004]
但是,在交换机侧进行的配置较为繁琐,并且在将设备从一个装机系统换到另一个装机系统进行管理时,需要在交换机侧进行重新配置,即相关技术提供的方案的运维难度高,且容易耗费较多的人力成本。


技术实现要素:

[0005]
本申请实施例提供一种操作系统的部署方法、系统、装置、电子设备及计算机可读存储介质,能够降低部署操作系统的运维难度,减少人力资源的消耗。
[0006]
本申请实施例的技术方案是这样实现的:
[0007]
本申请实施例提供一种操作系统的部署方法,包括:
[0008]
获取与多个装机系统分别对应的装机注册信息,其中,所述装机注册信息中注册有所述装机系统所管理的设备的设备标识、为所述装机系统所管理的设备分配的网络地址、以及所述装机系统对应的操作系统部署文件的文件位置;
[0009]
当接收到待部署的设备发送的地址请求时,将所述地址请求中的设备标识与多个所述装机注册信息中的设备标识进行匹配;
[0010]
将匹配成功的设备标识所在的装机注册信息作为目标装机注册信息,并将所述目标装机注册信息中与所述匹配成功的设备标识对应的网络地址,分配给所述待部署的设备;
[0011]
将所述目标装机注册信息中的文件位置发送至分配给所述待部署的设备的网络地址,以使所述待部署的设备根据被分配的网络地址访问所述文件位置,并根据访问得到的操作系统部署文件部署操作系统。
[0012]
本申请实施例提供一种操作系统的部署系统,包括共享系统、多个装机系统以及待部署的设备;
[0013]
其中,所述共享系统存储有与每个所述装机系统对应的装机注册信息;所述装机注册信息注册有所述装机系统所管理的设备的设备标识、为所述装机系统所管理的设备分
配的网络地址、以及所述装机系统对应的操作系统部署文件的文件位置;
[0014]
所述装机系统,用于控制所管理的设备发送地址请求;
[0015]
所述共享系统,用于:
[0016]
当接收到所述待部署的设备发送的地址请求时,将所述地址请求中的设备标识与多个所述装机注册信息中的设备标识进行匹配;
[0017]
将匹配成功的设备标识所在的装机注册信息作为目标装机注册信息,并将所述目标装机注册信息中与所述匹配成功的设备标识对应的网络地址,分配给所述待部署的设备;
[0018]
将所述目标装机注册信息中的文件位置发送至分配给所述待部署的设备的网络地址;
[0019]
所述待部署的设备,用于根据被分配的网络地址访问所述文件位置,并根据访问得到的操作系统部署文件部署操作系统。
[0020]
本申请实施例提供一种操作系统的部署装置,包括:
[0021]
获取模块,用于获取与多个装机系统分别对应的装机注册信息,其中,所述装机注册信息中注册有所述装机系统所管理的设备的设备标识、为所述装机系统所管理的设备分配的网络地址、以及所述装机系统对应的操作系统部署文件的文件位置;
[0022]
匹配模块,用于当接收到待部署的设备发送的地址请求时,将所述地址请求中的设备标识与多个所述装机注册信息中的设备标识进行匹配;
[0023]
地址分配模块,用于将匹配成功的设备标识所在的装机注册信息作为目标装机注册信息,并将所述目标装机注册信息中与所述匹配成功的设备标识对应的网络地址,分配给所述待部署的设备;
[0024]
位置发送模块,用于将所述目标装机注册信息中的文件位置发送至分配给所述待部署的设备的网络地址,以使所述待部署的设备根据被分配的网络地址访问所述文件位置,并根据访问得到的操作系统部署文件部署操作系统。
[0025]
本申请实施例提供一种电子设备,包括:
[0026]
存储器,用于存储可执行指令;
[0027]
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的操作系统的部署方法。
[0028]
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的操作系统的部署方法。
[0029]
本申请实施例具有以下有益效果:
[0030]
通过统一管控多个装机系统的装机注册信息,并基于装机注册信息进行网络地址的分配和操作系统部署文件的文件位置的发送,从而在设备中部署操作系统,由于在部署过程中仅需对装机注册信息进行配置,能够有效地简化部署操作系统的运维过程,节约相关的计算资源和人力资源。
附图说明
[0031]
图1是本申请实施例提供的操作系统的部署系统的一个架构示意图;
[0032]
图2是本申请实施例提供的电子设备的一个架构示意图;
[0033]
图3a是本申请实施例提供的操作系统的部署方法的一个流程示意图;
[0034]
图3b是本申请实施例提供的操作系统的部署方法的一个流程示意图;
[0035]
图3c是本申请实施例提供的操作系统的部署方法的一个流程示意图;
[0036]
图3d是本申请实施例提供的自动注册设备标识的一个流程示意图;
[0037]
图4是本申请实施例提供的操作系统的部署系统的一个示意图;
[0038]
图5是本申请实施例提供的操作系统的部署方法的一个流程示意图;
[0039]
图6是本申请实施例提供的带外管理的一个示意图;
[0040]
图7是本申请实施例提供的共享系统中的管理接口的一个功能示意图。
具体实施方式
[0041]
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
[0042]
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
[0043]
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。在以下的描述中,所涉及的术语“多个”是指至少两个。
[0044]
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
[0045]
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
[0046]
1)装机系统:用于以自动化方式(无人值守方式)为所管理的设备安装操作系统,其中,每个装机系统对应一种操作系统,不同装机系统对应的操作系统可以相同或者不同。在本申请实施例中,对装机系统所管理的设备的数量不做限定。
[0047]
2)装机注册信息:每个装机系统对应一个装机注册信息,装机注册信息注册有两个方面的内容,第一方面是装机系统对应的操作系统部署文件的文件位置,另一方面是装机系统所管理的设备的信息,例如可以包括设备标识及分配的网络地址。
[0048]
3)操作系统部署文件:用于部署(安装)操作系统的文件,这里对操作系统部署文件的内容不做限定,只要能够实现操作系统有效部署的文件,均可应用在本申请实施例中。例如,对于linux操作系统来说,操作系统部署文件可以包括引导文件(如bootloader文件)、操作系统内核(kernel)以及根文件系统。
[0049]
4)设备标识:用于区分不同的设备的标识信息,例如,设备标识可以包括媒体存取控制(media access control,mac)地址以及序列号(serial number,sn)中的至少一种。值得说明的是,mac地址用于在网络中唯一标识一个网卡,一个设备可能一个或多个网卡,每个网卡都有一个唯一的mac地址。
[0050]
5)预启动执行环境(preboot execution environment,pxe):一种使用网络接口启动设备的机制,这种机制可以让设备的启动不依赖本地的数据存储设备,通过网络传输的方式来实现操作系统的部署。在操作系统的部署过程中,设备通常会从远端下载一个启动软件包到本机内存中执行,由这个启动软件包完成设备本地的基本软件设置,这个启动软件包即为引导文件,也称pxe引导文件。
[0051]
6)虚拟局域网(virtual local area network,vlan):是对连接到的第二层交换机端口的网络用户的逻辑分段,可以不受网络用户的物理位置限制,根据用户需求进行网络分段。一个vlan可以在一个交换机或者跨交换机实现。
[0052]
7)带内管理(in-band)模式:指设备的控制信息与用户网络的承载业务信息(如操作系统部署文件及其文件位置)通过同一个逻辑信道传送。在本申请实施例中,可以划分两种类型的网络(子网),并通过应用带内管理模式的网络来实现操作系统部署文件及其文件位置的传输。
[0053]
8)带外管理(out-of-band)模式:指使用独立的逻辑信道来传输设备的控制信息,以实现对设备的控制。在本申请实施例中,可以通过应用带外管理模式的网络来实现控制信息的传输。
[0054]
9)控制信息:用于对设备进行控制,例如,设备的控制信息可以包括设备的网络地址及鉴权信息中的至少一种,其中鉴权信息可以包括用户名和密码。
[0055]
10)云技术(cloud technology):指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。基于云技术可以实现多种应用,例如私有云(private cloud),指将云基础设施与软硬件资源创建在防火墙内,以供机构或企业内各部门共享数据中心内的资源;公有云(public cloud),指第三方提供商为用户提供的能够使用的云,公有云一般可通过因特网使用,可能是免费或成本低廉的;专有云,在公有云基础上针对云需求方(如机构或企业等)进行的定制,云服务商面向云需求方提供独立的虚拟化资源,云需求方通过分时租赁或其他模式使用云服务商提供的资源。
[0056]
本申请实施例提供一种操作系统的部署方法、系统、装置、电子设备和计算机可读存储介质,能够降低部署过程的运维难度,减少人力资源的消耗。
[0057]
下面说明本申请实施例提供的电子设备的示例性应用,本申请实施例提供的电子设备可以实施为服务器。参见图1,图1是本申请实施例提供的操作系统的部署系统100的一个架构示意图,操作系统的部署系统100包括共享系统200、装机系统300-1、装机系统300-2、待部署的设备400-1以及设备400-2,其中,共享系统200包括服务器210,装机系统300-1包括服务器310-1,装机系统300-2包括服务器310-2,为了便于理解,图1中将待部署的设备以服务器的形式进行表示,但这并不构成对本申请实施例的限定,例如待部署的设备还可以是终端设备。值得说明的是,共享系统、装机系统以及待部署的设备这三者之间的网络500可以是广域网或者局域网,又或者是二者的组合,此外,图1中的网络500仅为示例,实际上可以应用多种类型的网络来实现操作系统的部署。
[0058]
在图1中,以装机系统300-1所管理的设备为设备400-1,装机系统300-2所管理的设备为设备400-2为例进行说明。共享系统200存储有装机系统300-1对应的装机注册信息,包括设备400-1的设备标识、为设备400-1分配的网络地址、以及装机系统300-1对应的操作
系统部署文件的文件位置;共享系统200还存储有装机系统300-2对应的装机注册信息,包括设备400-2的设备标识、为设备400-2分配的网络地址、以及装机系统300-2对应的操作系统部署文件的文件位置。这里,装机注册信息可以通过手动配置得到,也可以按照特定的规则进行自动配置。
[0059]
接下来,说明为设备400-1部署操作系统的过程。首先,设备400-1向共享系统200发送地址请求,例如在网络500中以广播的形式发送。共享系统200在接收到设备400-1发送的地址请求后,获取地址请求中携带的设备标识,并将该设备标识与存储的多个装机注册信息中的设备标识进行匹配,确定出匹配成功的设备标识所在的装机注册信息为装机系统300-1对应的装机注册信息。然后,共享系统200将装机系统300-1对应的装机注册信息中的网络地址,分配给设备400-1,以使设备400-1应用被分配的网络地址。共享系统200还将装机系统300-1对应的装机注册信息中的文件位置,发送至分配给设备400-1的网络地址。
[0060]
装机系统300-1对应的操作系统部署文件可以存储于装机系统300-1中,也可以存储于共享系统200中,这里以前者情况进行举例说明。设备400-1在接收到文件位置后,根据被分配的网络地址访问该文件位置,以获取存储于装机系统300-1中的操作系统部署文件。进而,设备400-1根据获取到的操作系统部署文件,部署操作系统。设备400-1在部署完成操作系统后,可以在用户的控制下或者按照预先设定的规则运行业务,还可以将业务的运行结果呈现给用户,本申请实施例对设备400-1运行的业务的业务类型不做限定,例如可以是政务、银行、保险或金融场景中的数据计算业务。
[0061]
在图1中,为设备400-2部署操作系统的过程,与为设备400-1部署操作系统的过程类似,区别在于设备400-2是装机系统300-2所管理的设备,在此不做赘述。
[0062]
在一些实施例中,共享系统包括的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器,装机系统包括的服务器以及待部署的设备同理。值得说明的是,待部署的设备除了实施为服务器之外,还可以实施为智能手机、平板电脑、笔记本电脑、台式计算机、智能电视、智能音箱、智能手表等各种各样的终端设备,但并不局限于此。共享系统、装机系统以及待部署的设备三者之间,可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
[0063]
参见图2,图2是本发明实施例提供的电子设备600(例如,可以是图1所示的服务器210)的架构示意图,图2所示的电子设备600包括:至少一个处理器610、存储器640和至少一个网络接口620。电子设备600中的各个组件通过总线系统630耦合在一起。可理解,总线系统630用于实现这些组件之间的连接通信。总线系统630除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统630。
[0064]
处理器610可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
[0065]
存储器640可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存
储器,硬盘驱动器,光盘驱动器等。存储器640可选地包括在物理位置上远离处理器610的一个或多个存储设备。
[0066]
存储器640包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,read only me mory),易失性存储器可以是随机存取存储器(ram,random access memor y)。本发明实施例描述的存储器640旨在包括任意适合类型的存储器。
[0067]
在一些实施例中,存储器640能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
[0068]
操作系统641,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
[0069]
网络通信模块642,用于经由一个或多个(有线或无线)网络接口620到达其他计算设备,示例性的网络接口620包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universal serial bus)等。
[0070]
在一些实施例中,本发明实施例提供的装置可以采用软件方式实现,图2示出了存储在存储器640中的操作系统的部署装置643,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块6431、匹配模块6432、地址分配模块6433及位置发送模块6434,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
[0071]
将结合本申请实施例提供的电子设备的示例性应用和实施,说明本申请实施例提供的操作系统的部署方法。
[0072]
参见图3a,图3a是本申请实施例提供的操作系统的部署方法的一个流程示意图,将结合图3a示出的步骤进行说明。为了便于理解,在图3a中,以与一个装机系统之间的交互过程进行说明,在实际应用场景中,往往会存在多个装机系统。
[0073]
在步骤101中,共享系统获取与多个装机系统分别对应的装机注册信息,其中,装机注册信息中注册有装机系统所管理的设备的设备标识、为装机系统所管理的设备分配的网络地址、以及装机系统对应的操作系统部署文件的文件位置。
[0074]
在许多应用场景如云场景中,往往需要为不同的设备部署不同的操作系统,例如,某机构内的设备a用于运行控制嵌入式设备的业务,业务的复杂度较低,需要部署轻量级的操作系统;该机构内的设备b用于运行处理大批量控制数据的业务,业务的复杂度高,需要部署复杂程度较高的linux操作系统,以充分利用设备b的硬件资源,保证大批量控制数据的业务能够顺利运行。在本申请实施例中,通过多个装机系统来满足不同设备的操作系统需求,并通过共享系统来实现统一管控,其中,不同装机系统对应的操作系统部署文件可以是不同的。
[0075]
首先,共享系统作为统一的管控端,获取与多个装机系统分别对应的装机注册信息。装机注册信息包括两方面的内容,一方面是装机系统对应的操作系统部署文件的文件位置,另一方面是装机系统所管理的设备的信息,包括设备标识及为设备分配的网络地址,这里的“分配”是指由人为或根据特定的规则,在装机注册信息中设定与设备对应的网络地址,即在步骤101中,分配给某个设备的网络地址仅保存在装机注册信息中,该设备实际并未持有分配的网络地址。值得说明的是,装机系统所管理的设备可以是终端设备、物理服务
器或虚拟服务器等,对此不做限定。
[0076]
装机注册信息可以预先设定,例如共享系统的用户可以根据实际情况,在共享系统中手动输入装机注册信息,当然,装机注册信息也可以是共享系统通过自动注册得到,具体在后文进行详细阐述,其中,为了便于与装机系统的用户区分,后文将共享系统的用户命名为管理员。装机系统所管理的设备可以是预先设定的,或者是自动分配的,根据实际应用场景而定,例如,可以根据设备的地域分布特点,预先设定装机系统a用于管理片区a的设备,装机系统b用于管理片区b的设备。其中,不同装机系统所管理的设备不同。
[0077]
装机注册信息中的设备标识用于区分不同的设备,具体可以包括mac地址和序列号中的至少一种。装机注册信息中的网络地址可以由管理员手动设定,也可以根据设定的选择策略得到,例如,在可用的网络地址池中随机选择一个,作为分配给设备的网络地址,其中,为不同设备分配的网络地址不同。
[0078]
在一些实施例中,在步骤101之前,还包括:执行以下任意一种处理:共享系统存储与装机系统对应的操作系统部署文件,得到操作系统部署文件的文件位置;共享系统获取装机系统发送的操作系统部署文件的文件位置;其中,操作系统部署文件存储在装机系统中。
[0079]
本申请实施例提供了操作系统部署文件的两种存储模式,第一种是由共享系统存储与装机系统对应的操作系统部署文件,得到文件位置;第二种是由装机系统存储对应的操作系统部署文件,并将操作系统部署文件的文件位置发送给装机系统,以便共享系统将该文件位置注册至该装机系统对应的装机注册信息中。值得说明的是,文件位置可以由两部分内容构成,其一是用于存储操作系统部署文件的服务器的网络地址,其二是操作系统部署文件在服务器中的文件路径,或称存储路径、存储目录等。通过上述方式,提升了文件存储的灵活性,可以根据实际应用场景的需求,来选择相应的存储模式。
[0080]
在步骤102中,待部署的设备向共享系统发送地址请求。
[0081]
在本申请实施例中,通过网络方式为待部署的设备部署操作系统,首先由待部署的设备向共享系统发送地址请求,该地址请求包括待部署的设备自身的设备标识。例如,待部署的设备装载有pxe网卡(即具有pxe功能的网卡),当待部署的设备重启后,待部署的设备通过pxe网卡向网络中发送地址请求,这里,地址请求可以是以广播的形式发送的。
[0082]
在步骤103中,当接收到待部署的设备发送的地址请求时,共享系统将地址请求中的设备标识与多个装机注册信息中的设备标识进行匹配。
[0083]
共享系统在接收到待部署的设备发送的地址请求时,将地址请求携带的设备标识,与共享系统中存储的多个装机注册信息中的设备标识进行匹配。
[0084]
在一些实施例中,待部署的设备的数量包括多个,且多个待部署的设备的设备标识分别被注册到不同装机系统对应的装机注册信息中;可以通过这样的方式来实现上述的共享系统将地址请求中的设备标识与多个装机注册信息中的设备标识进行匹配:当任意一个装机注册信息中的设备标识与地址请求中的设备标识相同时,将任意一个装机注册信息作为目标装机注册信息。
[0085]
这里,提供了本申请实施例的一种应用场景,即待部署的设备的数量包括多个,且多个待部署的设备的设备标识分别被注册到不同装机系统对应的装机注册信息中,即共享系统已经对多个待部署的设备分组完毕。共享系统在接收到地址请求时,在所有的装机注
册信息中,判断是否存在包括的设备标识与地址请求中的设备标识相同的装机注册信息。当某个装机注册信息包括的设备标识与地址请求中的设备标识相同,即匹配成功时,将该装机注册信息作为目标装机注册信息。
[0086]
值得说明的是,装机注册信息中可能包括多种类型的设备标识,而地址请求中包括的可能仅是部分类型的设备标识,例如装机注册信息包括序列号和mac地址,地址请求仅包括mac地址。针对该情况,根据地址请求包括的设备标识进行匹配,即当某个装机注册信息包括的mac地址与地址请求包括的mac地址相同时,将该装机注册信息作为目标装机注册信息。
[0087]
在步骤104中,共享系统将匹配成功的设备标识所在的装机注册信息作为目标装机注册信息,并将目标装机注册信息中与匹配成功的设备标识对应的网络地址,分配给待部署的设备。
[0088]
在装机注册信息中,设备标识与网络地址是一一对应的关系。因此,在确定出目标装机注册信息后,共享系统将目标装机注册信息中的、与匹配成功的设备标识对应的网络地址分配给待部署的设备,以便待部署的设备根据被分配的网络地址与共享系统进行网络通信,以及与装机系统进行网络通信。例如,待部署的设备可以将被分配的网络地址,绑定到自身的网卡(如pxe网卡)上。
[0089]
在步骤105中,共享系统将目标装机注册信息中的文件位置发送至分配给待部署的设备的网络地址。
[0090]
这里,共享系统将目标装机注册信息中的文件位置发送至分配给待部署的设备的网络地址,如此,应用被分配的网络地址的待部署的设备,能够成功获取到共享系统发送的文件位置。
[0091]
在步骤106中,待部署的设备根据被分配的网络地址访问文件位置,得到操作系统部署文件。
[0092]
这里,目标装机注册信息中的文件位置可以是共享系统中的位置,也可以是装机系统中的位置,图3a中以后者情况进行示例说明。待部署的设备根据被分配的网络地址访问文件位置后,可得到操作系统部署文件。
[0093]
在步骤107中,待部署的设备根据访问得到的操作系统部署文件,部署操作系统。
[0094]
这里,待部署的设备根据获取到的操作系统部署文件,部署(或称安装)操作系统,本申请实施例对操作系统的类型不做限定,例如可以是linux操作系统或windows操作系统等。
[0095]
在一些实施例中,操作系统部署文件包括引导文件、操作系统内核及根文件系统;可以通过这样的方式来实现上述的根据访问得到的操作系统部署文件部署操作系统:待部署的设备运行引导文件;在引导文件的运行过程中,将根文件系统加载至内存,并通过操作系统内核挂载根文件系统,得到部署后的操作系统。
[0096]
本申请实施例对操作系统部署文件包括的内容不做限定,只要能够实现操作系统的部署,均可应用在本申请实施例中。为了便于理解,以操作系统为linux操作系统,操作系统部署文件包括引导文件、操作系统内核及根文件系统的情况,进行说明。首先,待部署的设备运行引导文件,在引导文件的运行过程中,将根文件系统加载至内存,并将根文件系统的内存地址发送给操作系统内核。如此,操作系统内核便可在运行过程中挂载根文件系统,
完成操作系统的部署。其中,挂载(mounting)指的是使文件或目录在操作系统中可供访问的过程。举例来说,引导文件可以是bootloader文件,根文件系统可以是initrd文件,initrd是在实际根文件系统可用之前挂载的一个初始根文件系统,与操作系统内核一起作为操作系统内核引导过程的一部分进行加载,在一些情况中,initrd也可以是最终使用的根文件系统。通过上述方式,能够实现操作系统的有效部署,值得说明的是,上述的部署过程并不构成对本申请实施例的限定,根据操作系统部署文件的不同,可以采用不同的方式实现操作系统在设备中的部署。
[0097]
如图3a所示,本申请实施例通过在共享系统统一管控多个装机系统的装机注册信息,并基于装机注册信息为待部署的设备部署操作系统,能够有效地降低部署操作系统的运维难度,减少人力资源的消耗。当需要将设备从一个装机系统切换到另一个装机系统管理时,只需修改装机注册信息即可,能够实现快速无缝的切换。
[0098]
在一些实施例中,参见图3b,图3b是本申请实施例提供的操作系统的部署方法的一个流程示意图,基于图3a,在步骤101之前,还可以在步骤201中,共享系统获取待部署的设备在第一网络中的控制信息;其中,第一网络用于传输控制信息。
[0099]
在本申请实施例中,可以通过划分两种类型的网络,来实现对待部署的设备的控制。为了便于理解,以第一网络和第二网络进行命名,其中,第一网络是应用带外管理模式的网络,用于传输控制信息,实现对待部署的设备的带外管理;第二网络是应用带内管理模式的网络,用于传输操作系统部署文件以及操作系统,两种网络相互隔离。
[0100]
首先,共享系统获取待部署的设备在第一网络中的控制信息,本申请实施例对控制信息的内容不做限定,只要能够实现对待部署的设备的控制,均可应用在本申请实施例中,例如,控制信息可以是待部署的设备在第一网络中的网络地址(为了便于区分,命名为第一网络地址),还可以包括鉴权信息以及序列号等,其中,鉴权信息可以包括用户名和密码,又或者是特定的令牌(token)。
[0101]
待部署的设备在第一网络中的控制信息可以预先设定,也可以通过特定的方式自动得到。例如,共享系统可以从历史的地址分配记录中,获取分配给待部署的设备的第一网络地址,也可以通过特定的网络扫描工具,对第一网络的多个网段进行扫描,得到分配给待部署的设备的第一网络地址。又例如,由于同一厂商生产的设备的用户名和密码通常是固定的(即默认的),故可以获取待部署的设备的厂商,从而确定待部署的设备的用户名和密码。
[0102]
在图3b中,基于图3a,在步骤101之后,还可以在步骤202中,共享系统将装机系统所管理的设备的控制信息发送至装机系统。
[0103]
在实际应用场景中,往往由装机系统进行带外管理,因此,共享系统在获取到多个装机系统对应的装机注册信息后,针对每个装机系统,共享系统将装机系统所管理的设备的控制信息,发送至该装机系统。其中,共享系统可以预先与装机系统建立通信连接,如在第一网络中建立通信连接,便于进行控制信息的发送。
[0104]
在步骤203中,装机系统根据控制信息,控制所管理的设备在第二网络中发送地址请求;其中,第二网络用于传输操作系统部署文件。
[0105]
装机系统在得到所管理的设备的控制信息后,即可根据控制信息,控制所管理的设备在第二网络中发送地址请求。例如,装机系统所管理的设备装载有pxe网卡,装机系统
可以根据控制信息向该设备发送重启请求,该设备重启后会进入pxe,pxe网卡会自动在第二网络中发送地址请求,如以广播的形式发送。
[0106]
在图3b中,图3a示出的步骤104可以更新为步骤204,在步骤204中,共享系统将匹配成功的设备标识所在的装机注册信息作为目标装机注册信息,并将目标装机注册信息中与匹配成功的设备标识对应的第二网络地址,分配给待部署的设备。
[0107]
在划分出第一网络和第二网络的前提下,装机注册信息中注册的网络地址,即为第二网络中的网络地址,为了便于区分,命名为第二网络地址。共享系统在确定出目标装机注册信息后,将目标装机注册信息中的、与匹配成功的设备标识对应的第二网络地址分配给发送地址请求的设备,即待部署的设备。待部署的设备可以将接收到的第二网络地址,绑定至发送地址请求的网卡中,如上文的pxe网卡,并在后续过程中,根据该第二网络地址访问目标装机注册信息中的文件位置。
[0108]
在一些实施例中,可以通过这样的方式来实现上述的共享系统将目标装机注册信息中与匹配成功的设备标识对应的第二网络地址,分配给待部署的设备:共享系统根据目标装机注册信息中与匹配成功的设备标识对应的第二网络地址,生成地址提供请求;共享系统通过第二网络将地址提供请求发送至待部署的设备;待部署的设备在接收到地址提供请求时,在第二网络中发送包括第二网络地址的待确认请求;当接收到的待确认请求中的第二网络地址与目标装机注册信息中的第二网络地址相同时,共享系统通过第二网络将已确认请求发送至待部署的设备;待部署的设备在接收到已确认请求时,应用待确认请求中的第二网络地址。
[0109]
这里,以步骤形式阐述分配第二网络地址的过程:
[0110]
1)共享系统根据目标装机注册信息中与匹配成功的设备标识对应的第二网络地址,生成地址提供请求,然后将包括第二网络地址的地址提供请求发送至待部署的设备,例如以广播的形式发送到第二网络中。
[0111]
2)待部署的设备在接收到地址提供请求时,作为响应,在第二网络中发送包括第二网络地址的待确认请求,例如以广播形式进行发送。
[0112]
3)共享系统在接收到待确认请求时,将待确认请求中的第二网络地址与目标装机注册信息中的第二网络地址(这里指与匹配成功的设备标识对应第二网络地址)进行比对,若两者相同,则共享系统通过第二网络将已确认请求发送至待部署的设备,例如以广播形式进行发送。
[0113]
4)待部署的设备在接收到已确认请求时,应用待确认请求中的第二网络地址,例如将待确认请求中的第二网络地址绑定至发送地址请求的网卡中,如此,待部署的设备便可根据应用的第二网络地址,与共享系统进行点对点的网络通信。在上述的分配过程中,为了便于识别待部署的设备的身份,可以在地址提供请求、待确认请求以及已确认请求中添加用于标识设备身份的参数,例如上文的设备标识。通过上述方式,能够实现第二网络地址的准确分配,提升操作系统部署的可靠性。值得说明的是,上述的分配第二网络地址的方式,同样适用于未划分第一网络和第二网络的场景。
[0114]
如图3b所示,本申请实施例通过划分出第一网络和第二网络,实现了设备控制与文件传输之间的彼此隔离,便于装机系统对待部署的设备进行有效控制。
[0115]
在一些实施例中,参见图3c,图3c是本申请实施例提供的操作系统的部署方法的
一个流程示意图,基于图3b,步骤201之后,还可以在步骤301中,共享系统根据待部署的设备的控制信息,控制待部署的设备在第二网络中发送地址请求。
[0116]
在本申请实施例中,除了获取预先设定的待部署的设备的设备标识的方式外,还可以基于控制信息主动采集多种类型的设备标识,例如序列号及mac地址等。例如,共享系统根据待部署的设备的控制信息,控制待部署的设备在第二网络中发送地址请求,该地址请求中包括部分类型的设备标识,如仅包括mac地址。
[0117]
在一些实施例中,待部署的设备的控制信息包括在第一网络中的第一网络地址及鉴权信息;可以通过这样的方式来实现上述的共享系统根据待部署的设备的控制信息,控制待部署的设备在第二网络中发送地址请求:共享系统向第一网络地址发送重启请求;待部署的设备在对重启请求中的鉴权信息鉴权成功时执行重启操作,并在第二网络中发送地址请求。
[0118]
这里,以待部署的设备的控制信息包括在第一网络中的第一网络地址以及鉴权信息的情况,进行说明。首先,共享系统向已分配给待部署的设备的第一网络地址发送包括鉴权信息的重启请求,待部署的设备对重启请求中的鉴权信息进行鉴权。例如,当鉴权信息包括用户名和密码时,待部署的设备可以检查共享系统发送的用户名和密码是否与待部署的设备本地存储的用户名和密码相同,若相同,则鉴权成功,鉴权信息为令牌的情况同理。待部署的设备在对重启请求中的鉴权信息鉴权失败时,不响应重启请求;在对重启请求中的鉴权信息鉴权成功时,执行重启操作,并在重启后,在第二网络中发送地址请求。通过鉴权信息,能够有效保证带外管理的安全性和可靠性。
[0119]
在一些实施例中,鉴权信息包括用户名及密码;共享系统获取待部署的设备在第一网络中的控制信息之后,还包括:当接收到针对待部署的设备的密码的更新操作时,共享系统将更新后的密码发送至待部署的设备,以使待部署的设备应用更新后的密码。
[0120]
在鉴权信息包括用户名及密码的情况下,共享系统可以对密码进行主动修改。例如,共享系统在接收到针对待部署的设备的密码的更新操作时,通过第一网络将更新后的密码发送至待部署的设备,以使待部署的设备将本地存储的密码替换为更新后的密码,即应用更新后的密码。通过上述方式,能够满足实际应用场景中对密码的设置需求,提升对安全性要求不同的场景的适用性。
[0121]
值得说明的是,在一些对安全性要求较高的场景中,可以设定待部署的设备仅应用共享系统发送的更新后的密码,若待部署的设备接收到装机系统发送的更新后的密码,则不做处理,即只有共享系统具有更新密码的权限。
[0122]
在一些实施例中,鉴权信息包括用户名及密码;共享系统将装机系统所管理的设备的控制信息发送至装机系统之后,还包括:当接收到针对装机系统所管理的设备的密码的更新操作时,共享系统将更新后的密码发送至装机系统;装机系统根据接收到的更新后的密码,控制所管理的设备在第二网络中发送地址请求。
[0123]
在鉴权信息包括用户名及密码的情况下,共享系统还可以将更新后的密码同步至装机系统。例如,当接收到针对装机系统所管理的设备的密码的更新操作时,共享系统将更新后的密码发送至装机系统,例如通过第一网络进行发送。装机系统在接收到更新后的密码时,将本地存储的密码替换为更新后的密码,如此,装机系统便可根据更新后的密码,控制所管理的设备在第二网络中发送地址请求。通过上述方式,实现了密码的及时同步,能够
避免装机系统对所管理的设备控制失败。
[0124]
在步骤302中,当接收到待部署的设备发送的地址请求时,共享系统将第二网络中随机选择得到的临时网络地址分配给待部署的设备。
[0125]
共享系统在接收到待部署的设备发送的地址请求时,在第二网络的可用地址池中随机选择得到一个临时网络地址,并将该临时网络地址分配给待部署的设备,以使待部署的设备应用临时网络地址。当然,临时网络地址也可以是预先设定的。
[0126]
在步骤303中,共享系统将公共操作系统部署文件的公共文件位置发送至临时网络地址。
[0127]
这里,共享系统存储有公共操作系统部署文件,对应的公共操作系统用于采集设备中多种类型的设备标识。共享系统将公共操作系统部署文件的文件位置(为了便于区分,命名为公共文件位置)发送至分配给待部署的设备的临时网络地址。值得说明的是,共享系统中的公共操作系统部署文件是面向所有待部署的设备。
[0128]
在步骤304中,待部署的设备根据临时网络地址访问公共文件位置。
[0129]
这里,待部署的设备在接收到公共文件位置时,基于临时网络地址访问公共文件位置。
[0130]
在步骤305中,待部署的设备根据访问得到的公共操作系统部署文件部署公共操作系统。
[0131]
这里,待部署的设备在获取得到公共操作系统部署文件后,部署相应的公共操作系统。
[0132]
在步骤306中,待部署的设备通过公共操作系统,向共享系统发送多种类型的设备标识。
[0133]
待部署的设备在部署完成公共操作系统后,公共操作系统采集待部署的设备中多种类型的设备标识,并控制待部署的设备,基于临时网络地址将多种类型的设备标识发送至共享系统。如此,共享系统能够获取到准确的、且类型全面的设备标识。其中,公共操作系统可以通过特定的脚本文件或客户端,来实现多种类型的设备标识的采集,对此不做限定。共享系统在获取到多种类型的设备标识时,可以释放临时网络地址,即断开与待部署的设备在第二网络中的通信连接。
[0134]
值得说明的是,在待部署的设备发送的地址请求包括全部类型的设备标识的情况下(例如设备标识包括且仅包括mac地址),也可以通过步骤301至步骤306,使共享系统获取待部署的设备的设备标识,可以有效保证共享系统获取到的设备标识的准确无误。
[0135]
如图3c所示,共享系统通过将公共操作系统部署至待部署的设备中,能够使公共操作系统执行多种类型的设备标识的采集及发送,保证共享系统获取到的设备标识的完整性和准确性。
[0136]
在一些实施例中,参见图3d,图3d是本申请实施例提供的自动注册设备标识的一个流程示意图,图3d示出的步骤可以在图3a示出的任意步骤之间执行,将结合图3d示出的步骤进行说明。
[0137]
在步骤401中,共享系统获取待部署的设备所要运行的业务的目标业务类型。
[0138]
在本申请实施例中,可以通过业务类型匹配来实现设备标识的自动注册,即待部署的设备的自动分组。这里,待部署的设备所要运行的业务的目标业务类型可以预先设定,
可以在共享系统中预先存储目标业务类型,也可以由待部署的设备将目标业务类型发送至共享系统,图3d中以后者情况作为示例。本申请实施例对业务的分类方式不做限定,例如可以分为政务、银行、保险及金融等业务类型,例如还可以根据计算量进行分类,如分为小计算量及大计算量等业务类型。
[0139]
在步骤402中,共享系统将目标业务类型与多个装机系统分别支持的业务类型进行匹配,并将支持匹配成功的业务类型的装机系统作为目标装机系统。
[0140]
这里,各个装机系统分别支持的业务类型也可以预先设定,可以根据各个装机系统对应的操作系统的实际情况(如占用空间、复杂度等),来确定支持的业务类型。例如,在划分为小计算量及大计算量两种业务类型的情况下,装机系统a对应的操作系统是轻量级的操作系统,复杂度低,占用空间小,则确定装机系统a支持的业务类型是小计算量业务类型;装机系统b对应的操作系统是复杂度较高、且占用空间较大的操作系统,则确定装机系统b支持的业务类型是大计算量业务类型。
[0141]
同样地,可以在共享系统中预先存储装机系统支持的业务类型,也可以由装机系统将支持的业务类型发送至共享系统。共享系统在获取到待部署的设备对应的目标业务类型时,将目标业务类型与多个装机系统分别支持的业务类型进行匹配,若目标业务类型与某个装机系统支持的业务类型相同,即匹配成功,则将该装机系统作为目标装机系统。
[0142]
在步骤403中,共享系统将待部署的设备的设备标识,注册至目标装机系统对应的装机注册信息中,以将待部署的设备作为目标装机系统所管理的设备。
[0143]
这里,共享系统对待部署的设备的设备标识进行自动注册,即注册至目标装机系统对应的装机注册信息中,从另一个角度,也是将待部署的设备作为目标装机系统所管理的设备,完成待部署的设备的自动分组。
[0144]
在一些实施例中,可以通过这样的方式来实现上述的共享系统将待部署的设备的设备标识,注册至目标装机系统对应的装机注册信息中:当目标装机系统的数量包括多个时,共享系统根据目标装机系统对应的操作系统部署文件的文件参数,对多个目标装机系统进行筛选处理;将待部署的设备的设备标识,注册至筛选处理得到的一个目标装机系统对应的装机注册信息中;其中,操作系统部署文件的文件参数包括更新时间以及占用空间中的至少一种。
[0145]
这里,当目标装机系统的数量包括多个时,可以对多个目标装机系统进行进一步筛选。例如,共享系统获取多个目标装机系统分别对应的操作系统部署文件的文件参数,其中,文件参数包括更新时间以及占用空间中的至少一种。然后,根据文件参数对多个目标装机系统进行筛选处理,例如在文件参数为更新时间时,可以筛选出最近的更新时间对应的一个目标装机系统,提升部署至待部署的设备的操作系统的实时性;在文件参数为占用空间时,筛选出最小的占用空间对应的一个目标装机系统,便于实现操作系统的快速部署;在文件参数同时包括更新时间和占用空间时,可以对更新时间和占用空间进行加权求和得到加权参数,并筛选出最小(或最大,根据加权规则决定)的加权参数对应的一个目标装机系统。最终,将待部署的设备的设备标识,注册至筛选处理得到的一个目标装机系统对应的装机注册信息中。通过上述方式,能够在满足待部署的设备所要运行的业务的前提下,将待部署的设备划分到最优的分组。
[0146]
如图3d所示,本申请实施例能够实现设备标识的自动注册,即待部署的设备的自
动分组,能够进一步节省人力成本。
[0147]
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。在专有云场景中,往往会使用若干种装机系统来适配不同厂商的物理机(物理机即实体服务器,对应上文的待部署的设备),因此,多个装机系统共同工作是专有云中的经典需求。以装机系统包括动态主机配置协议(dynamic host configur ation protocol,dhcp)服务器的情况为例,为了实现对不同物理机的操作系统部署,相关技术主要提供了以下两种方案:
[0148]
1)各个装机系统独立运行,各个装机系统的部署网络(即应用带内管理模式的网络,对应上文的第二网络)和带外网络(即应用带外管理模式的网络,对应上文的第一网络)通过vlan进行隔离,以避免不同的装机系统中的dh cp服务器发生冲突。在该方案中,需要手动将物理机的网络划分到正确的vl an中。
[0149]
2)各个装机系统安装到不同交换机对应的环境中,需要手动将物理机接入某个装机系统对应的交换机环境,并在交换机侧配置dhcp relay,即数据转发规则,以保证物理机发的dhcp广播包能够到达对应的装机系统的dhcp服务器。
[0150]
在相关技术提供的两种方案中,至少存在以下问题:
[0151]
1)不同装机系统的部署网络和带外网络,是从物理网络层面进行隔离的。一旦某个物理机的部署网络或带外网络在交换机侧没有配置到正确的vlan或正确的dhcp relay,则该物理机的网卡发送的dhcp包可能会到达错误的d hcp服务器,导致操作系统部署失败,另外,该物理机还可能获取不到正确的带外ip地址。
[0152]
2)各个装机系统独立运行,若将物理机从一个装机系统切换到另一个装机系统进行管理,则需要到交换机侧进行手动配置。综上,相关技术提供的方案的运维难度较大,容易出错,且会耗费较多的人力成本。
[0153]
针对于此,本申请实施例提供了一种共享组件(对应上文的共享系统),来管理全量物理机,并由各个装机系统来管理各自对应的物理机,通过共享组件和装机系统的协同工作,实现针对物理机的操作系统的部署,即实现物理机的装机。作为示例,本申请实施例提供了如图4所示的操作系统的部署系统的示意图,在图4中,示出了共享组件、装机系统a、装机系统b以及多个需要部署操作系统的物理机,其中,用于操作共享组件和装机系统的用户角色通常不同,在图4中以管理员和普通用户(如用户a和用户b)进行区别。值得说明的是,图4中的装机系统a和装机系统b仅为示例,在实际应用场景中还可存在更多的装机系统。
[0154]
在本申请实施例中,共享组件主要的功能是:1)自动发现物理机;2)运行共享的dhcp服务器;3)实现统一的带外管理。
[0155]
对于每个装机系统来说,不启动包括的dhcp服务器,或者装机系统本身便未包括dhcp服务器。每个装机系统包括独立的简单文件传输协议(trivial file transfer protocol,tftp)服务器以及装机模块,其中,装机系统包括的tftp服务器用于存储装机系统对应的操作系统的操作系统部署文件,例如pxe引导文件、操作系统内核和initrd文件等。装机系统内还可包括其他的服务器,如超文本传输协议(hypertext transfer protocol,http)服务器或nginx等,用于存储装机过程中需要的其他文件,比如操作系统的镜像源、kickstart脚本文件以及装机过程中需要使用的一些工具,当然,这些文件也可以存储在tftp服务器中。此外,装机系统还可提供一些与用户交互,即实现用户交换的方式,
便于用户对装机系统进行操作,例如,装机系统可以包括web服务器,用于提供web浏览器以供用户操作,装机系统可以提供应用程序编程接口(appl ication programming interface,api),例如基于表述性状态传递(representati onal state transfer,rest)软件架构的api,还可以通过命令提示符(comm and prompt,cmd)来操作装机系统。举例来说,装机系统可以将内部的tft p服务器或http服务器的api开放给web服务器,如此,用户可以通过web浏览器访问web服务器,从而修改tftp服务器或http服务器中的文件,或者手动控制物理机的装机流程。
[0156]
接下来,以实际的工作流程,说明共享组件及装机系统的功能。共享组件可以实现的功能如下:
[0157]
1)共享组件可以基于物理机的带外网络、物理机默认的带外用户名和带外密码,发起自动发现物理机,得到所有物理机的带外ip地址(对应上文的第一网络地址)、序列号及mac地址,并将这三者的映射关系存储到数据库中。其中,由于厂商对应的带外用户名和带外密码通常是默认的(即固定的),故可以通过获取物理机的生产厂商,来确定物理机的带外用户名和带外密码。
[0158]
2)共享组件可以为每个物理机定义名字(即域名),便于提升物理机的辨识度以及不同物理机之间的区分度,降低共享组件的管理员或其他人员对物理机的管理难度。共享组件可以通过域名系统(domain name system,dns)来管理每个物理机的名字与其部署ip地址(对应上文的第二网络地址)之间的对应关系。
[0159]
3)共享组件可以在dhcp服务器中创建group(对应上文的装机注册信息),每个装机系统均对应一个group。对于任意一个装机系统来说,对应的group中的next-server(即指向的服务器的地址)为该装机系统的tftp服务器的部署ip地址(可能还包括该装机系统中其他服务器如http服务器的部署ip地址),group中的filename(即指向的服务器中的文件路径)为该装机系统对应的操作系统部署文件的文件路径。
[0160]
4)针对装机系统所管理的物理机,共享组件将该物理机的名字、mac地址以及部署ip地址,注册到dhcp服务器中的、与该装机系统对应的group中。
[0161]
5)共享组件可以更新物理机的带外密码,例如可以在管理员的操作下进行更新。
[0162]
装机系统可以实现的功能如下:
[0163]
1)装机系统可以向共享组件获取自己管理的物理机的带外ip地址、带外用户名、带外密码、序列号、mac地址以及部署ip地址等信息,并在装机系统本地初始化该物理机。其中,初始化物理机是指将获取到的物理机的信息添加至装机系统的数据库中。
[0164]
2)装机系统可以通过装机模块发起装机,即通过带外网络控制所管理的物理机的电源重启。物理机在重启后,物理机中的部署网卡向部署网络发送dhc p广播,共享组件在接收到该dhcp广播时,获取该dhcp广播中携带的ma c地址,并从存储的group中查找与该mac地址对应的部署ip地址,以作为对dhcp广播的响应。共享组件将查找出的部署ip地址分配给物理机,并将该部署ip地址所在的group中的next-server和filename发送至物理机,其中,部署ip地址所在的group对应上文的目标装机注册信息。如此,物理机便可根据被分配的部署ip地址,从next-server指向的装机系统中,获取filename所指向的操作系统部署文件。举例来说,filename可以包括pxe引导文件(如bootl oader文件)的文件路径以及引导模板(如包括操作系统内核及initrd的文件路径),其中,引导模板又称pxe模板。物理机
加载pxe引导文件后,根据pxe模板中的文件路径下载操作系统内核和initrd,进入正式自动化装机过程。物理机进入正式自动化装机过程后,装机系统可以根据装机状态来确定后续任务,其中,可以通过图4示出的核心模块来确定装机状态,核心模块即装机系统中用于控制装机流程的功能模块,如状态机。装机系统确定出的后续任务可以如根据kickstart脚本文件进行装机、执行格式化磁盘、挂载根文件系统、下载并安装操作系统镜像、执行后置脚本等任务。
[0165]
作为示例,本申请实施例提供了如图5所示的操作系统的部署方法的一个流程示意图。结合图5,说明共享组件中的自动发现物理机模块的工作流程:
[0166]
1)共享组件通过带外管理模块,重启物理机的电源。
[0167]
2)物理机重启后进入pxe,从共享组件下载公共操作系统部署文件,例如,公共操作系统部署文件可以包括pxe引导文件、操作系统内核以及无盘镜像(例如可以是initrd),该无盘镜像包括特定的脚本或内置客户端(agent),用于收集物理机的硬件信息,如mac地址和序列号。这里,共享组件的dhc p服务器可以随机分配一个临时部署ip地址(对应上文的临时网络地址),以与物理机建立网络连接,便于物理机下载公共操作系统部署文件。
[0168]
3)物理机加载获取到的pxe引导文件、操作系统内核以及无盘镜像后,无盘镜像中的脚本或内置agent会收集物理机的mac地址和序列号,并发送给共享组件的核心控制器中的守护进程。
[0169]
4)针对每个物理机,共享组件将物理机的mac地址与该物理机的部署i p地址建立映射关系,并注册到dhcp服务器包括的特定的group中,同时,还可将mac地址和部署ip地址之间的映射关系存储至数据库中。完成物理机的mac地址及部署ip地址的注册及存储后,可以将注册成功及存储成功的结果返回至物理机。
[0170]
另外,图5中物理机的装机过程可参见上文,在此不做赘述。值得说明的是,在图4和图5中,均是以装机系统存储对应的操作系统部署文件的情况作为示例,在一些实施例中,各个装机系统也可以将自身的tftp服务器或htt p服务器等迁移到共享组件中,即是将各个装机系统对应的操作系统部署文件存储于共享组件中。在该情况下,共享组件的dhcp服务器包括的group中,n ext-server便指向共享组件中的tftp服务器或http服务器,对于装机系统来说,仅需负责对物理机的带外管理即可。
[0171]
作为示例,本申请实施例还提供了如图6所示的带外管理的一个示意图,在图6中,共享组件可以将各个物理机的带外信息(对应上文的控制信息)存储至共享组件的数据库中,其中,带外信息可以包括序列号、带外ip地址、带外用户名及带外密码等,带外信息可以预先设定,也可以通过特定工具对带外网络进行扫描得到。共享组件可以对带外密码进行更新,并将更新后的带外密码发送至物理机,以使物理机应用更新后的带外密码。
[0172]
在图6中,装机系统安装有客户端,客户端包括用于与共享组件之间进行交互的同步带外接口,该同步带外接口用于同步带外信息。在需要将物理机纳入管理时,装机系统发起纳管物理机,以调用客户端中的同步带外接口,从共享组件获取装机系统所管理的物理机的带外信息,并存储至装机系统自身的数据库中。装机系统可以利用获取到的带外信息,对相应的物理机实施带外操作,例如控制物理机的电源重启。值得说明的是,由于共享组件也存储有物理机的带外信息,故共享组件也可以对物理机实施带外操作,但在实际应用场景中,装机系统往往是物理机的直接管理方,故在装机过程中,带外操作主要由装机系统来
实施。
[0173]
作为示例,本申请实施例还提供了如图7所示的共享组件中的dhcp管理接口的一个示意图,在本申请实施例中,共享组件可以为各个装机系统提供共享的dhcp服务器以及针对dhcp服务器的dhcp管理接口,该dhcp管理接口也对应图4中的注册物理机接口。共享组件的管理员或者各个装机系统可以调用dhcp管理接口,来实现不同的功能,dhcp管理接口所能实现的功能包括:
[0174]
1)网络管理:在本申请实施例的网络环境中,包括子网形式的带外网络和部署网络,可以通过dhcp管理接口实现对带外网络和部署网络的增加、修改和删除。
[0175]
2)dhcp配置管理:用于实现对dhcp配置的创建、修改和删除;各个装机系统对应的group的创建(注册)、修改和删除;在dhcp服务器中注册和删除物理机,其中,支持以批量形式进行注册和删除。
[0176]
通过本申请实施例,能够至少实现以下技术效果:
[0177]
1)多个装机系统共用共享组件中的dhcp服务器,定制化的dhcp服务器能够为物理机找到对应的装机系统的tftp服务器,从而引导物理机找到正确的操作系统部署文件,实现自动化装机。即本申请实施例中,不需要通过修改交换机的配置来隔离各个装机系统的网络,能够降低运维难度,减少人力资源的消耗,同时,各个装机系统可以保持自身的装机过程不变,系统集成的成本低,适用于各种各样的云场景,如专有云场景。
[0178]
2)通过共享组件中统一管控的dhcp服务器,能够有效避免同一网络环境存在多个dhcp服务器所引起的冲突。各个装机系统可以通过api(如dhcp管理接口),在共享组件的dhcp服务器中灵活注册和删除自己管理的物理机,在将物理机从一个装机系统切换到另一个装机系统进行管理时,不需要修改交换机侧的配置,能够实现快速无缝的切换。
[0179]
下面继续说明本申请实施例提供的操作系统的部署装置643实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器640的操作系统的部署装置643中的软件模块可以包括:获取模块6431,用于获取与多个装机系统分别对应的装机注册信息;其中,装机注册信息中注册有装机系统所管理的设备的设备标识、为装机系统所管理的设备分配的网络地址、以及装机系统对应的操作系统部署文件的文件位置;匹配模块6432,用于当接收到待部署的设备发送的地址请求时,将地址请求中的设备标识与多个装机注册信息中的设备标识进行匹配;地址分配模块6433,用于将匹配成功的设备标识所在的装机注册信息作为目标装机注册信息,并将目标装机注册信息中与匹配成功的设备标识对应的网络地址,分配给待部署的设备;位置发送模块6434,用于将目标装机注册信息中的文件位置发送至分配给待部署的设备的网络地址,以使待部署的设备根据被分配的网络地址访问文件位置,并根据访问得到的操作系统部署文件部署操作系统。
[0180]
在一些实施例中,操作系统的部署装置643还包括:控制信息发送模块,用于将装机系统所管理的设备在第一网络中的控制信息发送至装机系统,以使装机系统根据控制信息,控制所管理的设备在第二网络中发送地址请求;其中,第一网络用于传输控制信息;第二网络用于传输操作系统部署文件。
[0181]
在一些实施例中,操作系统的部署装置643还包括:共享控制模块,用于根据待部署的设备的控制信息,控制待部署的设备在第二网络中发送地址请求;临时地址分配模块,用于当接收到待部署的设备发送的地址请求时,将第二网络中随机选择得到的临时网络地
址分配给待部署的设备;公共发送模块,用于将公共操作系统部署文件的公共文件位置发送至临时网络地址,以使待部署的设备根据临时网络地址访问公共文件位置,并根据访问得到的公共操作系统部署文件部署公共操作系统;标识获取模块,用于获取由公共操作系统控制待部署的设备发送的设备标识。
[0182]
在一些实施例中,待部署的设备的控制信息包括在第一网络中的第一网络地址及鉴权信息;共享控制模块还用于:向第一网络地址发送重启请求,以使待部署的设备在对重启请求中的鉴权信息鉴权成功时执行重启操作,并在第二网络中发送地址请求。
[0183]
在一些实施例中,鉴权信息包括用户名及密码;操作系统的部署装置643还包括:第一同步模块,用于当接收到针对待部署的设备的密码的更新操作时,将更新后的密码发送至待部署的设备,以使待部署的设备应用更新后的密码;第二同步模块,用于当接收到针对装机系统所管理的设备的密码的更新操作时,将更新后的密码发送至装机系统,以使装机系统根据更新后的密码,控制所管理的设备在第二网络中发送地址请求。
[0184]
在一些实施例中,地址分配模块6433,还用于:根据目标装机注册信息中与匹配成功的设备标识对应的第二网络地址,生成地址提供请求;其中,第二网络地址位于第二网络中;通过第二网络将地址提供请求发送至待部署的设备,以使待部署的设备在接收到地址提供请求时,在第二网络中发送包括第二网络地址的待确认请求;当接收到的待确认请求中的第二网络地址与目标装机注册信息中的第二网络地址相同时,通过第二网络将已确认请求发送至待部署的设备,以使待部署的设备在接收到已确认请求时,应用待确认请求中的第二网络地址。
[0185]
在一些实施例中,操作系统的部署装置643还包括:类型获取模块,用于获取待部署的设备所要运行的业务的目标业务类型;类型匹配模块,用于将目标业务类型与多个装机系统分别支持的业务类型进行匹配,并将支持匹配成功的业务类型的装机系统作为目标装机系统;自动注册模块,用于将待部署的设备的设备标识,注册至目标装机系统对应的装机注册信息中,以将待部署的设备作为目标装机系统所管理的设备。
[0186]
在一些实施例中,自动注册模块还用于:当目标装机系统的数量包括多个时,根据目标装机系统对应的操作系统部署文件的文件参数,对多个目标装机系统进行筛选处理;将待部署的设备的设备标识,注册至筛选处理得到的一个目标装机系统对应的装机注册信息中;其中,操作系统部署文件的文件参数包括更新时间以及占用空间中的至少一种。
[0187]
在一些实施例中,操作系统的部署装置643还包括:存储模块,用于执行以下任意一种处理:存储与装机系统对应的操作系统部署文件,得到操作系统部署文件的文件位置;获取装机系统发送的操作系统部署文件的文件位置;其中,操作系统部署文件存储在装机系统中。
[0188]
在一些实施例中,待部署的设备的数量包括多个,且多个待部署的设备的设备标识分别被注册到不同装机系统对应的装机注册信息中;匹配模块6432,还用于当任意一个装机注册信息中的设备标识与地址请求中的设备标识相同时,将任意一个装机注册信息作为目标装机注册信息。
[0189]
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机
设备执行本申请实施例上述的操作系统的部署方法。
[0190]
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图3a、图3b及图3c示出的操作系统的部署方法。
[0191]
在一些实施例中,计算机可读存储介质可以是fram、rom、prom、ep rom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
[0192]
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0193]
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hyper text markup language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0194]
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
[0195]
以上,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1