CN105765526B - 通过网络从远程磁盘镜像进行引导 - Google Patents
通过网络从远程磁盘镜像进行引导 Download PDFInfo
- Publication number
- CN105765526B CN105765526B CN201480031586.6A CN201480031586A CN105765526B CN 105765526 B CN105765526 B CN 105765526B CN 201480031586 A CN201480031586 A CN 201480031586A CN 105765526 B CN105765526 B CN 105765526B
- Authority
- CN
- China
- Prior art keywords
- file
- kernel
- file system
- image file
- root
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4416—Network booting; Remote initial program loading [RIPL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
- H04L61/5014—Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
一种从远程镜像文件进行引导的方法,包括:处理器加载初始引导器;采用所述初始引导器,通过网络从所述远程镜像文件下载最终引导器;采用所述最终引导器将所述远程镜像文件挂载为块设备;从所述远程镜像下载内核和根文件***挂载数据;基于所述根文件***挂载数据,执行所述内核引导所述处理器。
Description
相关申请案交叉申请
本发明要求于2013年6月14日递交的发明人为Jun Xu和Rangaraju Iyengar、发明名称为“从离线的自生***(CD)启动(Booting From a Live Compact Disk(CD)Off theNetwork)”的第61/835,388号美国临时专利申请案的在先申请优先权,该在先申请的内容以引入的方式并入本文。
关于由联邦政府赞助研究或开发的声明
研究或开发
不适用。
参考缩微胶片附录
不适用。
背景技术
引导,也称为启动,可指为加载和/或管理需要的额外软件,将操作***等基本软件加载至存储器的自我维持的过程。路由器或交换机等网元可从存储在本地物理驱动器上的数据进行引导。在某些情况下,网络管理员可能希望保证通过采用一组连贯的基本软件来启动多个网元。相应地,可创建基本软件的磁盘镜像,并将所述磁盘镜像加载至每个网元。例如,可采用自生***(Live CD)。自生***可为完整的可引导的只读电脑装置(包括操作***),该装置无需安装到硬盘等辅助存储器上便可从CD输入设备运行。自生***消耗的内存可比安装的CD小得多,但仍需要自生***镜像存在于只读光盘(CD-ROM)托盘等本地永久性媒介中。这类***可采用uBoot等引导器从本地镜像启动。例如,不包括基本输入/输出***(BIOS)的嵌入式***可采用uBoot从本地镜像启动。
发明内容
在一个实施例中,本发明包括一种从远程镜像文件进行引导的方法,包括:处理器加载初始引导器;采用所述初始引导器,通过网络从所述远程镜像文件下载最终引导器;采用所述最终引导器将所述远程镜像文件挂载为块设备;从所述远程镜像下载内核和根文件***挂载数据;基于所述根文件***挂载数据,执行所述内核引导所述处理器。
在另一个实施例中,本发明包括网元(NE),所述网元包括发射器、接收器、存储器、以及与所述发射器、接收器和存储器耦合的处理器,且所述处理器用于使所述NE将初始引导器加载至所述存储器、执行所述初始引导器通过网络从远程镜像文件下载最终引导器、执行所述最终引导器将所述远程镜像文件挂载为块设备、从所述远程镜像下载内核和根文件***挂载数据、以及基于所述根文件***挂载数据将所述内核当作引导过程的一部分进行执行。
在另一个实施例中,本发明包括NE,所述NE包括存储器,用于存储可引导的镜像文件,其中,所述可引导的镜像文件包括引导器、内核和根文件***挂载数据,所述引导器用于:当由客户端执行时,挂载所述镜像文件并下载所述内核和根文件***挂载数据,且所述内核用于:当由所述客户端执行时,基于所述根文件***挂载数据挂载所述镜像文件;接收器,用于接收来自所述客户端的下载请求;处理器,其与所述存储器和接收器耦合,且用于处理来自所述客户端的下载请求;发射器,其与所述处理器耦合,且用于通过网络向所述客户端传输至少部分所述可引导的镜像文件,以响应来自所述客户端的下载请求。
以下结合附图和权利要求对上述以及其他特征做更清晰明了的详细描述。
附图说明
为了更透彻地理解本发明,现参阅结合附图和具体实施方式而描述的以下简要说明,其中的相同参考标号表示相同部分。
图1为用于支持从远程镜像文件进行引导的网络的一实施例的示意图;
图2为网络中网元的一实施例的示意图;
图3为镜像文件的一实施例的示意图;
图4为通过网络从远程镜像文件进行引导的方法的一实施例的协议图;
图5为通过网络从远程镜像文件进行引导的方法的一实施例的流程图。
具体实施方式
首先应理解,尽管下文提供一项或多项实施例的说明性实施方案,但所公开的***和/或方法可使用任何数目的技术来实施,无论该技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实施方案、附图和技术,包括本文所说明并描述的示例性设计和实施方案,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。
可选地,NE可采用Netboot等网络引导器来实现网络启动。在基于netboot的***中,网元可采用引导协议和/或动态主机配置协议(DHCP)来确定服务器的位置,所述服务器上有可引导的磁盘镜像,例如,国际标准化组织(ISO)9660文件,其可称为ISO文件和/或.iso文件。ISO文件可包括文件***的二进制格式的副本,作为在创建该文件时存储的文件***。当接收到磁盘镜像的位置时,可通过网络检索整个镜像(包括内核(kernel)),将所述整个镜像存储在随机存取存储器(RAM)中,并对所述整个镜像进行解压。所述网元可采用软件驱动器从镜像文件挂载(mount)文件***,以供后续进一步使用。传输和解压进行引导的镜像可能使用大量资源,例如,复制较大镜像文件所需的网络带宽以及对压缩过的镜像进行解压所需的内存和中央处理器(CPU)资源。
此处揭露了通过网络从远程镜像文件引导网元的机制。所述网元可用于将远程镜像挂载成互联网小型计算机***接口(ISCSI)设备,这样可以使得网元基于需要仅下载所述远程镜像的一部分,以减少网络资源的使用。网元一启动,便可采用初始引导器(例如,预启动执行环境(PXE)只读存储器(ROM))与启动服务器(如DHCP服务器)通讯,并获得括远程镜像文件的服务器的互联网协议(IP)地址、所述镜像文件(例如,ISO文件)的文件名以及所述镜像文件中的最终引导器的位置。然后,所述初始引导器可从所述镜像文件下载最终引导器。所述最终引导器可从所述镜像文件获得内核和根文件***挂载数据。所述最终引导器可能不会下载整个初始根文件***,可能仅下载所述内核挂载所述镜像文件需要的挂载数据。然后,所述内核可从所述挂载的镜像文件上的所述初始根文件***(例如,初始RAM盘(initial ramdisk,initrd)文件)开始启动,并通过仅下载完成引导过程所需的所述镜像文件的一部分来完成从所述镜像文件的启动。通过采用此处所讨论的机制,所述网元可通过网络从远程镜像文件进行引导,并仅将需要的文件加载至RAM。相应地,所述网元可用于在没有内部硬盘或内部CD-ROM托盘的情况下运行。
图1为用于支持从远程镜像文件131进行引导的网络100的一实施例的示意图。所述网络100可包括多个NE 110,其中,每个NE 110包括初始引导器111,所述初始引导器111从存储在目标服务器130中的镜像文件131启动。所述NE 110可通过网络140与启动服务器120通讯,以确定所述目标服务器130和/或所述镜像文件131的位置和配置。
NE 110可为用于从远程镜像文件131启动的任何网络设备。由于NE 110可从服务器接收数据,故所述NE 110可被看作客户端设备。例如,NE 110可为网络基础设施设备,例如,路由器、交换机、网络管理节点和网关等。在另一个例子中,NE 110可为终端用户设备。NE 110可不包括本地文件***、操作***和程序等。进一步地,NE 110可不包括硬盘驱动器。NE 110可包括初始引导器111,例如PXE ROM或其他的初始引导器可执行程序。所述初始引导器111可包括足够的指令,这些指令用于使本地处理器与启动服务器120通讯以确定镜像文件131的位置,以及使NE 110从镜像文件131下载最终引导器,并在终止之前,在本地处理器上执行所述最终引导器。例如,所述初始引导器111可为固件电路,所述固件电路在本地处理器上通电时即被激活。
启动服务器120可为任何用于维护指示网络100上的镜像文件131的位置和配置的数据的网络设备,一经请求,所述网络设备就将这类数据返回至客户端节点。例如,启动服务器120可为DHCP服务器。启动服务器120可接收来自初始引导器111的针对所述镜像文件131的请求,可通过指示目标服务器130的当前IP地址、所述镜像文件的当前文件名、以及所述初始引导器111从所述镜像文件下载最终引导器所需的足够的配置数据(例如,通过直接下载最终引导器文件以及挂载镜像文件131等),来响应所述请求。可通过网络140传输所述启动服务器120和NE 110之间的请求和响应,所述网络140可为用于在网络100的节点之间传输帧和/或包的任何电的、光的和/或电光的有线网和/或无线网。应注意的是,虽然为了清楚地呈现,仅显示了一个启动服务器120,启动服务器120也可由服务器集群和一个或多个虚拟机等实现。
目标服务器130可为任何用于存储镜像文件的网络设备,一经请求,所述网络设备便将所述镜像文件返回至NE 110。例如,目标服务器130可包括服务器、服务器集群、以及运行在一个或多个硬件网元上的虚拟机等。无论实现如何,目标服务器130可与启动服务器120一起维护镜像文件131的位置信息,和/或一经请求,通过网络140将镜像文件131的一部分返回至NE 110。镜像文件131可存储在目标服务器130中,可包括最终引导器、内核、初始根文件***、根文件***挂载数据、***文件、和/或NE正常运行过程中(例如,引导过程中和/或引导过程后)NE 110可用的任何其他文件。下文可更详细地对镜像文件131进行讨论。在一个实施例中,目标服务器130和启动服务器120也可在单个设备中实现。
镜像文件131可包括一组数据,例如编码为原始的二进制和/或十六进制的块,其中,每个块的数据与文件关联。一旦获得配置和/或挂载数据,进程即可知道与原始数据关联的结构。一旦获得所述配置和/或挂载数据,进程即可通过与处理物理设备类似的方式,将所述数据结构当成包括数据块的设备(例如,块设备)进行处理。确定原始数据的结构、将文件***数据的元数据加载至***存储器以服务客户端进程、以及将数据块当为块设备进行处理的过程可称为挂载。
一旦启动,NE 110可执行初始引导器111。每个初始引导器111可用于查询启动服务器120以获得与镜像文件131关联的位置和配置数据,使得关联的NE 110从所述镜像文件131下载文件和/或将所述镜像文件131挂载为块设备。每个初始引导器111可用于从镜像文件下载并执行最终引导器。如下所述,可采用所述最终引导器下载内核和/或根文件***,以促进未将整个镜像文件131下载至NE 110的情况下,对NE 110的处理器的引导。通过仅下载所述镜像文件131的相关部分,可包括用于引导多个设备和设备类型的数据,NE 110可将下载的文件存储在RAM中,且可不需要硬盘。另外,移除硬盘可减少NE 110的功率要求,并降低NE 110的复杂性和成本。进一步地,仅下载所述镜像文件131的相关部分可减少整体网络流量。
图2为网络中NE 200,例如NE 110、启动服务器120、和/或目标服务器131的一实施例的示意图。在某些实施例中,NE 200可为网络100中的任意部件。所述NE 200可在单独的节点中实现,或NE 200的功能可在多个节点中实现。本领域的技术人员应意识到,术语NE包括的设备范围很广,NE200仅是其中的一个例子。为了清楚地论述,提到了NE 200,但并不旨在将本发明应用限制为特定的NE实施例或特定的一类NE实施例。至少有一部分本发明所述的特征/方法可在NE 200等网络装置或部件中实现。例如,本发明的特征/方法可通过硬件、固件、和/或在硬件上安装并运行的软件来实现。所述NE 200可为通过网络传输帧的任何设备,例如交换机、路由器、网桥、服务器、和客户端等。如图2所示,所述NE 200可包括收发机(Tx/Rx)210,所述收发机210可为发射器、接收器、或两者的结合。Tx/Rx 210可与多个下行端口220(例如,下行接口)耦合,以发送帧和/或从其他节点接收帧,Tx/Rx 210也可与多个上行端口250(例如,上行接口)耦合,以发送帧和/或从其他节点接收帧。处理器230可与Tx/Rx 210耦合,以处理所述帧和/或确定向哪些节点发送帧。所述处理器230可包括一个或多个多核处理器和/或存储设备232,所述存储设备可作为数据存储器、缓冲器、RAM和ROM等。所述处理器230可实现为通用处理器,或者可为一个或多个专用集成电路(ASICs)和/或数字信号处理器(DSPs)的一部分。处理器230可包括引导模块234,所述引导模块234可实现此处讨论的方法,例如,传输可引导的镜像文件的一部分、请求可引导的镜像文件的一部分、执行可引导的镜像文件的一部分、以及将可引导的镜像文件挂载为块设备等。在一个可选的实施例中,所述引导模块234可实现为存储在存储器232中的指令,这些指令可由处理器230执行,或部分在处理器230中实现,部分在存储器232中实现。在另一个可选的实施例中,所述引导模块234可在单独的NE上实现。所述下行端口220和/或上行端口250可包括电和/或光发送和/或接收部件。应注意的是,当实现NE 110时,NE 200可能不包括CD-ROM输入设备、硬盘驱动器、和/或任何非易失性可写的存储部件。非易失性可写的存储部件可为任何可写的存储设备,所述存储设备在断电时可保留数据。
应理解的是,通过编程和/或加载可执行指令至所述NE 200中,所述处理器230、引导模块234、Tx/Rx 210、存储器232、下行端口220和/或上行端口250中的至少一个会发生变化,所述NE 200的一部分会被转换成具有本发明所公开的新颖功能的特定机器或装置,例如多核转发架构。对于电子工程和软件工程技术至关重要的是,通过将可执行软件加载至计算机中得以实现的功能能够按照公认的设计规则转换为硬件实施。在软件还是硬件中实施概念通常取决于对设计的稳定性和待生产单元的数量的考虑,而并非对任何涉及到将软件领域变换为硬件领域的问题的考虑。通常,经常变化的设计可能更适合在软件中实施,这是由于重编硬件实施方式要比重编软件实施方式更加昂贵。通常,稳定性好且大批量生产的设计可能更适合在硬件中实施,例如在ASIC中实施,这是由于大批量生产运行使得软件实施比硬件实施更低廉。通常,设计以软件形式进行开发和测试,之后根据公认的设计规则转变为用硬件来控制软件指令的专用集成电路中等效的硬件实施。按照相同的方式,新型ASIC控制的机器即为一种特定机器或装置,同样地,已编程和/或加载有可执行指令的计算机也可被视为一种特定的机器或装置。
图3为镜像文件331的一实施例的示意图。本质上,所述镜像文件331可为类似镜像文件131的可引导的镜像文件,可存储在目标服务器130等目标服务器上,可基于需要由NE110等客户端设备通过网络140等网络下载。所述镜像文件331可为.iso文件,且可包括最终引导器332、内核333、包括根文件***挂载数据336的初始根文件***335、和/或***文件334。
所述最终引导器332可为一组指令,该组指令用于使客户端上的处理器加载内核,例如内核333,以便引导处理器进行自我维持的过程。具体地,一经请求,所述最终引导器332可传输至客户端(例如,由初始引导器111传输)。所述最终引导器332可有启动信息,所述启动信息在网络中进行了标准化,由***管理员进行更新,且对于客户端设备不可用。例如,所述最终引导器332可配置有指示所述镜像文件331的结构的配置数据。当由客户端执行时,所述最终引导器332可采用所述配置数据将所述镜像文件挂载为块设备,这可使处理器能从所述镜像文件331下载个别文件,而不是下载整个镜像文件。例如,一经执行,所述最终引导器332可用于:从所述镜像文件下载所述内核333和所述初始根文件***335,并在客户端的处理器上执行所述内核333。
所述初始根文件***335可为引导过程中由所述内核333采用的初始文件***。在一个实施例中,所述初始根文件***335可包括所述内核333完成引导过程所需的***文件,例如,根文件***挂载数据336、***驱动、配置文件、和/或客户端一经启动即可使用的任何文件。所述根文件***挂载数据336可包括指令数据,例如,可执行程序、脚本、和/或使内核能够挂载最终根文件***的可扩展内核模块。所述初始根文件***335可包括创建通用文件***所需的通用文件,在这种情况下,所述内核333可使用来自***文件334的文件继续创建最终根文件***。在一个例子中,所述最终根文件***335可为Linux***的initrd文件。所述初始根文件***335可包括根文件***挂载数据336。所述根文件***挂载数据336可为配置数据,所述内核333采用所述配置数据将镜像文件挂载为块设备。
所述内核333可为用于引导客户端的处理器的任何进程。例如,所述内核333可由最终引导器332发起。所述内核333可下载并执行包含所述初始根文件***挂载数据336的初始根文件***335。在未下载整个镜像文件331的情况下,所述内核333可采用所述初始根文件***挂载数据336从所述***文件334挂载最终根文件***。所述内核333可采用所述最终根文件***完成引导过程。在另一个实施例中,所述内核333可执行所述最终根文件***以加载***驱动和配置文件,例如,为某一类设备设计的文件。然后,所述内核333可从***文件334下载适合特定客户端的特定驱动和/或配置文件。相应地,所述内核333可根据完成引导过程的需要或可在完成引导之后,根据过程中的需要,从挂载的镜像文件331下载文件。
***文件334可包括管理员希望运行中客户端可使用的任何文件。例如,所述***文件334可包括适用于多个客户端设备类型的多个***文件。每个客户端设备可能仅下载在关联的客户端上采用的***文件。在另一个例子中,所述***文件334可包括***管理员希望完成引导后可使用所述镜像文件331的客户端可使用的任何其他的程序、应用、***工具、数据文件以及配置文件等。内核333可基于需要下载这类额外的文件,这可以减少网络负载和启动时间。例如,在客户端设备正常运行中,只有当需要***工具时,才下载***工具至所述客户端设备。如果不需要***工具,就可不必下载所述***工具,这可减少网络流量。
图4为通过网络100等网络从镜像文件131和/或331等远程镜像文件进行引导的方法400的一实施例的协议图。例如,所述方法400可通过网络140在NE 100、启动服务器120、以及目标服务器130上实现。在步骤401中,NE可启动并发起初始引导器(例如,初始引导器111)。初始引导器可查询启动服务器以确定远程镜像文件的位置,从而进行引导过程。在步骤403中,所述启动服务器可回复与所述目标服务器关联的IP地址,所述目标服务器包括远程镜像文件、所述远程镜像文件的文件名、以及指示所述远程镜像文件中的最终引导器(例如,最终引导器332)的位置的配置。在步骤405中,所述初始引导器可基于来自启动服务器的数据挂载远程镜像文件,并下载最终引导器。所述最终引导器可配置有指示镜像文件的结构的配置数据。在步骤409中,所述最终引导器可下载内核(例如,内核333)。在步骤411总,所述最终引导器可执行和终止所述内核。所述内核可对NE上的应用进程使用的所有本地设备和其他操作***资源进行初始化和配置。在步骤412中,所述内核可下载初始根文件***(例如,初始根文件***335),并执行所述初始根文件***中的程序,以挂载最终根文件***。所述内核可采用所述最终根文件***完成引导过程。另外,所述内核可下载运行所需的任何其他的***文件(例如,***文件334)。例如,所述内核可基于需要,下载适合客户端的根文件***和/或客户端正常运行所需的任何其他文件。通过挂载远程镜像文件,所述方法400可在无需下载整个镜像文件的情况下,通过网络引导客户端设备,这可减少网络流量,且可降低客户端对硬盘和/或CD-ROM输入设备的需求。例如,在引导过程中,可在RAM中保留所有下载的文件。相应地,基于所述方法400执行引导过程的客户端设备本质上可由框架、网络端口、处理板、处理器、RAM、缓存器、电源、和/或典型操作所需的任何输入/输出设备(例如,非长期存储器/硬盘)组成,这可减少设备的功率成本、设备的复杂性、以及设备的生产成本。进一步地,消除支持网络中存储的单个文件***镜像的文件***的本地副本可消除客户端设备之间的不协调性,并减少镜像管理问题。
图5为通过网络(例如,网络100)从远程镜像文件(例如,远程镜像文件131和/或331)进行引导(例如,由NE 110等客户端设备进行引导)的方法500的一实施例的流程图。例如,所述方法500可通过网络140在NE 110、启动服务器120、以及目标服务器130上实现。在步骤501中,初始引导器(例如,初始引导器111)可与启动服务器(例如,通过DHCP)通讯,以获得与目标服务器关联的IP地址,其中,所述目标服务器包括所述远程镜像文件、所述远程镜像文件的文件名、以及镜像文件的配置,所述镜像文件的配置可指示所述远程镜像文件中的最终引导器(例如,最终引导器332)的位置。在步骤503中,初始引导器可基于来自启动服务器的数据挂载远程镜像文件,并通过网络从镜像文件下载最终引导器。所述最终引导器可配置有指示镜像文件的结构的配置数据。在步骤507中,可执行所述最终引导器,所述最终引导器可使***准备下载内核。在步骤509中,所述最终引导器可从镜像文件下载内核(例如,内核333)。在步骤511中,所述最终引导器可执行并终止所述内核。一经执行,所述内核可对NE上的本地设备和/或***资源进行初始化和配置。在步骤513中,所述内核可下载完成引导过程所需的镜像文件的一部分,如初始根文件***(例如,初始根文件***335)。所述内核可执行初始根文件***的一部分(例如,挂载数据)、挂载最终根文件***,并执行完成引导过程所需的其他步骤。另外,所述内核可下载运行所需的任何其他的***文件(例如,***文件334)。例如,所述内核可基于需要,下载适合客户端的额外的根文件***和/或客户端正常运行所需的任何其他文件。通过挂载远程镜像文件,所述方法500可在无需下载整个镜像文件的情况下,通过网络引导客户端设备,这可减少网络流量,且可降低客户端对硬盘和/或CD-ROM输入设备的需求。相应地,基于所述方法500执行引导过程的客户端设备本质上可由框架、网络端口、处理板、处理器、RAM、缓存、电源、和/或典型操作所需的任何输入/输出设备组成,这可减少设备的功率成本、设备的复杂性、以及设备的生产成本。
本发明公开了至少一项实施例,而且所属领域的一般技术人员对实施例和/或实施例的特征做出的变化、组合和/或修改均在本发明的范围内。通过组合、整合和/或忽略各项实施例的特征而得到的替代性实施例也在本发明的范围内。在明确说明数字范围或限制的情况下,此类表达范围或限制应被理解成包括在明确说明的范围或限制内具有相同大小的迭代范围或限制(例如,从约为1到约为10包括2、3、4等;大于0.10包括0.11、0.12、0.13等)。例如,每当公开具有下限Rl和上限Ru的数值范围时,具体是公开落入所述范围内的任何数字。具体而言,在所述范围内的以下数字是明确公开的:R=R1+k*(Ru–R1),其中k为从1%到100%范围内以1%递增的变量,即,k为1%、2%、3%、4%、7%……70%、71%、72%……97%、96%、97%、98%、99%或100%。此外,由上文所定义的两个数字R定义的任何数字范围也是明确公开的。除非另有说明,否则术语“约”是指随后数字的±10%。相对于权利要求的任一元素使用术语“选择性地”意味着所述元素是需要的,或者所述元素是不需要的,两种替代方案均在所述权利要求的范围内。使用如“包括”、“包含”和“具有”等较广术语应被理解为提供对如由“……组成”、“基本上由……组成”以及“大体上由……组成等较窄术语的支持。”因此,保护范围不受上文所陈述的说明限制,而是由所附权利要求书界定,所述范围包含所附权利要求书的标的物的所有等效物。每一和每条权利要求作为进一步揭示内容并入说明书中,且所附权利要求书是本发明的实施例。对所述揭示内容中的参考进行的论述并非承认其为现有技术,尤其是具有在本申请案的在先申请优先权日期之后的公开日期的任何参考。本发明中所引用的所有专利、专利申请案和公开案的揭示内容特此以引用的方式并入本文本中,其提供补充本发明的示例性、程序性或其它细节。
虽然本发明多个具体实施例,但应当理解,所公开的***和方法也可通过其它多种具体形式体现,而不会脱离本发明的精神或范围。本发明的实例应被视为说明性而非限制性的,且本发明并不限于本文本所给出的细节。例如,各种元件或部件可以在另一***中组合或合并,或者某些特征可以省略或不实施。
此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、***和方法可以与其它***、模块、技术或方法进行组合或合并。展示或论述为彼此耦合或直接耦合或通信的其它项也可以采用电方式、机械方式或其它方式通过某一接口、设备或中间部件间接地耦合或通信。其它变更、替换、更替示例对本领域技术人员而言是显而易见的,均不脱离此处公开的精神和范围。
Claims (20)
1.一种从远程镜像文件进行引导的方法,其特征在于,包括:
处理器加载初始引导器;
采用所述初始引导器,通过网络从所述远程镜像文件下载最终引导器;
采用所述最终引导器下载内核并从所述远程镜像文件下载根文件***挂载数据,其中,所述最终引导器仅下载所述内核将所述镜像文件挂载成互联网小型计算机***接口(ISCSI)设备需要的挂载数据,而不会下载整个初始根文件***;
基于所述根文件***挂载数据,执行所述内核引导所述处理器,并通过仅下载完成引导过程所需的所述镜像文件的一部分来完成从所述镜像文件的启动。
2.根据权利要求1所述的方法,其特征在于,下载所述内核和所述根文件***挂载数据不包括下载整个远程镜像文件。
3.根据权利要求1所述的方法,其特征在于,所述执行所述内核引导所述处理器包括:
所述内核基于所述根文件***挂载数据,通过所述网络将所述远程镜像文件挂载为块设备;
从所述挂载的远程镜像文件下载最终根文件***。
4.根据权利要求3所述的方法,其特征在于,采用所述初始引导器下载所述最终引导器包括:查询启动服务器,以获得与目标服务器关联的互联网协议(IP)地址,其中,所述目标服务器包括所述远程镜像文件、所述远程镜像文件的文件名、以及指示所述远程镜像文件中的最终引导器的位置的配置。
5.根据权利要求4所述的方法,其特征在于,通过动态主机配置协议(DHCP)查询所述启动服务器。
6.根据权利要求4所述的方法,其特征在于,从初始ramdisk(initrd)文件下载所述根文件***挂载数据。
7.根据权利要求1所述的方法,其特征在于,将所有下载的文件都存储在随机存取存储器(RAM)中,硬盘中没有存储任何一个下载的文件。
8.一种网元NE,其特征在于,包括:
发射器;
接收器;
存储器;
处理器,其与所述发射器、接收器和存储器耦合,且用于使所述NE:
将初始引导器加载至所述存储器;
执行所述初始引导器,通过网络从远程镜像文件下载最终引导器;
执行所述最终引导器下载内核并从所述远程镜像下载根文件***挂载数据,其中,所述最终引导器仅下载所述内核将所述镜像文件挂载成互联网小型计算机***接口(ISCSI)设备需要的挂载数据,而不会下载整个初始根文件***;
采用所述内核基于所述根文件***挂载数据完成引导过程,并通过仅下载完成引导过程所需的所述镜像文件的一部分来完成从所述镜像文件的启动。
9.根据权利要求8所述的NE,其特征在于,所述NE不包括硬盘或只读光盘(CD-ROM)输入设备。
10.根据权利要求8所述的NE,其特征在于,所述根文件***挂载数据仅包括所述内核将所述远程镜像文件挂载为块设备所需的数据。
11.根据权利要求10所述的NE,其特征在于,执行所述内核包括:
基于所述根文件***挂载数据,将所述远程镜像文件挂载为块设备;
从所述远程镜像文件下载根文件***。
12.根据权利要求8所述的NE,其特征在于,所述处理器还用于使所述NE查询启动服务器,以获得与目标服务器关联的互联网协议(IP)地址,其中,所述目标服务器包括所述远程镜像文件、所述远程镜像文件的文件名、以及指示所述远程镜像文件中的最终引导器的位置的配置。
13.根据权利要求12所述的NE,其特征在于,通过动态主机配置协议(DHCP)查询所述启动服务器。
14.根据权利要求8所述的NE,其特征在于,并未下载整个远程镜像文件。
15.一种网元NE,其特征在于,包括:
存储器,用于存储可引导的镜像文件,其中,所述可引导的镜像文件包括引导器、内核和根文件***挂载数据;所述引导器用于:当由客户端执行时,挂载所述镜像文件并下载所述内核并从所述镜像文件下载根文件***挂载数据,其中,所述引导器仅下载所述内核将所述镜像文件挂载成互联网小型计算机***接口(ISCSI)设备需要的挂载数据,而不会下载整个初始根文件***;所述内核用于:当由所述客户端执行时,基于所述根文件***挂载数据通过仅下载完成引导过程所需的所述镜像文件的一部分来完成从所述镜像文件的启动;
接收器,用于接收来自所述客户端的下载请求;
处理器,其与所述存储器和接收器耦合,且用于处理来自所述客户端的下载请求;
发射器,其与所述处理器耦合,且用于通过网络向所述客户端传输至少部分所述可引导的镜像文件,以响应来自所述客户端的下载请求。
16.根据权利要求15所述的NE,其特征在于,所述可引导的镜像文件还包括初始根文件***,且所述内核还用于:当由客户端执行时,下载所述初始根文件***,且基于所述初始根文件***执行引导过程。
17.根据权利要求16所述的NE,其特征在于,所述初始根文件***为初始ramdisk(initrd)文件。
18.根据权利要求15所述的NE,其特征在于,所述发射器不用于:为响应来自所述客户端的单个请求,传输整个所述可引导的镜像文件。
19.根据权利要求15所述的NE,其特征在于,所述可引导的镜像文件为国际标准化组织9660(.iso)文件。
20.根据权利要求15所述的NE,其特征在于,所述可引导的镜像文件用于:传输给没有只读存储器(ROM)的多个客户端,并由所述多个客户端执行。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361835388P | 2013-06-14 | 2013-06-14 | |
US61/835,388 | 2013-06-14 | ||
PCT/US2014/042302 WO2014201350A1 (en) | 2013-06-14 | 2014-06-13 | Bootstrapping from a remote disk image via a network |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105765526A CN105765526A (zh) | 2016-07-13 |
CN105765526B true CN105765526B (zh) | 2019-11-22 |
Family
ID=51168413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480031586.6A Active CN105765526B (zh) | 2013-06-14 | 2014-06-13 | 通过网络从远程磁盘镜像进行引导 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9280360B2 (zh) |
EP (1) | EP2997467A1 (zh) |
CN (1) | CN105765526B (zh) |
WO (1) | WO2014201350A1 (zh) |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9830289B2 (en) | 2014-09-16 | 2017-11-28 | Apple Inc. | Methods and apparatus for aggregating packet transfer over a virtual bus interface |
US9798377B2 (en) * | 2014-10-08 | 2017-10-24 | Apple Inc. | Methods and apparatus for recovering errors with an inter-processor communication link between independently operable processors |
US9087001B1 (en) * | 2015-01-16 | 2015-07-21 | Storagecraft Technology Corporation | Virtualizing multiple networked machines using a predetermined network recovery policy |
US10042794B2 (en) | 2015-06-12 | 2018-08-07 | Apple Inc. | Methods and apparatus for synchronizing uplink and downlink transactions on an inter-device communication link |
US10108434B2 (en) * | 2015-09-11 | 2018-10-23 | Vmware, Inc. | Booting a computing device by streaming a desktop image over a network |
US9804855B1 (en) * | 2015-10-08 | 2017-10-31 | Veritas Technologies Llc | Modification of temporary file system for booting on target hardware |
CN105183528A (zh) * | 2015-10-29 | 2015-12-23 | 浪潮(北京)电子信息产业有限公司 | 一种升级服务器bios的方法及*** |
US10037221B2 (en) * | 2015-12-28 | 2018-07-31 | Amazon Technologies, Inc. | Management of virtual desktop instance pools |
US10085214B2 (en) | 2016-01-27 | 2018-09-25 | Apple Inc. | Apparatus and methods for wake-limiting with an inter-device communication link |
US10191852B2 (en) | 2016-02-29 | 2019-01-29 | Apple Inc. | Methods and apparatus for locking at least a portion of a shared memory resource |
US10191859B2 (en) | 2016-03-31 | 2019-01-29 | Apple Inc. | Memory access protection apparatus and methods for memory mapped access between independently operable processors |
US10110624B2 (en) | 2016-04-19 | 2018-10-23 | Red Hat Israel, Ltd. | Discovering and provisioning computing devices in a security enhanced environment |
US10127049B2 (en) * | 2016-05-09 | 2018-11-13 | International Business Machines Corporation | Kernel-integrated instance-specific operational resources with virtualization |
US10025587B2 (en) * | 2016-08-17 | 2018-07-17 | American Megatrends Inc. | Method of bootup and installation, and computer system thereof |
US10591976B2 (en) | 2016-11-10 | 2020-03-17 | Apple Inc. | Methods and apparatus for providing peripheral sub-system stability |
US10775871B2 (en) | 2016-11-10 | 2020-09-15 | Apple Inc. | Methods and apparatus for providing individualized power control for peripheral sub-systems |
CN106547602B (zh) * | 2016-12-09 | 2020-07-24 | 中南大学 | 一种适用于iSCSI协议远程无线加载的操作***镜像的制作方法 |
US10127029B1 (en) * | 2016-12-30 | 2018-11-13 | Veritas Technologies Llc | Operating system installation using logical volumes |
US10346226B2 (en) | 2017-08-07 | 2019-07-09 | Time Warner Cable Enterprises Llc | Methods and apparatus for transmitting time sensitive data over a tunneled bus interface |
US10511407B2 (en) * | 2017-09-21 | 2019-12-17 | American Megatrends International, Llc | Techniques of deep discovery of a composed node through management network |
US10331612B1 (en) | 2018-01-09 | 2019-06-25 | Apple Inc. | Methods and apparatus for reduced-latency data transmission with an inter-processor communication link between independently operable processors |
CN108572852A (zh) * | 2018-03-21 | 2018-09-25 | 江苏长顺江波软件科技发展有限公司 | 一种可以跨网段网络启动的方法 |
US11792307B2 (en) | 2018-03-28 | 2023-10-17 | Apple Inc. | Methods and apparatus for single entity buffer pool management |
US11381514B2 (en) | 2018-05-07 | 2022-07-05 | Apple Inc. | Methods and apparatus for early delivery of data link layer packets |
US10430352B1 (en) | 2018-05-18 | 2019-10-01 | Apple Inc. | Methods and apparatus for reduced overhead data transfer with a shared ring buffer |
US10585699B2 (en) | 2018-07-30 | 2020-03-10 | Apple Inc. | Methods and apparatus for verifying completion of groups of data transactions between processors |
US10719376B2 (en) | 2018-08-24 | 2020-07-21 | Apple Inc. | Methods and apparatus for multiplexing data flows via a single data structure |
US10789110B2 (en) | 2018-09-28 | 2020-09-29 | Apple Inc. | Methods and apparatus for correcting out-of-order data transactions between processors |
US10838450B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Methods and apparatus for synchronization of time between independently operable processors |
US11385981B1 (en) * | 2018-12-28 | 2022-07-12 | Virtuozzo International Gmbh | System and method for deploying servers in a distributed storage to improve fault tolerance |
CN110502281A (zh) * | 2019-07-19 | 2019-11-26 | 浙江万胜智能科技股份有限公司 | 一种嵌入式设备启动Linux内核和文件***的方法 |
US11829303B2 (en) | 2019-09-26 | 2023-11-28 | Apple Inc. | Methods and apparatus for device driver operation in non-kernel space |
US11558348B2 (en) | 2019-09-26 | 2023-01-17 | Apple Inc. | Methods and apparatus for emerging use case support in user space networking |
US11477123B2 (en) | 2019-09-26 | 2022-10-18 | Apple Inc. | Methods and apparatus for low latency operation in user space networking |
CN111061521B (zh) * | 2019-12-13 | 2023-06-09 | 恒为科技(上海)股份有限公司 | 一种启动设备的方法及*** |
US11243781B2 (en) * | 2020-03-04 | 2022-02-08 | Citrix Systems, Inc. | Provisioning services (PVS) cloud streaming with read cache file storing preboot data including a network driver |
US11606302B2 (en) | 2020-06-12 | 2023-03-14 | Apple Inc. | Methods and apparatus for flow-based batching and processing |
US11775359B2 (en) | 2020-09-11 | 2023-10-03 | Apple Inc. | Methods and apparatuses for cross-layer processing |
US11954540B2 (en) | 2020-09-14 | 2024-04-09 | Apple Inc. | Methods and apparatus for thread-level execution in non-kernel space |
US11799986B2 (en) | 2020-09-22 | 2023-10-24 | Apple Inc. | Methods and apparatus for thread level execution in non-kernel space |
CN112463249A (zh) * | 2020-11-27 | 2021-03-09 | 江苏视博云信息技术有限公司 | Android云应用的启动方法、装置及*** |
CN112887503A (zh) * | 2021-01-13 | 2021-06-01 | 珠海奔图电子有限公司 | 一种图像形成设备、服务器、***及方法 |
CN112988252B (zh) * | 2021-04-26 | 2021-08-20 | 统信软件技术有限公司 | 一种操作***启动方法及计算设备 |
US11876719B2 (en) | 2021-07-26 | 2024-01-16 | Apple Inc. | Systems and methods for managing transmission control protocol (TCP) acknowledgements |
US11882051B2 (en) | 2021-07-26 | 2024-01-23 | Apple Inc. | Systems and methods for managing transmission control protocol (TCP) acknowledgements |
CN113703811B (zh) * | 2021-09-06 | 2024-04-23 | 北京半导体专用设备研究所(中国电子科技集团公司第四十五研究所) | 一种dsp远程下载固件的方法、装置、设备及存储介质 |
US20230251872A1 (en) * | 2022-02-08 | 2023-08-10 | Oracle International Corporation | Techniques for managing region build dependencies |
CN117687703B (zh) * | 2024-01-31 | 2024-04-12 | 苏州元脑智能科技有限公司 | 服务器的启动方法、装置、***、存储介质和电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932408A (zh) * | 2012-09-21 | 2013-02-13 | 中国电信股份有限公司云计算分公司 | 一种服务器集群的管理方法和平台 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7234053B1 (en) | 2003-07-02 | 2007-06-19 | Adaptec, Inc. | Methods for expansive netboot |
US7451303B2 (en) * | 2004-11-18 | 2008-11-11 | Ford Motor Company | Method and system for booting remote computing systems from an operating system image and creating symbolic links for data files |
US7546450B2 (en) * | 2006-03-07 | 2009-06-09 | Sun Microsystems, Inc. | Method and apparatus for operating system deployment |
US7673131B2 (en) * | 2006-05-05 | 2010-03-02 | Microsoft Corporation | Booting an operating system in discrete stages |
FR2957700B1 (fr) * | 2010-03-22 | 2012-04-13 | Bull Sas | Procede, programme d'ordinateur et dispositif d'optimisation de chargement et de demarrage d'un systeme d'exploitation dans un systeme informatique via un reseau de communication |
CN102262546A (zh) * | 2010-05-28 | 2011-11-30 | 鸿富锦精密工业(深圳)有限公司 | 无盘启动操作***的方法及电子装置与服务器 |
CN102457541A (zh) * | 2010-10-25 | 2012-05-16 | 鸿富锦精密工业(深圳)有限公司 | 无盘工作站启动过程中避免发生资源竞争的***及方法 |
US9385918B2 (en) * | 2012-04-30 | 2016-07-05 | Cisco Technology, Inc. | System and method for secure provisioning of virtualized images in a network environment |
-
2014
- 2014-06-13 CN CN201480031586.6A patent/CN105765526B/zh active Active
- 2014-06-13 WO PCT/US2014/042302 patent/WO2014201350A1/en active Application Filing
- 2014-06-13 EP EP14737430.0A patent/EP2997467A1/en not_active Ceased
- 2014-06-13 US US14/304,158 patent/US9280360B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932408A (zh) * | 2012-09-21 | 2013-02-13 | 中国电信股份有限公司云计算分公司 | 一种服务器集群的管理方法和平台 |
Also Published As
Publication number | Publication date |
---|---|
US9280360B2 (en) | 2016-03-08 |
EP2997467A1 (en) | 2016-03-23 |
US20140372744A1 (en) | 2014-12-18 |
CN105765526A (zh) | 2016-07-13 |
WO2014201350A1 (en) | 2014-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105765526B (zh) | 通过网络从远程磁盘镜像进行引导 | |
US11922177B2 (en) | Securely and reliably transferring startup script | |
US11556366B2 (en) | Container login method, apparatus, and storage medium | |
CN107506258B (zh) | 用于数据备份的方法和设备 | |
US9146731B2 (en) | Information processing apparatus, relay server, information relay method, non-transitory computer-readable medium storing information relay program, and communication system | |
US20180123968A1 (en) | Method and system for securely transmitting volumes into cloud | |
US10146556B2 (en) | System and method to perform an OS boot using service location protocol and launching OS using a dynamic update of network boot order without a reboot | |
US20120192175A1 (en) | Method and System to Accelerate Copying of Virtual Machine Images | |
US20140129819A1 (en) | Cloud cluster system and boot deployment method for the same | |
CN101727449A (zh) | 利用远程应用处理本地文件的***和方法 | |
CN112035217A (zh) | 集群的处理方法、装置、电子设备及计算机可读存储介质 | |
US20100205420A1 (en) | System and method for realizing remote test on computer apparatus without storage device | |
JP6195465B2 (ja) | 同期サーバ側スクリプティングを用いた遠隔カードコンテンツ管理 | |
CN104539665A (zh) | 一种基于路由器的远程文件控制*** | |
US8516480B1 (en) | Enabling offline work in a virtual data center | |
CN115421740A (zh) | 云原生应用的部署方法和装置 | |
CN113761412A (zh) | 应用页面的显示方法、装置、电子设备、介质及应用*** | |
CN109726039B (zh) | 用于管理虚拟机的方法和设备 | |
US20070199065A1 (en) | Information processing system | |
US9146816B2 (en) | Managing system image backup | |
US10789200B2 (en) | Server message block remote direct memory access persistent memory dialect | |
CN102148839B (zh) | 一种管理ftp服务器的方法、装置及*** | |
US8285680B2 (en) | Individual object restore | |
CN112394907A (zh) | 基于容器的交付***构建方法、应用交付方法和交付*** | |
JP5743743B2 (ja) | アプリケーション連携システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |