安装操作系统的方法、装置、电子设备和计算机可读介质
技术领域
本公开的实施例涉及计算机技术领域,具体涉及安装操作系统的方法、装置、电子设备和计算机可读介质。
背景技术
随着互联网的高速发展,服务器作为当代互联网应用发展不可或缺的硬件设备。目前的方法给服务器装系统仍需要大量的人工操作,但是往往服务器的数量是巨大的,需要对每一台服务器开机,配置BIOS(基本输入输出系统,Basic Input Output System),配置IPMI(智能型平台管理接口,Intelligent Platform Management Interface)的IP(网际互连协议,Internet Protocol)地址,管理端口及用户名密码等。无法实现从服务器开机后的全自动的安装,需要花费大量的人力资源。
发明内容
本发明内容部分用于以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。本发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
本公开的一些实施例的目的在于提出一种安装操作系统的方法、装置、电子设备和计算机可读介质,来解决以上背景技术部分提到的技术问题。
第一方面,本公开的一些实施例提供了一种安装操作系统的方法,该方法包括:获取服务器的信息,保存至中心节点,其中,该信息包括以下至少一项:磁盘阵列RAID信息,硬盘信息,网卡和交换机的对应关系信息;根据该信息完成对服务器的配置;向该中心节点请求操作系统数据;将操作系统数据存入该服务器;根据Bond配置信息和该网卡和交换机的对应关系信息完成Bond配置,其中,该Bond配置是将多张物理网卡通过软件虚拟成一个虚拟的网卡的操作;重启该服务器。
第二方面,本公开的一些实施例提供了一种用于安装操作系统的装置,装置包括:获取单元,被配置成获取服务器的信息,保存至中心节点,其中,上述信息包括以下至少一项:磁盘阵列RAID(磁盘阵列,Redundant Arrays of Independent Disks)信息,硬盘信息,网卡和交换机的对应关系信息;第一配置单元,被配置成根据上述信息完成对服务器配置;请求单元,被配置成向上述中心节点请求操作系统数据;存储单元,被配置成将操作系统数据存入上述服务器;第二配置单元,被配置成根据Bond配置信息和上述网卡和交换机的对应关系信息完成Bond配置,其中,上述Bond配置是将多张物理网卡通过软件虚拟成一个虚拟的网卡的操作;重启单元,被配置成重启上述服务器。
第三方面,本公开的一些实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一的方法。
第四方面,本公开的一些实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,程序被处理器执行时实现如第一方面中任一的方法。
本公开的上述各个实施例中的一个实施例具有如下有益效果:通过自动获取服务器的信息,解决了还需人工统计信息的问题,减少了人力的投入。进一步而言,通过信息完成对服务器的配置,简化了操作流程。通过对服务器的Bond配置,可以将多块网卡绑定现一个IP地址对外提供服务,可以实现高可用或者负载均衡。只需服务器上架,中间无须人工干预,所有配置均由该方案自动化完成。自动获取服务器各个硬件参数并上报中心节点,完成了资产信息的自动录入,解决系统安装后还需人工统计大量资产信息的问题。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1是根据本公开的一些实施例的安装操作系统的方法的一个应用场景的示意图;
图2是根据本公开的安装操作系统的方法的一些实施例的流程图;
图3是根据本公开的安装操作系统的装置的一些实施例的结构示意图;
图4是适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例。相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
下面将参考附图并结合实施例来详细说明本公开。
图1是根据本公开的一些实施例的安装操作系统的方法的不同应用场景的示意图。在如图1的应用场景中所示,首先,用户开启服务器,通过PXE(预启动执行环境,PrebootExecution Environment)先引导到微型系统服务器上,在101中裁剪后的Linux操作系统通过内置的工具获得服务器的信息。在102中裁剪后的Linux操作系统将获取得到的服务器的信息发送到中心节点。在103中中心节点记录硬件的信息。在104中裁剪后的Linux操作系统向中心节点请求服务器的参数配置信息。在105中中心节点向裁剪后的Linux操作系统返回参数配置信息。在106中裁剪后的Linux操作系统根据参数配置信息完成服务器的配置。在107中裁剪后的Linux操作系统向中心节点请求操作系统镜像文件。在108中中心节点向裁剪后的Linux操作系统返回操作系统镜像文件。在109中裁剪后的Linux操作系统把操作系统镜像文件存入服务器。在110中裁剪后的Linux操作系统向中心节点请求BOND配置信息。在111中中心节点向裁剪后的Linux操作系统返回BOND配置信息。在112中裁剪后的Linux操作系统根据BOND配置信息完成对服务器的BOND配置。在113中裁剪后的Linux操作系统使用101中的网卡和交换机的对应关系信息,调用交换机指令,完成交换端BOND配置。在114中,交换机向裁剪后的Linux操作系统返回成功状态。在115中裁剪后的Linux操作系统设置启动参数,重启服务器,完成对服务器的配置。
可以理解的是,安装操作系统的方法可以是由裁剪后的Linux操作系统来执行。当执行主体为软件时,可以安装在上述所列举的电子设备中。其可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
应该理解,图1中的服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的服务器。
继续参考图2,示出了根据本公开的安装操作系统的方法的一些实施例的流程200。该安装操作系统的方法,包括以下步骤:
步骤201,获取服务器的信息,保存至中心节点。
在一些实施例中,安装操作系统的方法的执行主体(例如,经过裁剪的Linux系统)通过预先配置好的工具和相关协议来获取服务器相关硬件的信息。例如,上述硬件的信息可以是网卡信息,中央处理器信息,显卡信息等。并且上述执行主体将所获取到的信息发送到中心节点,上述中心节点对信息进行保存并且分析。其中,中心节点有独立IP地址,具有传送、接收和处理数据功能。上述中心节点作用是与执行主体进行交互,接受执行主体的请求或者向执行主体发送相关的相关配置信息。
在一些实施例的一些可选的实现方式中,上述执行主体可以通过内置的RAID卡工具获取服务器的硬盘信息以及RAID配置信息。上述执行主体还可以通过LLDP(链路层发现协议,Link Layer Discovery Protocol)来获取上述服务器的网卡与交换机端口的对应关系信息,其中,上述LLDP是一种数据链路层协议,RAID是由很多块独立的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。通过内置的RAID卡工具可以自动对服务器的磁盘大小进行统计,减少了人力的投入。
步骤202,根据信息完成对服务器配置。
在一些实施例中,上述执行主体依据步骤201得到服务器的信息,通过执行主体内置的配置工具(例如,RAID卡配置功能),完成对服务器的配置。在这里,上述执行主体内置了各个厂商配置工具。
在一些实施例的一些可选的实现方式中,上述执行主体可以从中心节点获取服务器的配置参数信息。其中,配置参数信息是经过中心节点解析步骤201中的信息得到的。执行主体的内置配置工具依据配置参数信息,完成对服务器的配置。在这里,上述服务器的配置可以包括但不限于以下至少一项:智能型平台管理接口IPMI的配置,RAID的配置,基本输入输出系统BIOS的配置。在这里,通过配置IPMI,用户可以监视或管理服务器的物理健康特征,如温度、电压、风扇工作状态、电源状态等。而BIOS是连接软件与硬件的一座“桥梁”,是计算机的开启时运行的第一个程序,主要功能是为计算机提供最底层的、最直接的硬件设置和控制。通过对服务器的配置,可以为后续服务器的安装操作系统提供一个基础。
步骤203,向中心节点请求操作系统数据。
在一些实施例中,上述执行主体向中心节点发送请求,其中,请求的内容是操作系统数据。例如,通过光纤通信方式的方式,向中心节点请求操作系统镜像文件。其中,上述操作系统镜像文件可以是linux操作系统镜像文件(例如,Ubuntu操作系统镜像文件)。
步骤204,将操作系统数据存入服务器。
在一些实施例中,上述执行主体接收来自上述中心节点的操作系统数据。并且将操作系统数据保存到服务器中。例如,通过有线的方式接收到来自中心节点的操作系统镜像文件(例如,CentOs),并且将操作系统镜像文件保存到服务器的内存中。
在一些实施例的一些可选的实现方式中,当上述执行主体检测到中心节点发送的操作系统数据时,可以将上述操作系统数据写入服务器的硬盘中。在这里,可以对服务器的硬盘进行分区,将操作系统数据写入特定的分区中,防止操作系统数据数据丢失。
步骤205,根据Bond配置信息和该网卡和交换机的对应关系信息完成Bond配置。
在一些实施例中,上述执行主体根据Bond配置信息将多个服务器的多个物理网卡绑定成一个逻辑上的网卡,并且使用一个IP地址对外提供服务,可以实现高可用或者负载均衡。上述执行主体通过步骤1得到该网卡和交换机的对应关系信息,完成在交换机端的Bond配置。在这里,Bond配置信息可以根据服务器的网卡信息到网上查阅相关的资料来获取。
在一些实施例的一些可选的实现方式中,上述执行主体可以向中心节点请求Bond配置信息。当执行主体接收到中心节点发送的Bond配置信息后,通过上述Bond配置信息完成对Bond的网卡配置。上述执行主体通过将步骤201中的网卡和交换机的对应关系信息转化为交换机命令,使用交换机命令来调用交换机工作,从而完成交换机的Bond配置,在增加带宽的同时也可以提高冗余性。
步骤206,重启服务器。
在一些实施例中,上述执行主体保存经步骤201、步骤202、步骤203、步骤204、步骤205处理后服务器的配置。上述执行主体改变原来的PXE(预启动执行环境,PrebootExecution Environment)启动方式。然后上述执行主体将服务器关闭,重新启动。在这里,服务器将会加载步骤204中的操作系统镜像文件,启动新安装的操作系统,从而完成了系统的配置与安装。
在一些实施例的一些可选的实现方式中,上述执行主体通过特定工具(例如BIOS)可以修改服务器的启动参数。从而改变服务器的启动方式,在这里,可以将启动方式设置为从服务器硬盘启动。作为示例,通过修改服务器的BIOS系统中与启动方式相关的参数,将参数修改为从服务器硬盘启动,其中,服务器下次启动时,会根据修改后的启动参数,到硬盘中查找操作系统镜像文件。重新启动服务器,加载镜像文件,完成安装流程。
在一些可选的实施方式中,上述服务器的存储器可以包括扩散式忆阻器。在这里,扩散式忆阻器是基于一种活性金属扩散动力学的忆阻器,扩散式忆阻器能够利用其独特的电导行为来模仿突触可塑性,这一特征使他们能够忘记较早的、短期的信息,同时锁定更多相关的信息。其中,上述扩散式忆阻器由嵌入氧氮化硅薄膜内的银纳米粒子簇组成,其中,上述银纳米粒子簇嵌入在所述氧氮化硅薄膜的两个电极之间。上述将操作系统数据写入所述服务器的硬盘的步骤可以是:当扩散式忆阻器检测到中心节点发送的操作系统数据时,向氧氮化硅薄膜施加预定阈值的电脉冲。然后,氧氮化硅薄膜可以瞬间产生电能和热能。产生的电能和热能可以将银纳米粒子簇分离,进一步生成纳米粒子。接着,纳米粒子通过氧氮化硅薄膜,进一步地生成导电丝。通过导电丝完成所述氧氮化硅薄膜内电流的转移,从而产生电信号。最后,产生的许多电信号可以记录操作系统的具体信息,从而完成了操作系统的写入。这里,一旦电脉冲移走,扩散式忆阻器中的氧氮化硅薄膜温度下降,纳米粒子又重新聚合成簇。扩散式忆阻器的这一过程类似于生物突触内钙离子的行为,该设备能模拟神经元的短期可塑性。上述存储方式可以大幅缩减存储器的占位空间、以及降低存储器的复杂度与能耗,而且也不需要以复杂的电路仿真突触的行为,从而提升了存储效率。
本公开的一些实施例公开的安装操作系统的方法,通过获取服务器的信息,保存至中心节点,可以获取服务器各个硬件参数并上报中心节点,完成了资产信息的自动录入。根据信息完成对服务器配置,给安装操作系统提供了基本的的环境。通过向中心节点请求操作系统数据,将操作系统数据存入服务器,完成了服务器中操作系统的安装。根据Bond配置信息和该网卡和交换机的对应关系信息完成Bond配置,可以实现高可用或者负载均衡。通过重启服务器,即可完成整个安装流程。在这里,还可以批量安装数百台服务器,只需服务器上架,中间无须人工干预,所有配置均由该方案自动化完成。安装过程中,服务器密码是由中心节点随机生成,并通过加密通信发送给上述执行主体,屏蔽人为得知密码的机会,因此该方案可以加固安全性。
进一步参考图3,作为对上述各图上述方法的实现,本公开提供了一种用于安装操作系统的装置的一些实施例,这些装置实施例与图2上述的那些方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图3所示,一些实施例的安装操作系统的装置300包括:获取单元,被配置成获取服务器的信息,保存至中心节点,其中,上述信息包括以下至少一项:磁盘阵列RAID信息,硬盘信息,网卡和交换机的对应关系信息;第一配置单元,被配置成根据上述信息完成对服务器配置;请求单元,被配置成向上述中心节点请求操作系统数据;存储单元,被配置成将操作系统数据存入上述服务器;第二配置单元,被配置成根据Bond配置信息和上述网卡和交换机的对应关系信息完成Bond配置,其中,上述Bond配置是将多张物理网卡通过软件虚拟成一个虚拟的网卡的操作;重启单元,被配置成重启上述服务器。
下面参考图4,其示出了适于用来实现本公开的一些实施例的电子设备(例如图1中的服务器)400的结构示意图。图4示出的终端设备仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。
如图4所示,电子设备400可以包括处理装置(例如中央处理器、图形处理器等)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储装置408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有电子设备400操作所需的各种程序和数据。处理装置401、ROM 402以及RAM403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
通常,以下装置可以连接至I/O接口405:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置406;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置407;包括例如存储卡等的存储装置408;以及通信装置409。通信装置409可以允许电子设备400与其他设备进行无线或有线通信以交换数据。虽然图4示出了具有各种装置的电子设备400,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图4中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的一些实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的一些实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的一些实施例中,该计算机程序可以通过通信装置409从网络上被下载和安装,或者从存储装置408被安装,或者从ROM 402被安装。在该计算机程序被处理装置401执行时,执行本公开的一些实施例的方法中限定的上述功能。
需要说明的是,本公开的一些实施例上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的一些实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的一些实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取服务器的信息,保存至中心节点,其中,该信息包括以下至少一项:磁盘阵列RAID信息,硬盘信息,网卡和交换机的对应关系信息;根据该信息完成对服务器的配置;向该中心节点请求操作系统数据;将操作系统数据存入该服务器;根据Bond配置信息和该网卡和交换机的对应关系信息完成Bond配置,其中,该Bond配置是将多张物理网卡通过软件虚拟成一个虚拟的网卡的操作;重启该服务器。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的一些实施例的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的一些实施例中的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元、第一配置单元、请求单元、存储单元,第二配置单元和重启单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“获取服务器的信息的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
以上描述仅为本公开的一些较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。