一种基于网络的设备启动方法以及计算设备与流程

摘要: 本技术涉及通信,尤其涉及一种基于网络的设备启动方法以及计算设备。背景技术:1、计算设备启动的方式除常见的本地启动,还有基于网络的启动方式。所谓“基于网络的启动”...
一种基于网络的设备启动方法以及计算设备与流程

本技术涉及通信,尤其涉及一种基于网络的设备启动方法以及计算设备。

背景技术:

1、计算设备启动的方式除常见的本地启动,还有基于网络的启动方式。所谓“基于网络的启动”方式是指将计算设备启动所需的一些文件(如操作系统的内核、文件系统等)存放在远端,计算设备在启动时从远端获取这些文件,基于所获取的这些文件进行启动。

2、具体到计算设备启动的过程,需要先启动基本输入/输出系统(basic input/output system,bios),在bios完成了各项基础管理操作之后,bios将控制权交于操作系统(operating system,os),os启动之后,os需要与远端交互获取一些文件。os为了获取这些文件需要确定计算设备中可用于与远端交互的端口。确定端口存在两种方式,一种方式为os遍历计算设备的各个网卡上的各个端口,以确定能够与远端交互的端口,由于计算设备通常包含多个网卡端口,因此遍历的方式耗时较大,效率较低。另一种方式为人工干预的方式,即需要运维人员向该计算设备的os提供端口的信息,尤其当网卡端口数量众多时,人工干预的方式会降低确定端口的效率。

技术实现思路

1、本技术实施例提供的一种基于网络的设备启动方法以及设备,用于提升计算设备的启动效率。

2、第一方面,本技术实施例提供了一种基于网络的设备启动方法,方法应用于计算设备,在计算设备启动的过程中,计算设备上电,bios启动,bios在启动之后,执行基础的管理操作(如上电自检),并且还可以获取计算设备的端口信息。该端口信息用于描述该计算设备上用于通信的端口,本技术实施例并不限定该端口的数量,该计算设备的上的端口可以为一个,也可以为多个。本技术实施例也不限定端口的具体形态,该端口可以为物理端口,也可以为逻辑端口。

3、bios在运行完成后,将控制权交于计算设备的操作系统os,也即触发os的启动,bios向os提供端口信息。os启动之后,获取bios提供的端口信息,基于端口信息、通过该端口传输数据,如,从pxe服务器获取待安装的软件等。

4、通过上述方法,os获取端口信息后,并不需要遍历所有端口,可直接利用端口信息、通过端口进行数据传输,减少端口检测的耗时。另外,os所需要的端口信息不再是由人工干预的,也即运维人员不再需要配置端口信息,进一步保证了端口检测的效率,减少计算设备的启动时长,提升计算设备的启动效率。

5、在一种可能的实现方式中,端口信息包括端口的介质访问控制(media accesscontrol,mac)地址。

6、通过上述方法,bios可以向os提供端口的mac地址,os不再需要通过运维人员的配置获取该mac地址。

7、在一种可能的实现方式中,端口信息还包括端口的虚拟局域网标识(virtuallocal area network identifier,vlan id)。

8、通过上述方法,端口信息包括有vlan标识,使得该方法适用于网络拓扑较为复杂(存在虚拟局域网)的网络中。

9、在一种可能的实现方式中,bios向计算设备的操作系统os提供端口信息时,bios生成并存储目标信息,目标信息包括端口信息,目标信息为os运行所需的信息。

10、通过上述方法,bios将端口信息承载于需要向os提供的信息中,无需额外为传输端口信息设置新的文件,简化了该端口信息的提供方式。

11、在一种可能的实现方式中,目标信息中为端口信息设置有端口标识符,端口标识符用于标识端口信息在目标信息中的位置。

12、通过上述方法,端口标识符的设置便于该os快速在目标信息中定位到该端口信息。

13、在一种可能的实现方式中,os获取bios提供的端口信息时,os从目标信息中检测端口标识符,根据端口标识符获取端口信息。

14、通过上述方法,os通过端口标识符可以快速从目标信息中提取端口信息。

15、在一种可能的实现方式中,目标信息可以为bios需要提供给os的文件,或者是os自身可以调用的文件。例如,该目标信息可以为下列的部分或全部:acpi信息、smbios信息、设备树表、bios变量区、命令行。

16、通过上述方法,目标信息的呈现形态较为多样,适用于多种不同的场景。

17、在一种可能的实现方式中,该方法可应用于网络启动的场景,也即计算设备与部署有pxe服务端的服务器(也即pxe服务器)进行交互,以完成启动。在启动过程中:

18、bios与pxe服务器交互,从pxe服务器获取引导文件,引导文件包括有os的内核启动参数。

19、bios将控制权交于计算设备的操作系统os时,向os传输引导文件;端口信息并非位于该引导文件中。

20、通过上述方法,os在启动过程中,并不需要从pxe服务器获取端口信息,也即运维人员无需在pxe服务器配置端口信息,提升计算设备的启动效率。

21、在一种可能的实现方式中,os基于引导文件启动,并获取bios提供的端口信息。

22、通过上述方法,引导文件中并不包含端口信息,进一步表明该os的端口信息并非需要人工配置。

23、第二方面,本技术实施例还提供了一种计算设备,该计算设备具有实现上述第一方面的方法实例中行为的功能,有益效果可以参见第一方面的描述此处不再赘述。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,装置的结构中包括bios以及os,这些模块可以执行上述第一方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。

24、第三方面,本技术还提供了一种计算设备,计算设备包括处理器和存储器,还可以包括通信接口,处理器执行存储器中的程序指令执行上述第一方面或第一方面任一可能的实现方式提供的方法。存储器与处理器耦合,其保存确定启动过程中必要的程序指令和数据。通信接口,用于与其他设备进行通信。

25、第四方面,本技术提供了一种计算设备系统,该计算设备系统包括至少一个计算设备。每个计算设备包括存储器和处理器。至少一个计算设备的处理器用于访问所述存储器中的代码以执行第一方面或第一方面的任意一种可能的实现方式提供的方法。

26、第五方面,本技术提供了一种计算机可读存储介质,所述计算书可读存储介质被计算设备执行时,所述计算设备执行前述第一方面或第一方面的任意可能的实现方式中提供的方法。该存储介质中存储了程序。该存储介质包括但不限于易失性存储器,例如随机访问存储器,非易失性存储器,例如快闪存储器、硬盘(hard disk drive,hdd)、固态硬盘(solid state drive,ssd)。

27、第六方面,本技术提供了一种计算设备程序产品,所述计算设备程序产品包括计算机指令,在被计算设备执行时,所述计算设备执行前述第一方面或第一方面的任意可能的实现方式中提供的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述第一方面或第一方面的任意可能的实现方式中提供的方法的情况下,可以下载该计算机程序产品并在计算设备上执行该计算机程序产品。

28、第七方面,本技术还提供一种计算机芯片,所述芯片与存储器相连,所述芯片用于读取并执行所述存储器中存储的软件程序,执行上述第一方面以及第一方面的各个可能的实现方式中所述的方法。

29、上述第二方面至第七方面可以达到的技术效果,请参照上述第一方面中相应设计方案可以达到的技术效果的说明,本技术这里不再重复赘述。