《用于网络环境中虚拟化镜像的安全配置的系统和方法.pdf》由会员分享,可在线阅读,更多相关《用于网络环境中虚拟化镜像的安全配置的系统和方法.pdf(38页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104221325A43申请公布日20141217CN104221325A21申请号201380019176522申请日2013042513/460,83020120430USH04L12/2420060171申请人思科技术公司地址美国加利福尼亚州72发明人马斯默西威里尼伊莲昌74专利代理机构北京东方亿思知识产权代理有限责任公司11258代理人李晓冬54发明名称用于网络环境中虚拟化镜像的安全配置的系统和方法57摘要一种示例方法包括在网络环境中的刀片和配置服务器之间设立安全信道,通过安全信道从配置服务器向刀片下载虚拟机监视器VMM的镜像,并且启动该镜像以在刀片上实例化VMM。刀。
2、片和配置服务器以多个参数互相认证和授权。启动镜像可包括在刀片的存储元件上加载该镜像以及对镜像传输控制。在一些实施例中,启动镜像包括通过添加守护进程修改镜像的根文件系统,以使得代理被包括在根文件系统中。代理可下载对应于虚拟机的操作系统的另一镜像。30优先权数据85PCT国际申请进入国家阶段日2014100986PCT国际申请的申请数据PCT/US2013/0382592013042587PCT国际申请的公布数据WO2013/165811EN2013110751INTCL权利要求书2页说明书22页附图13页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书22页附图13页10申请。
3、公布号CN104221325ACN104221325A1/2页21一种方法,包括在网络环境中的刀片和配置服务器之间设立安全信道,其中所述刀片和所述配置服务器以多个参数互相认证和授权;通过所述安全信道从所述配置服务器向所述刀片下载虚拟机监视器VMM的镜像;以及启动所述镜像以在所述刀片上实例化所述VMM。2如权利要求1所述的方法,其中所述启动包括在所述刀片的存储元件上加载所述镜像;以及向所述镜像传输控制。3如权利要求1所述的方法,其中所述启动包括通过添加守护进程来修改所述镜像的根文件系统,从而使代理被包括在所述根文件系统中,其中所述代理可引发从所述配置服务器对对应于虚拟机的另一镜像的下载。4如权利。
4、要求3所述的方法,其中所述代理被配置为创建启动策略代理,所述启动策略代理能够联系所述配置服务器以获取所述另一镜像。5如权利要求1所述的方法,其中所述多个参数包括镜像参数、加密参数和网络参数,其中所述镜像参数包括镜像名称和路径、内核、内核启动选项、根文件系统和镜像类型,其中所述加密参数包括熵、配置服务器公钥、配置服务器私钥、证书和与刀片服务器共享的密钥,并且其中所述网络参数包括刀片互联网协议IP地址、网络掩码、网关IP地址、刀片标识符ID和配置服务器IP地址。6如权利要求1所述的方法,其中所述安全信道被使用传输层安全TLS协议设立。7如权利要求1所述的方法,其中所述镜像被使用超文本传输协议安全H。
5、TTPS协议下载。8如权利要求1所述的方法,其中所述多个参数的至少一部分被从管理所述刀片的交换机取得。9如权利要求1所述的方法,还包括拦截来自所述刀片的基本输入/输出系统BIOS的启动请求;以所述多个参数定制定制启动代理代码来生成启动代理,其中所述启动代理代码对于刀片服务器中的基本上所有刀片都是有效的;以及响应于所述启动请求向所述刀片传输所述启动代理。10如权利要求9所述的方法,其中所述启动代理的传输通过物理连接执行,所述物理连接是从由以下项组成的一组物理连接中选定的一个A以太网连接;B光纤连接;以及C非以太网连接。11一种编码在非暂时性介质中并包括用于执行的指令的逻辑,当所述指令被处理器执行。
6、时可操作来执行包括下述项的操作在网络环境中的刀片和配置服务器之间设立安全信道,其中所述刀片和所述配置服务器以多个参数互相认证和授权;通过所述安全信道从所述配置服务器向所述刀片下载VMM的镜像;以及权利要求书CN104221325A2/2页3启动所述镜像以在所述刀片上实例化所述VMM。12如权利要求11所述的逻辑,其中所述启动包括通过添加守护进程来修改所述镜像的根文件系统,从而使代理被包括在所述根文件系统中,其中所述代理可引发从所述配置服务器对对应于虚拟机的另一镜像的下载。13如权利要求11所述的逻辑,其中所述启动包括在所述刀片的存储元件上加载所述镜像;并且向所述镜像传输控制。14如权利要求11。
7、所述的逻辑,其中所述安全信道被使用TLS协议设立。15如权利要求11所述的逻辑,还包括拦截来自所述刀片的BIOS的启动请求;以所述多个参数定制启动代理代码来生成启动代理,其中所述启动代理代码对于刀片服务器中的基本上所有刀片有效;以及响应于所述启动请求向所述刀片传输所述启动代理。16一种装置,包括存储元件,该存储元件用于存储数据;以及处理器,该处理器执行与所述数据相关联的指令,其中所述处理器和所述存储元件合作以使所述装置被配置用于在网络环境中的刀片和配置服务器之间设立安全信道,其中所述刀片和所述配置服务器以多个参数互相认证和授权;通过所述安全信道从所述配置服务器向所述刀片下载VMM的镜像;以及启。
8、动所述镜像以在所述刀片上实例化所述VMM。17如权利要求16所述的装置,其中所述启动包括通过添加守护进程来修改所述镜像的根文件系统,从而使代理被包括在所述根文件系统中,其中所述代理可引发从所述配置服务器对对应于虚拟机的另一镜像的下载。18如权利要求16所述的装置,其中所述多个参数包括镜像参数、加密参数和网络参数,并且其中所述网络参数包括刀片互联网协议IP地址、网络掩码、网关IP地址、刀片标识符ID和配置服务器IP地址。19如权利要求16所述的装置,其中所述安全信道被使用TLS协议设立。20如权利要求16所述的装置,还被配置用于与能够执行包括下述项的管理应用进行通信拦截来自所述刀片的BIOS的启。
9、动请求;以所述多个参数定制启动代理代码来生成启动代理,其中所述启动代理代码对于刀片服务器中的基本上所有刀片都是有效的;以及响应于所述启动请求向所述刀片传输所述启动代理。权利要求书CN104221325A1/22页4用于网络环境中虚拟化镜像的安全配置的系统和方法技术领域0001本发明公开一般涉及通信领域,更具体地,涉及用于在网络环境中虚拟化镜像的安全配置的系统和方法。背景技术0002在信息技术IT市场中虚拟化的趋势驱动着许多虚拟化技术的发展,诸如网络虚拟化和计算虚拟化。网络虚拟化解决方案可将多个物理网络合并在一个虚拟网络中。它们还可在逻辑上将单一物理网络分割为多个逻辑网络。分区PARTITION。
10、可被添加以快速规模网络以适用业务需求。计算虚拟化例如,在单一物理平台上生成多个虚拟环境可依据硬件投资和物理空间允许计算平台的合并。网络和计算虚拟化代表了新的IT范例挑战现有的物理网络部署模型。网络和计算虚拟化提供了许多好处,诸如扩大单一IT资产对多用户的可用性,将多个IT资产管理为单个资源以及提供用于应用的专用虚拟网络,其将带来收入创造、开支减少和客户满意度。附图说明0003为了更加完整的理解本公开及其特征和优点,结合附图对下文的描述做出了参考,其中相同的标号表示相同的部分,其中0004图1是示出了用于在网络环境中的虚拟化镜像的安全配置的系统的简化框图;0005图2是根据本发明的一个实施例示出。
11、了系统示例细节的简化框图;0006图3是根据本发明的另一实施例示出了系统其它示例细节的简化框图;0007图4是示出了可能与系统的实施例相关联的示例操作的简化流程图;0008图5是示出了系统的实施例的示例细节的简化框图;0009图6是示出了系统的另一实施例的另外其它示例细节的简化框图;0010图7是示出了系统的另一实施例的另外其它示例细节的简化框图;0011图8是示出了系统的另一实施例的另外其它示例细节的简化框图;0012图9是示出了系统的另一实施例的另外其它示例细节的简化框图;0013图10是示出了可能与系统的实施例相关联的示例操作的简化流程图;0014图11是示出了可能与系统的实施例相关联的。
12、其它示例操作的简化流程图;0015图12是示出了可能与系统的实施例相关联的另外其它示例操作的简化流程图;0016图13是示出了可能与系统的实施例相关联的另外其它示例操作的简化流程图;0017图14是示出了可能与系统的实施例相关联的另外其它示例操作的简化流程图;0018图15是示出了可能与系统的实施例相关联的另外其它示例操作的简化流程图;0019图16是示出了系统的示例实验性实现的简化图;0020图17A是提供了上图的示例实验性实现的测量的表格;以及0021图17B是示出了示例实验性实现的测量的图表。说明书CN104221325A2/22页5具体实施方式0022概述0023示例方法包括在网络环境。
13、中的刀片和配置服务器之间建立安全信道。在此上下文中,术语“建立”可包括任何与发起、构建、供应或另外创建安全信道相关联的合适的活动。该方法还包括通过安全信道从配置服务器向刀片下载虚拟机监视器VMM的镜像,并且启动该镜像以在刀片上实例化VMM。刀片和配置服务器使用多个参数互相认证和授权。在特定的实施例中,参数可包括镜像参数、加密参数和网络参数。镜像参数的示例可包括镜像名和路径、内核、内核启动选项、根文件系统和镜像类型。加密参数的示例包括熵、配置服务器公钥、配置服务器私钥、证书以及与刀片服务器共享的密钥。网络参数的示例包括刀片互联网协议地址、网络掩码、网关IP地址、刀片标识符和配置服务器IP地址。0。
14、024在特定的实施例中,启动镜像可包括在刀片的存储元件上加载镜像以及向镜像传输控制。在另一实施例中,启动镜像可包括通过添加守护进程DAEMON修改镜像的根文件系统,以使得代理被包括在根文件系统中。代理通过安全信道引起对配置服务器的连接以从配置服务器下载对应于虚拟机的另一镜像。0025在一些实施例中,可使用安全传输层协议建立安全信道。镜像可使用超文本传输协议安全协议HTTPS被下载。在不同的实施例中,可从管理刀片的交换机取得多个参数的至少一部分。在另一实施例中,该方法还可包括拦截来自刀片基本输入/输出系统的启动请求,使用多个参数定制启动代理代码来生成启动代理以及响应于启动请求,将启动代理转移到刀。
15、片。启动代理代码可能对于刀片服务器中基本上所有的刀片都有效。在更为特定的实施例中,转移可以是通过物理连接,诸如以太网连接、光纤连接或非以太网连接的。0026示例实施例0027转向图1,图1是示出了用于在网络环境中虚拟化镜像的安全配置的通信系统10的简化框图。图1示出了网络12,其中客户端14通过网关18与虚拟机VM16进行通信。交换机20可通过一个或多个以太网电缆例如,10GE或光纤电缆从客户端14将通信路由至刀片服务器22。刀片服务器22可包含一个或多个刀片。如此处所用,术语“刀片”包含可通过网络例如,网络12为客户端例如,客户端14执行计算任务的计算机或处理器。刀片可包括诸如数据库服务器、。
16、文件服务器、电子邮件服务器以及网页服务器的服务器计算机;与诸如瘦客户端的客户端访问设备例如,客户端14协同操作的个人计算机例如,刀片PC;以及与刀片PC操作相似、具有更强计算能力的工作站例如,刀片工作站。刀片还可提供交换、路由、存储和光纤信道访问功能。刀片的示例是刀片服务器,其可以是优化以最小化物理空间和能源的使用的、具有模块化设计的精简服务器计算机。通常,刀片服务器包括模块化卡,其包括服务器、存储器、输入/输出以及非易失性程序存储例如,闪速存储器、硬盘驱动程序。0028通信系统10的实施例可提供计算虚拟化网络环境。在刀片服务器22中的刀片26的示例以包括虚拟机监视器VMM28而被更加详细的示。
17、出,其中VMM28托管VM16。VMM28可使用来自配置服务器32的无状态VMM镜像30而在刀片26上启动。如此处所用,术语“镜像”是包含代表软件例如,操作系统OS、应用的内容和结构的单一文件。在不同的实施例中,VMM镜像30可包括内核、根文件系统和其它VMM28的组件。镜像可能是“无状态的”或“有状态的”。“无状态的”镜像不包含软件或存储设备的状态例如,属性的快照,说明书CN104221325A3/22页6诸如在特定时刻的配置信息、用户配置等等。此外,“有状态的”镜像包含软件或存储设备的状态。例如,有状态的镜像可包含用户配置或设备配置,其特定于用户或设备呈现特定的镜像。在不同的实施例中,VM。
18、M镜像30可以是存储在存储设备34中的无状态镜像。因为VMM镜像30是无状态的,网络12中的多个刀片例如,26可访问和下载VMM镜像30以在其上实例化VMM28。0029VM16还可使用来自配置服务器32的无状态VM镜像36以被安装在VMM28上。在一些实施例中,VM镜像36可包括安装在其上的、包含VM16的操作系统例如,的镜像和若干应用例如,MICROSOFT等等。在另一实施例中,VM镜像36可包括多个镜像,该镜像包括针对操作系统和每一个应用的单独的镜像。在又一实施例中,VM镜像36可包括特定的操作系统镜像或特定的应用镜像二者中的一个。例如,在刀片26上完整安装的VM16可参与启动成千个VM。
19、镜像36,每一个镜像对应于特定的应用或操作系统。VM镜像36还可被存储在存储设备34上。管理应用38可通过使用启动代理代码42来使启动代理40被建立。0030如此处所用,术语“启动代理代码”指的是被配置为执行本文所述的各种启动操作的应用。尤其,启动代理代码42是对通信系统10中的基本上所有刀片有效的应用。术语“启动代理”指的是与启动代理代码相似的另一应用,但为在通信系统10中的特定的刀片例如,刀片26和特定的VM例如,VM16定制。在示例实施例中,启动代理40可能是启动代理代码42的变体,其具有多个在物理上被复制在程序指令中特定位置的参数特定于刀片26和/或VM16。在不同的实施例中,启动代理。
20、代码42可与多个参数混合以生成启动代理40,该参数特定于刀片26和/或VM16。管理应用38可将启动代理40转移到在刀片26上的基本输入/输出系统BIOS44以辅助对于刀片26的VMM镜像30和VM镜像36的安全配置。0031根据不同的实施例,通信系统10可实现对于裸金属刀片例如,刀片26和虚拟机例如,VM16的虚拟化软件例如VMM镜像30和VM镜像36的安全配置。如此处所用,术语“裸金属刀片”指的是不包含OS或任何软件的刀片。当刀片26被通电时,BIOS44可被执行,并且引导BOOTSTRAP可通过引导请求被激活。引导请求可被管理应用38拦截。管理应用38可从启动代理代码42建立启动代理40。
21、,并将启动代理40传到BIOS44。0032启动代理40可被存储在刀片26的存储元件例如,硬盘驱动程序中。启动代理40可被安装在存储元件例如诸如随机存取存储器RAM的易失性存储器上。启动代理40可使用多个参数建立配置服务器32的安全信道并将VMM镜像30下载至刀片26。VMM镜像36其后可被加载到刀片26的存储元件中,并且可接收来自启动代理40的控制。为了实例化VM16,VMM28可在VMM镜像下载过程期间通过包含守护进程而被定制,并且VMM28其后可安全地下载VM镜像36。0033如此处所用,术语“安全信道”指的是具有安全层例如,安全套接层SSL、传输层安全TLS等等的通信信道,例如其驻留于。
22、应用和传输层之间。密钥被用于保护信息流过安全信道并对通过安全信道进行通信的各方进行认证和授权。一般意义上来说,安全信道防止窃听、冒名和篡改。安全信道的安全性可通过VMM镜像30或VM镜像36的源例如,配置服务器32认证来实现,并且安全信道的隐私可通过密码加密方法来实现。在一些实施例中,配置服务器32的认证,例如,可使用加密证书例如,X509和/或加密共享说明书CN104221325A4/22页7密钥或公钥来实现,其中该加密共享密钥或公钥在启动刀片引导过程之前通过管理应用38在配置服务器和多个用于启动代理40的参数中被设立。0034为了说明通信系统10的技术,理解在给定系统诸如在图1中示出的系统。
23、中的通信是非常重要的。以下基础信息可被看作是本发明可被合理解释的基础。仅出于说明的目的诚挚地提供这类信息,因此其不应被理解为限制了本发明的广泛范围和其潜在的应用。0035启动是当电源被接通时计算机执行的一套操作。当计算机被打开,其开始引导过程,该引导引导过程将计算机带入其中的友好的界面能够使用户与计算功能顺利交互的状态。引导引导过程由从硬件到高层软件涉及整个计算机的基础设施的几个序列化步骤组成。在功能结构方面,与典型引导引导过程相关联的主要组件由硬件、BIOS、OS和应用。0036当计算机自被关闭之后再次被通电或接收软重新启动命令时,引导过程开始,并且当计算机准备执行其常规操作时,引导过程结束。
24、。该过程通常参与执行开机自测试、定位及初始化外部设备以及查找、加载及启动OS。开启计算机使电流流入硬件并使每一个计算机的硬件组件以及特别是中央处理单元CPU和其它处理器“芯片组”生成基本重置。对于重置的常规响应是基本状态,其中控制被传到BIOS。0037BIOS是驻留在计算机中的软件并且对于硬件是特殊的。在BIOS中,芯片组被初始化为定义明确的状态。其后,BIOS查找并发现OS,以及将控制传到OS。与BIOS不同,OS能够驻留在许多不同的介质中。通常,使用预定用户设置安置OS,诸如软盘驱动程序FDD、硬盘驱动程序HDD、CDROM、USB记忆棒、网络及其它。由于BIOS并不先天地知晓OS的位置。
25、,并且OS可能位于不同类型的介质中,BIOS通常使用两个过程中的一个以将控制传到OS1标准启动;以及2国际标准化组织ISO镜像下载。0038在常规启动过程中,BIOS访问计算机的本地存储介质,并在存储器中加载启动加载器,其后通过向启动加载器传输控制来完成其操作。启动加载器是小程序通常是OS的顶部例如,开头512字节的部分,其负责从介质例如,HDD向存储元件例如,RAM加载剩余的OS。计算机执行启动加载器以向RAM加载用来执行的剩余的OS、应用和其它数据。此方法允许在存储器中的OS的部分加载部分OS保留在介质例如,HDD中,并用于存储在计算机关机时保留下来的数据。这种启动过程被称为是“有状态的”。
26、,这是由于其在关闭时保留了信息。然而,有状态的过程可能导致计算机系统易受在关机时保留下来的病毒的攻击,这是因为,比如病毒被以硬件方式写入在介质上。0039有状态的引导例如,通过本地硬盘单元HDU或互联网小型计算机系统接口/光纤信道ISCSI/FC可能被关于软件的过往历史已被恶意软件修改的安全担忧困扰。此外,无状态的引导需要软件的最新副本以使每一个引导在内存盘例如,一块计算机系统看作磁盘驱动对待的RAM中被加载和执行。尽管无状态的引导在计算机中需要更多的RAM,其可能是减缓安全担忧的可接受的解决方法。无状态的引导通常是用于运行云环境的数据中心的首选的引导方法。然而,在当前的数据中心网络环境中在I。
27、SO镜像下载过程中使用不安全的协议诸如,动态主机配置协议DHCP和简单文件传输协议TFTP实现无状态引导。0040ISO镜像下载被执行于网络启动期间,这期间计算机从网络上而不是本地驱动例如,HDD、FDD上被启动。网络启动可被用于集中在机群计算其中节点可能不具有本说明书CN104221325A5/22页8地存储介质和其它此类的应用中的磁盘存储管理。在网络启动中,初始软件包括启动加载器和OS作为来自网络中服务器的镜像被加载。ISO镜像下载与场馆启动不同,这是由于在传输控制之前,完整的OS的软件镜像被下载和存储叜本地存储元件中。BIOS初始化网络连接例如,以太网连接并下载镜像。网络启动通常通过使用。
28、网络接口在预启动执行环境PXE中被执行,其独立于数据存储设备或已安装的操作系统。PXE通常被存储在伴随有计算机上的网络接口卡例如以太网卡的硬件只读存储器中。0041PXE启动过程遵循客户端服务器模型。存储OS镜像的PXE服务器配置DHCP和TFTP,并在其上运行它们。启动自检测过程后,客户端是在BIOS中配置的VM或刀片,其从网络上启动并执行PXE引导会话。起先,PXE过程在网络中查找DHCP服务器例如,通过广播扩展了PXE特定选项的DHCPDISCOVER分组。适当配置的DHCP服务器以网络参数作为响应以便逻辑上初始化网络连接和OS镜像名及位置。选择PXE启动服务器后,使用TFTP其是未加密。
29、的的PXE固件下载启动加载器,其中该启动加载器被上传到客户端的存储元件例如,RAM中。验证启动加载器后,启动加载器在客户端上执行启动过程、下载OS镜像以及向其传输控制。0042ISO镜像下载通常在每次引导中重复。开机/关机、计算机的重置或一般重启之后,OS镜像的最新副本被下载和激活。因此,在之前的会话中做出的任何修改例如,添加应用被失。尽管丢失的数据可影响生产率,这种无状态的引导相较于有状态的引导更加安全,这是由于当系统从OS镜像的最新副本重新启动时,通常,本质上每一个可能由恶意软件造成的污染均丢失。进一步地,PXE是较旧的协议被视为被更新和易受安全威胁的攻击。例如,DHC连接和TFTP协议易。
30、受到恶意软件攻击,这是由于他们缺乏安全性。0043现有的网络启动选项是使用VMEDIA来下载OS镜像。VMEDIA是在特定的机器中可用的启动选项,并且其允许来自磁盘类型介质的引导犹如该介质是本地介质那样分散在网络中。VMEDIA通常使用外部设置来初始化并且在BIOS可被设置为启动选项。VMEDIA看起来像正常的本地硬盘启动例如,标准启动,然而其实际上是具有关联的安全性担忧诸如镜像源的认证以及镜像完整性验证的镜像下载。0044在数据中心中,出于包括下述项的不同原因,在网络基础设施上加载计算平台软件可能是关键操作安全性例如,OS镜像源的认证、镜像传输和镜像完整性检查;性能例如,针对远程下载镜像的性。
31、能;以及管理例如,在镜像的建立、存储和定制方面的管理。此外,对于虚拟化平台,通常执行两个不同的操作1在裸金属刀片上下载VMM;以及2在VMM上下载VM操作系统和应用。0045对于这些选项中的每一个来说,安全性和性能可能是致使现有PXE启动选项不理想的问题。例如,对PXE提供安全信道以克服安全性问题可能是不可能的。伴随在现有数据中心基础设施中建立用于下载无状态镜像的安全信道而生成的附加问题包括在刀片上的BIOS代码可能不会为随机数发生器生成足够的熵来保证下载信道上的隐私;在BIOS中,身份、密钥和证书无法被安全地存储;ISO镜像下载协议作为使用TFTP的PXE,是不安全的并且不适于下载大镜像;P。
32、XE代码使用DHCP协议来获取关于网络和待下载镜像的信息,但DHCP协议由于自身性能不能在加密信道上运行。0046除了安全性,有关于从PXE服务器下载镜像的问题包括低性能例如,长时间启动、下载时间、镜像定制等等。除了镜像的大小可相对地大达到级几千兆字节的事实,说明书CN104221325A6/22页9当多个刀片在同一时间启动时,启动过程的管理,尤其是网络负载可能被妥协。特别当整个数据中心平台被打开时,网络负载可能会非常重。此外,镜像的存储和定制可能是一个问题。尽管每个刀片下载相同的镜像,被定制的副本应被制成添加熵和身份。这种操作可能需要与管理应用或其它管理员操作的特定的交互,其在当前的数据中心。
33、平台中未被提供。并且,尽管由于VMM的存在安全性担忧对于VM镜像下载来说不是那么重要,下载性能和镜像定制问题可能更难解决,这驱动着对于管理应用的集成的需要。0047当前对于引导过程的解决方案建议下载熵、密钥和镜像信息,然而,下载过程在PXE中,伴随着其内在的安全风险。例如,用于保护PXE的启动完整性服务BIS在共享相同的公钥的PXE客户端和PXE服务器之间建立排他关系。这避免了恶意PXE服务器通过网络随意分发未经请求的镜像的可能性。然而,通过网络的镜像传输是不安全的;因此,当镜像传输过程本身是非加密的时,BIS不能防止中间人攻击。0048通信系统10通过被配置为提供用于在网络环境中虚拟化镜像的。
34、安全配置的系统和方法来解决这些问题或其它问题。通信系统10的实施例可实现配置解决方案,其具有优化下载性能并与管理应用38集成用于安全镜像下载。启动代理40,其可包括启动加载器,可在刀片26和配置服务器32之间建立安全信道。启动代理40可通过特定于刀片26的多个参数来定制,并且刀片26和配置服务器32可通过多个参数互相认证和授权。启动代理40可通过安全信道将VMM镜像30从配置服务器32下载到刀片26,并且启动无状态VMM镜像30以在刀片26上初始化VMM28。参数可用于在刀片服务器22中的不同的刀片之间作出区别。例如,参数可包括镜像参数例如,VMM镜像30和VM镜像36的名称和路径、内核、内核。
35、启动选项、根文件系统和镜像类型、加密参数例如,熵、配置服务器公钥、配置服务器私钥、证书和与刀片服务器共享的密钥以及网络参数例如,刀片互联网协议IP地址、网络掩码和其它未来地址技术的地址规范、网关IP地址、刀片标识符ID和配置服务器IP地址。0049在一个实施例中,为了在刀片26中实例化VM16,VMM28可首先从VMM镜像30被实例化。BIOS44可被复制到VM16,并且VM启动可从该BIOS44的复制开始。管理应用38可拦截来自BIOS44的请求VM镜像36的启动请求,并将通过适当的用于VM16的参数定制的启动代理40传送到BIOS44。在另一实施例中,启动代理代码42可组成部分VMM28例。
36、如,以在VMM28的根文件系统内部的守护进程的形式,并且在VMM28之内的启动代理代码42可使用从管理应用38获取的适当的参数准备启动代理40,拦截VM启动请求并向VM16传送启动代理40。0050在不同的实施例中,启动代理40可从管理应用38被获取,其可被配置用于拦截来自BIOS44的启动请求,使用多个参数定制启动代理代码以生成启动代理40,并且响应于BIOS启动请求向刀片26传输启动代理40。启动代理代码42可能对于刀片服务器22中的基本上所有的刀片是有效的。通过适当地将参数改变为所期望的,启动代理代码42可针对刀片服务器22中的每一个刀片例如,26或每一个VM例如,VM16被定制。005。
37、1根据通信系统10的实施例,启动代理代码42可以是被称为GPXE的开放源码PXE实现方式。例如,启动代理代码42可在GPL2许可证、GPL3许可证或类似的许可证上执行的GPXE中被实现。GPXE代码可提供基本的传输控制协议/因特网互联协议TCP/IP栈和网络硬件管理。在不同的实施例中,本地网络通用网络设备接口UNDI驱动程序可被启动说明书CN104221325A7/22页10代理代码42用于启动过程,而不是使用DHCP或DHCP选项。UNDI是PXE和其它类似的环境使用的用于网络接口卡NIC的应用接口API。因此,DHCP协议可能对于启动代理代码42是可选的。启动代理代码42可通过存储单元接受。
38、参数,并与TLS和HTTPS协议以及多个NICS和UNDI驱动程序共同工作。尽管GPXE在此作为创建启动代理代码42的示例方法被提及,需要注意的是任何已知的方法可被用于创建启动代理代码42。例如,专有代码可使用TCP/IP栈和添加代码例如,计算机指令而被修改以与UNDI接口相接从而生成启动代理代码42。在不同的实施例中,刀片26和配置服务器32之间的安全信道可使用TLS协议来建立,并以包括熵和其它加密参数的参数来设立。0052启动代理代码42可作为黄金副本被存储在交换机20中,该黄金副本对于在刀片服务器22中的基本上每一个刀片和VM均有效。启动代理代码42可包括启动加载器。启动代理40可由启动。
39、代理代码42和特定于刀片26和VM16的多个参数构成。在一个实施例中,在启动代理40被传输到刀片26之前,将参数混合在一起。在一些实施例中,启动代理代码42在大小上可能近似于70K字节并且,例如,可通过VMEDIA在刀片26上使用虚拟软盘驱动器VFDD接口下载启动代理代码42。启动代理40的BIOS下载可通过VMEDIA而被保障安全,其可利用在刀片26和交换机20之间的硬件连接例如,有线的或无线的。管理应用38可以使得启动代理代码42的副本被创建并且使得例如大小为2K字节的参数被以硬件方式写入启动代理代码42的副本以生成启动代理40。0053根据不同的实施例,启动代理40的下载的安全性可通过刀。
40、片26和交换机70之间的物理连接例如,以太网连接来保障,并且配置服务器32和刀片26之间的安全信道的安全性能够通过多个参数来保障。启动代理40的安全性还可通过任意可行的方法来获取,包括通过VMEDIA连接的启动代理40的安全下载;在启动代理代码42已经呈现在刀片上的情况下通过刀片26和管理应用38之间的直接通信传输参数;以及其它方法。0054在一个实施例中,当启动代理代码42和多个参数二者均在管理应用38中时,可在管理应用38中执行启动代理代码42和多个参数的混合。随后,启动代理40可通过在管理应用38和刀片26之间的VMEDIA被传输到刀片26。VMEDIA请求由管理应用38在例如交换层级来。
41、解释和管理。使用VMEDIA的启动方法是有状态启动,并且当启动代理40的启动加载器部分例如代码的开头512个字节在刀片存储器中被执行时,剩余的启动代理40可被传输到刀片26。由于在刀片26和交换机20之间的物理连接,这样的传输可能是安全的。0055在另一示例实施例中,可在BIOS44中执行对启动代理代码42和多个参数的混合。在多个参数在管理应用38中、并且启动代理代码42被保存在刀片26例如,作为选项只读存储器ROM中的实施例中,BIOS44可使用与管理应用38连接的安全连接获取多个参数,随后从刀片26内部获取启动代理代码42。BIOS44可将启动代理代码42与多个参数混合来生成启动代理40、。
42、在存储器中加载启动代理40并执行启动代理40。在另一示例实施例中,启动代理代码42可能是BIOS44其自身的一部分,并且BIOS44可通过安全连接从管理应用38获取多个参数,并将启动代理代码42与该多个参数混合以生成启动代理40。其后,BIOS44可在存储器中加载启动代理40并执行启动代理40。0056在一些实施例中例如,在刀片26上启动VMM28,启动可包括向刀片26的存储元件加载VMM镜像30,并从启动代理40向VMM镜像30传输控制。在其它实施例中例如,说明书CN104221325A108/22页11在VMM28上启动VM16,启动可包括通过安全信道从配置服务器32下载脚本。脚本可包括将。
43、守护进程例如进程复制到配置服务器32中的初始内存盘INITRD中。初始内存盘INITRD是用于在安装真正的根文件系统之前,在启动过程中在存储器中加载临时文件系统的方案。INITRD可执行硬件检测、模块加载和设备发现以获取已安装的真正根文件系统。启动代理40可将INITRD下载至刀片26的存储元件,并通过添加守护进程来修改VMM镜像30的根文件系统,以便使代理被包括在根文件系统中。代理可通过安全信道引发到配置服务器32的连接以下载对应于VM16的VM镜像36。0057在其它不同的实施例中,为了创建VM例如创建VM16,从其可启动VM16的启动代理40可由VMM28定义。遵循在管理应用38中的启动。
44、策略代理的指示,VMM28可创建启动代理40,其中创建从启动代理代码42其可能已经在刀片26中被呈现开始并添加从管理应用38获取的多个参数。“启动策略代理”指的是一种方法,通过该方法启动选项的配置被传播到通信系统10的各种组件。通常,负责配置的实体例如,通过GUI的客户可生成启动策略,其中通过使用特定的启动策略代理来传播启动策略。启动代理40可通过配置服务器32创建安全信道,并从那里下载VM镜像36。VM镜像36被启动以在刀片26中实例化VM16。在另一实施例中,VM16可通过激活VMEDIA启动选项来被创建,以便使从启动代理代码42与多个参数的混合生成的启动代理40可从管理应用38被下载。0。
45、058在不同的实施例中,配置服务器32可认证刀片26,检查启动请求和验证镜像名称。配置服务器32可通过安全信道向刀片26提供VMM镜像30和VM镜像36。管理应用38可使用参数设立配置服务器32,该参数包括网络IP地址;与TLS协议一起使用的证书;公钥和密钥;以及对于每一个其支持的刀片刀片标识符和与刀片服务器共享的密钥。0059转向通信系统10的基础设施,网络拓扑可包括任意数量的相互连接的交换机、刀片服务器、刀片、VM、VMM、配置服务器、网关和其它节点以形成大型和复杂的网络。“节点”可能是任意电子设备、客户端、服务器、对等体、服务、应用或其它能够通过网络中的通信信道实现发送、接收或转发信息的。
46、对象。图1中的的元件可采用任何适当的连接有线的或无线的通过一个或多个接口彼此耦合,其为电子通信提供了可行的路径。此外,基于特定的配置需要,这些元件中的任何一个或多个可从该结构中被组合或被移除。通信系统10可包括能够实现用于网络中的电子传输或数据分组接收的TCP/IP通信的配置。在适当的情况下或给予特定的需要,通信系统10还可与用户数据报协议/互联网协议UDP/IP或其它任何适当的协议协同操作。此外,网关、路由器、交换机和其它任何适当的节点物理的或虚拟的可被用于辅助在不同的网络之间的电子通信。0060在一些实施例中,网络12可包括一个或多个网络元件,其中当通过管理应用38添加管理功能时,该网络元。
47、件在底板层集成计算、连网和存储。如此处所用,术语“网络元件”意在于包含计算机、网络装置、服务器、路由器、交换机、结构互连、网关、网桥、负载平衡器、防火墙、处理器、模块或可操作用于在网络环境中交换信息的对象的任何其它适当的设备、组件、元件。此外,网络元件可包括任何适当的硬件、软件、组件、模块、接口或有助于其操作的对象。这将可能包括适当的、能够实现数据或信息的有效交换的算法和通信协议。0061管理应用38是能够在任何适当的网络元件上运行的应用例如,计算机程序,该网络原件被配置为执行本文所述的操作。例如,管理应用38可在交换机20内的结构互连例如,CISCOUCS6100系列结构互连上运行,该交换机。
48、20支持几个上行或下行连接说明书CN104221325A119/22页12或端口。出于冗余的目的,容宿HOUSE管理应用38的结构互连可与一个或多个类似的装置捆绑成束。通过管理应用38,结构互连可管理一个或多个刀片服务器22。刀片服务器22可支持一些刀片例如,刀片26。0062在一些实施例中,刀片服务器22可被覆盖在刀片服务器机箱重,其支持多个刀片例如,八个刀片。在一些实施例中,托管管理应用38的结构互连可被固定在刀片服务器机箱的顶端并且可负责刀片服务器22的整体管理。在一些实施例中,交换机22和刀片服务器22可位于一个物理外壳例如机箱中。除交换机、刀片服务器和其它在图1中被说明的组件之外,网。
49、络12还可包括结构扩展器、机架安装服务器和网络适配器。此外,各种局域网LAN和存储区域网SAN可能是网络12的一部分。在一些实施例中,当VM上的应用在其上运行时,LAN或SAN可托管配置服务器32。0063管理应用38可包括适当的图形用户界面GUI或命令行界面CLI以向网络管理员显露各种功能。在示例实施例中,管理应用38可通过本机的可扩展标记语言XML应用接口API来显露其功能。GU和CLI还可使用XMLAPI;此外,用户可创建其自身与API的前端用户接口。例如,在多租户环境中的部署可具有用于每一个租户的定制GUI。其它实现可使用API以连接配置管理数据库或第三方管理和配置工具。0064启动代。
50、理40是在刀片26中执行以实现本文所述操作的应用。配置服务器32是在数据中心平台中的网络元件中的VM中运行的应用。例如,配置服务器32可在刀片服务器22中的另一刀片中运行。或者,配置服务器32可在连接至交换机20的除刀片服务器22之外的另一刀片中运行。多个配置服务器32的实例可在通信系统10中的任何时刻运行。当多个刀片在同一时间执行引导时,多个配置服务器32的实例可优化下载时间。例如,多个实例可管理在不同机箱中的不同刀片,优化了网络负载。0065刀片26和配置服务器32之间的连接可在管理应用38的层级被定义。例如,该连接可能是通过安全信道的。在一些实施例中,安全信道可能是TLS协议信道,并且下。