共享映像安装映像流的制作方法

文档序号:30058545发布日期:2022-05-17 20:07阅读:103来源:国知局
共享映像安装映像流的制作方法
共享映像安装映像流


背景技术:

1.计算节点可以具有根文件系统。通常,根文件系统包括用于将计算节点启动到正常可用状态的文件和目录。其他文件系统可以安装在根文件系统的顶部。当被存储在计算节点的持久性存储装置中时,根文件系统能在计算节点断电或复位后继续存在(survive)。因此,根文件系统能在计算节点每次启动后存留。计算节点可以将其根文件系统存储在非持久性存储装置(例如,随机存取存储器(ram))中,诸如无磁盘计算节点的情况。这种计算节点的根文件系统无法在计算节点断电或复位后继续存在,并且因此,计算的每次启动都涉及在计算节点上安装根文件系统。出于此目的,将包含根文件系统的安装映像传输到计算节点。在这两种情况下(持久性存储装置和非持久性存储装置),都可以将安装映像传输到计算节点。然而,在非持久性存储装置的情况下,在每次启动时都配设根文件系统。
附图说明
2.图1是根据示例实施方式的计算节点集群的示意图。
3.图2是根据示例实施方式的用于集群的安装流共享的设置的图示。
4.图3是根据示例实施方式的安装流共享的图示。
5.图4是描绘根据示例实施方式的用于共享传送安装映像的安装流的过程的流程图。
6.图5是根据示例实施方式的指示辅助计算节点共享安装映像的计算节点的示意图。
7.图6是根据示例实施方式的存储用于使机器与另一个计算节点共享安装映像的可执行指令的非暂态机器可读存储介质的图示。
具体实施方式
8.集群可以具有相对大量的(例如,数百至数千或甚至数万个)计算节点(例如,无磁盘计算节点),计算节点将其相应根文件系统存储在非持久性存储装置中。当这种集群重新启动时,由于在计算节点上重新安装根文件系统时所涉及的网络流量的量较大,因此及时地启动计算节点可能具有挑战性。更具体地,当集群中的计算节点(在本文中也被称为“客户端计算节点”)启动时,客户端计算节点提交启动请求,并且集群中的维护计算节点响应于请求而将启动映像传送到客户端计算节点。启动映像在客户端计算节点上建立节点安装环境(例如,缩小的微型根文件系统),并且节点安装环境处理客户端计算节点上根文件系统的安装。作为根文件系统在客户端计算节点上的安装的一部分,客户端计算节点的节点安装环境请求并接收安装映像。
9.在此背景下,“安装映像”通常是指表示根文件系统的数据的集合。例如,安装映像可以包含表示目录结构的数据,目录结构包含如与操作系统内核相对应的文件、可执行文件、配置文件、操作系统启动加载程序等文件。
10.安装映像可以相对较大(例如,安装映像的大小可以为一千兆字节(gb)到四十gb,
如果不更大的话)。对于具有相对大量(例如,数千个,如果不是数万个的话)客户端计算节点的集群,如果不采取适当的措施,则在集群启动时对应的相对大量的安装映像传输可能会使集群的网络饱和、延长客户端计算节点启动时间并且限制集群的整体计算节点可伸缩性。
11.有多种潜在方式可以用于将安装映像传输到集群中的客户端计算节点。例如,基于文件同步的传输(例如,使用被称为“rsync”的基于linux操作系统的实用工具的基于文件同步的传输)是用于将安装映像传输到客户端计算节点的一种潜在方式。利用基于文件同步的传输,在服务器与客户端计算节点之间进行安装映像的完整传输。此类型的传输的挑战在于,由于网络饱和约束,给定服务器可能被限制为将安装映像提供到相对少量的(例如,十个到二十个)客户端计算节点。
12.用于将安装映像传输到客户端计算节点的另一种潜在方式是通过使用对等文件共享协议(例如,bittorrent协议)。利用对等文件共享协议,安装映像由单个归档文件(例如,磁带归档(tar)文件)表示,并且单个归档文件以乱序组块传送到客户端计算节点,其中每个客户端计算节点将组块传送到其他客户端计算节点。由于将安装映像存储为单个归档文件,因此在安装周期期间安装映像中的任何更改都可能产生版本断开连接,版本断开连接意味着一些客户端计算节点可能无法完成下载安装映像。此外,由于所有客户端计算节点都互相辅助,因此如网络交换机到网络交换机链接等网络约束可能会使网络的各部分匮乏;并且使用对等文件共享协议控制网络使用流程通常可能会具有挑战性。
13.用于将安装映像传输到客户端计算节点的另一种潜在方式是通过使用多播网络运输机制。然而,在配置和维护用于多播传输的网络交换机的适当操作时可能会出现挑战。并非所有网络交换机都可以适当地传递网络流量,并且使客户端计算节点分离为各种虚拟网络可能会在维护和更新与不同供应商相对应并具有不同环境的网络交换机时施加高管理开销。
14.根据本文描述的示例实施方式,集群使用安装流共享来将安装流从安装服务器传送到客户端计算节点。在此背景下,“安装流”是在提供方节点与客户端计算节点之间传送的并且是指整体上传送安装映像的数据时间序列。“提供方节点”可以是安装服务器或另一个客户端计算节点(本文中被称为“辅助计算节点”)。“安装流共享”是指由辅助计算节点采取以复制由辅助计算节点接收的安装流并且将复制的安装流提供到其他对等客户端计算节点的行动。以此方式,根据示例实施方式,给定辅助计算节点是客户端计算节点,客户端计算节点在给定辅助计算节点在从安装服务器接收安装流时将安装流提供到集群中的至少一个其他客户端计算节点。如本文所描述的,根据示例实施方式,以最小化网络拥塞的方式选择辅助计算节点以及从辅助计算节点接收安装流的其他客户端计算节点。
15.使用本文描述的安装流共享,即使对于包含大量计算节点(例如,数千或数万个计算节点)的集群并且即使对于相对较大的(例如,一gb到四十gb,如果不是更大的话)安装映像,也可以在相对较短的时间内启动集群中的计算节点。安装流共享是稳健的并且容忍网络交换机的异构性。安装流共享可以避免如多播协议等精细网络链接层协议;安装流共享可以避免文件块列表共享的复杂性(例如,播种器、跟踪器和相关联基础设施)。此外,利用安装流共享,可以在不使集群的网络饱和并且不显著影响客户端计算节点启动时间的情况下,放大用于集群的客户端计算节点数量。
16.参考图1,作为更具体的示例,根据一些实施方式,集群100包括将其根文件系统存储在易失性存储器中的客户端计算节点150。例如,根据一些实施方式,每个客户端计算节点150可以具有存储在客户端计算节点150的易失性存储器(例如,ram)中的根文件系统(例如,临时文件系统(tmpfs)文件系统)。由于客户端计算节点150的根文件系统存储在易失性存储器中,因此在每次启动客户端计算节点150时进行对根文件系统的重新安装。在此背景下,客户端计算节点150的“启动”或“重新启动”通常是指客户端计算节点150的启动序列,启动序列是响应于客户端计算节点150的上电或复位而发生的。
17.根据另外的示例实施方式,一个或多个客户端计算节点150可以具有持久性存储装置并且可以将其相应根文件系统存储在持久性存储装置中。虽然这种客户端计算节点150可能不会在每次启动时都重新安装其根文件系统,但是当客户端计算节点150安装其根文件系统时,本文描述的安装流共享可以用于将安装映像传输到这些客户端计算节点150。
18.根据示例实施方式,除了客户端计算节点150之外,集群100还包括如头计算节点114和领导计算节点130等维护计算节点110。维护计算节点110通常管理客户端计算节点150,包括为客户端计算节点150配设安装映像。根据示例实施方式,此配设包括指示某些客户端计算节点150(在本文中被称为“辅助计算节点154”)与其他客户端计算节点150共享其接收的安装流;并且配设包括指示一些客户端计算节点150从辅助计算节点154而不是从安装服务器接收其安装流。
19.根据示例实施方式,头计算节点114是集群100的主要或首要维护计算节点。通常,领导计算节点130是集群网络100的附加维护计算节点110,附加维护计算节点110被委派管理职责以防止头计算节点114过载。
20.根据示例实施方式,头计算节点114可以由实际软件和实际硬件制成的实际物理机器形成。例如,头计算节点114可以包括一个或多个处理器118(例如,中央处理单元(cpu)、cpu处理核等)和存储器122。作为示例,存储器122可以存储机器可执行指令,机器可执行指令在由(多个)处理器118执行时形成集群管理器126。存储器122通常是非暂态存储介质,非暂态存储介质可以由半导体存储设备、基于忆阻器的存储设备、磁存储设备、相变存储器设备、这些存储技术中的一种或多种存储技术的组合等形成。此外,存储器122可以表示不同存储类型的组合,如易失性存储器和/或非易失性存储器。物理机器可以采用许多不同形式之一,如一个或多个机架安装模块、台式计算机、膝上型计算机、平板计算机、智能电话、可穿戴计算机等。取决于特定实施方式,头计算节点114可以由整个实际物理机器或其一部分形成。此外,根据一些实施方式,头计算节点114可以包括和/或对应于实际物理机器的一个或多个虚拟部件,诸如一个或多个虚拟机、一个或多个容器等。
21.以类似的方式,根据示例实施方式,集群100中的其他计算节点(诸如领导计算节点130和客户端计算节点150)也可以由对应的实际物理机器形成;可以或可以不对应于其对应物理机器的整体;并且可以包括和/或对应于其对应物理机器的一个或多个虚拟部件。尽管维护计算节点110如上文所指出的将其相应根文件系统存储在持久性存储装置中,但是根据示例实施方式,客户端计算节点150不将其相应根文件系统存储在持久性存储装置中。
22.根据示例实施方式,在集群100启动时,集群中的一个或多个安装服务器116将集群100配设成用于安装流共享,包括为安装流共享中的某些角色指定某些计算节点150并且
服务安装映像。根据示例实施方式,给定安装服务器116可以由包括实际软件和实际硬件的实际物理机器的全部或一部分形成。例如,根据一些实施方式,安装服务器116可以对应于特定维护计算节点110(即,头计算节点114或领导计算节点130)并且可以服务于一个或多个安装流。根据另外的实施方式,安装服务器116可以是专用物理机器。根据一些实施方式,安装服务器116可以是托管(host)在物理机器上的虚拟服务器(例如,容器、虚拟机等)。根据示例实施方式,安装服务器116可以处于头计算节点114和/或领导计算节点130上,即,头计算节点和/或领导计算节点130可以充当安装服务器116。
23.更具体地,根据示例实施方式,作为安装流共享配设的一部分,安装服务器116可以将某些客户端计算节点150指定为“辅助计算节点154”。根据示例实施方式,每个其他剩余客户端计算节点150(在本文中被称为“客户端计算节点158”)被配置成从安装服务器116或辅助计算节点154接收其安装流。如本文中进一步描述的,一个或多个安装服务器116将安装流提供到辅助计算节点154,其中每个安装流传送安装映像。每个辅助计算节点154进而为其接收的安装流提供客户端计算节点158中的一个或多个客户端计算节点。通常,根据示例实施方式,辅助计算节点154是客户端计算节点150,客户端计算节点150接收安装流并且已经由安装服务器116指导与一个或多个其他客户端计算节点158共享接收的安装流。此外,一个或多个安装服务器116可以将一个或多个安装流直接提供到客户端计算节点158的一个或多个客户端计算节点,并且对于这些情况,不使用安装流共享。
24.如图1所描绘的,根据示例实施方式,头计算节点114、领导计算节点130、安装服务器116、辅助计算节点154和对等计算节点158经由网络架构140彼此通信。通常,网络架构140可以包括与一种或多种类型的通信网络(诸如(作为示例)光纤通道网络、iscsi网络、以太网上ata(aoe)网络、hyperscsi网络、gen-z架构、专用管理网络、局域网(lan)、广域网(wan)、全球网络(例如,因特网)、无线网络或其任何组合)相关联的部件和使用协议。此外,根据示例实施方式,网络架构140包括网络交换机141,并且网络交换机141中的最少一些网络交换机可以经由网络布线(例如,以太网电缆)连接到每个。如本文中进一步描述的,出于配设安装流共享的目的,考虑并避免由于网络交换机到网络交换机布线而引起的潜在网络饱和瓶颈。
25.根据一些实施方式,集群网络100可以包括集群管理器数据库127。尽管在图1中描绘为可经由网络架构140访问,但是根据另外的实施方式,集群管理器数据库127可以本地存储在维护计算节点110之一(诸如头计算节点110)上的存储装置中。此外,根据另外的示例实施方式,集群管理器数据库127可以分布在集群100的若干个位置之上。
26.根据一些实施方式,集群管理器数据库127存储定义了维护计算节点110的管理角色和客户端计算节点150的安装流共享角色的数据。此外,根据示例实施方式,集群管理器数据库127可以存储表示网络配置细节的数据,数据可以用于分配安装流共享角色。
27.根据一些实施方式,集群管理器数据库127可以具有与相应客户端计算节点150相对应的条目并且包含表示客户端计算节点150的网络相关细节的数据。例如,集群管理器数据库127中用于给定客户端计算节点150的条目可以具有标识客户端计算节点150所连接到的特定网络交换机141和端口的信息。从集群管理器数据库127中包含的信息中,集群管理器126或人工集群管理员可以以避免使网络基础设施饱和的方式来标识客户端计算节点150的安装流共享角色,如本文进一步所描述的。根据示例实施方式,集群管理器数据库127
可以存储表示其他信息的数据条目,诸如集群100的计算节点的角色分配(例如,指定维护计算节点110的角色的信息、指定辅助计算节点154的信息、指定安装服务器116的角色的信息等)以及每个辅助计算节点154所服务于的计算节点158的列表。
28.根据示例实施方式,可以在两个ssh连接端点之间通过安全外壳(ssh)管道传输安装流。作为示例,给定辅助计算节点154和安装服务器116可以协商ssh参数以设置两个对应的ssh端点。在通过这些ssh连接进行的ssh会话中,安装服务器116可以将磁带归档(tar)文件(即,对于此示例为“安装映像”)作为“tar流”传输或管道输送(pipe)到辅助计算节点154。这里,“tar流”是指在流中在ssh连接之间传送或管道输送的tar文件(而不是作为单个文件发送的tar文件)的内容。即,根据示例实施方式,在发送方(例如,安装服务器或辅助计算节点154)处生成tar流,同时发送tra流,直到没有更多的文件和/或目录要发送为止,并且此时,表示文件和/或目录的数据的发送完成。根据示例实施方式,在tar流的传输中没有创建中间文件。
29.作为更具体的示例,根据一些实施方式,“/images/rhel8-compute”可以是表示计算节点的根文件系统的根文件系统树所驻留于的目录。根据示例实施方式,安装流的发送方(例如,安装服务器116或辅助计算节点154)不使tar归档文件出自“/images/rhel8-compute”,而是发送方开始tar流,使得发送方在数据离开发送方时通过命令来对与“/images/rhel8-compute”相对应的所有数据进行管道输送。换句话说,根据示例实施方式,由于流式传输(streaming)涉及直接发送表示根文件系统的数据直到所有数据都已发送为止,因此在发送方处未创建实际归档文件。根据另外的实施方式,可以使用其他数据包和/或数据传输技术来传输安装流。例如,根据另外的实施方式,可以通过ssh管道使用基于rsync的文件传输。
30.作为概述,集群100可以如下启动。每个客户端计算节点150在其启动的初始阶段通过集群网络来传送启动请求,并且集群管理器126通过使维护计算节点110(即,头计算节点114或领导计算节点130)将启动映像提供给计算节点150来进行响应。启动映像将客户端计算节点150配置成启动到包含集群管理器126的工具链的节点安装环境180中。如本文所描述的,根据示例实施方式,节点安装环境180包括被称为“辅助管理器155”的实用程序或工具,辅助管理器155管理并辅助为已经被指定为辅助计算节点154的客户端计算节点150设置安装流共享,并且节点安装环境180包括被称为“对等管理器159”的实用程序或工具,对等管理器159管理并辅助为非辅助客户端计算节点158设置安装流的接收。
31.对于其中客户端计算节点150将其根文件系统存储在无法在客户端计算节点150的断电或复位中继续存在的易失性存储器内文件系统中的示例实施方式(例如,客户端计算节点150使用tmpfs内存文件系统的实施方式),节点安装环境180首先通过安装存储器内文件系统来分配客户端计算节点150的系统存储器。对于其中客户端计算节点150将其根文件系统存储在持久性文件存储装置中的示例实施方式(例如,使用网络文件系统(nfs)的客户端计算节点150),节点安装环境180首先在客户端计算节点150的磁盘驱动器上创建分区并且然后创建要与根文件系统一起使用的初始文件系统。
32.在分区(如果有的话)和文件系统被创建之后,客户端计算节点150的节点安装环境180发出或提供安装请求。取决于特定实施方式,安装请求表示将安装映像传输到客户端计算节点150的初始文件系统或tmpfs安装点上的请求。根据示例实施方式,安装服务器116
根据三种情况之一来响应安装请求,这取决于请求客户端计算节点150在安装映像的传输中所扮演的角色。
33.对于第一种情况,尚未指定客户端计算节点150参与安装流共享(即,不涉及辅助计算节点154),并且安装服务器116设置客户端计算节点150以直接从安装服务器116接收安装流。例如,根据示例实施方式,安装服务器116和客户端计算节点对应于ssh连接的端点,并且安装服务器116经由ssh连接将包含安装映像的tar流传送到客户端计算节点150。
34.结合图1参考图2(描绘了安装流共享的设置的图示200),对于第二种情况,客户端计算节点150已经被指定为辅助计算节点154,并且通过使用辅助管理器155,安装服务器116发送用于向节点安装环境180指示计算节点是辅助计算节点154并且要与一个或多个其他对等客户端计算节点158并行共享计算节点所接收的安装映像的辅助指令210。
35.根据示例实施方式,辅助指令210包括辅助计算节点154将与之共享其安装流的对等客户端计算节点158的列表。根据示例实施方式,在到辅助计算节点154的安装流开始之后,安装流共享开始于辅助管理器155开始到列表上的(多个)对等计算节点158的(多个)附加安装流。根据示例实施方式,在传入的安装流中的数据字节由辅助计算节点154接收时,辅助计算节点154并行地将数据字节发送到列表上的(多个)对等客户端计算节点158,同时辅助计算节点154还将数据字节写入到(多个)其自己的磁盘驱动器或tmpfs(取决于特定实施方式)。
36.对于第三种情况,客户端计算节点150已被指定为作为由辅助计算节点154提供的安装流的接收方的客户端计算节点158。通过使用客户端计算节点158的对等管理器159,安装服务器116发送重定向指令214。尽管对于此情况,不使用客户端计算节点158来与其他计算节点共享其接收的安装流,但是指令214通知客户端计算节点158安装服务器116不需要计算节点158的辅助,并且指令214进一步通知客户端计算节点158安装流将由特定的辅助计算节点154服务或提供,而不是由安装服务器116直接提供。
37.根据示例实施方式,如果由安装服务器116指示给定客户端计算节点158安装映像在由特定的辅助计算节点154提供,则客户端计算节点158等待安装会话从此特定的辅助计算节点154开始。根据示例实施方式,出于安全性目的,客户端计算节点158的对等管理器159可以设置防火墙或其他机制(例如,ssh配置)以阻止除了要提供安装映像的预期辅助计算节点154之外的所有辅助计算节点154。以此方式,客户端计算节点158可以限制会话和安全暴露,否则会话和安全暴露可能被攻击者利用。此外,这种信息允许客户端计算节点158避免不期望的安装尝试。
38.如上文所提到的,可以通过多种不同的输送机制中的任何一种来传输两个计算节点之间的安装流(如通过ssh管道输送的tar流、通过ssh管道输送的rsync等)。不管使用哪种输送机制,安装流都处于两个计算节点(提供方计算节点与接收方计算节点)之间;并且安装流涉及安装映像从提供方计算节点到接收方计算节点的完全传输。在接收方客户端计算节点150接收安装映像并安装其根文件系统之后,客户端计算节点150则可以开始其操作系统的启动,这可以包括例如执行操作系统加载程序以加载操作系统以及将接收方计算节点150的控制传输到加载的操作系统。
39.图3是描绘了根据示例实施方式的安装流共享的图示300。结合图1参考图3,作为安装流共享的一部分,给定辅助计算节点154从安装服务器116接收映像安装流304。通过将
对应安装流308提供到这些对等计算节点158中的每一个,辅助计算节点154同时与指定的一组对等客户端计算节点158并行地共享映像安装流304。
40.返回参考图1,网络架构140可以具有多层网络交换机141。当连接两个网络交换机141以扩展网络架构140时,这两个网络交换机141之间的链接可能会潜在地引入安装映像传输的性能瓶颈。更具体地,网络交换机到网络交换机通信可以涉及网络布线(例如,在网络交换机之间延伸的以太网网络布线),并且与网络交换机内部的背板通信不同,网络布线连接可以是可以成为网络饱和点的相对较低的带宽连接。根据示例实施方式,可以选择客户端计算节点150在安装流共享中的角色,以最小化网络交换机到交换机通信。
41.作为更具体的示例,如果客户端计算节点n1至n24例如通过背板连接连接到网络交换机一号,并且客户端计算节点n25至n48通过背板连接到网络交换机二号,则可以优先将客户端计算节点n1至n24中的一些客户端计算节点指定为辅助计算节点154,辅助计算节点与节点n1至n24中的其他节点共享其安装流。例如,当设置安装流共享时,安装服务器116可以指示计算节点n1在安装时辅助计算节点n2至n13。继续该示例,也可以优先不使客户端计算节点n1至n24辅助客户端节点n25至n48的安装。例如,当设置安装流共享时,安装服务器116可以不使客户端计算节点n1辅助客户端计算节点n26的安装,以避免使网络交换机一号与网络交换机二号之间的链接饱和。
42.根据示例实施方式,可以基于系统的网络层级来确定对安装流共享角色的选择。例如,如果客户端计算节点150由机架和底盘号命名,并且此命名遵循网络拓扑,则例如,可以确定机架一和机架二中的计算节点由同一网络交换机服务。根据一些实施方式,安装服务器116可以动态地决定动态分配给安装服务器116的一组客户端计算节点150的安装流共享角色。例如,根据一些实施方式,集群管理器126可以等待预定数量的安装请求并且将安装服务器116分配给这些请求;并且安装服务器116可以将角色分配给对应的分配的客户端计算节点150。根据另外的示例实施方式,集群管理器126可以确定安装共享角色并且将这些角色传送到安装服务器116。根据另外的示例实施方式,可以预先指定角色(例如,由人工管理员确定)并且将这些角色存储在集群管理器数据库127中。
43.根据示例实施方式,安装服务器116等待安装请求,即,由客户端计算节点150的节点安装环境针对安装映像提交的请求。根据示例实施方式,安装服务器116具有群集的网络的拓扑的知识并且准备指示某些客户端计算节点150复制其安装流或与集群100中的其他对等客户端计算节点150共享其安装流。根据示例实施方式,在接收到安装请求时,安装服务器116发送出辅助指令210(图2)和重定向指令214(图2)。例如,如果288个客户端计算节点150在请求安装映像,则安装服务器116可以将客户端计算节点150中的十二个客户端计算节点指定为辅助计算节点154,并且指示剩余的客户端计算节点150直接从这些辅助计算节点154或从安装服务器116接收其安装映像。这避免了网络饱和,因为来自安装服务器116的流的数量保持为相对较低的数量。
44.根据示例实施方式,安装服务器116确定多少个客户端计算节点150在请求安装映像以及客户端计算节点150在网络基础设施中的位置。应注意,取决于特定实施方式,所有客户端计算节点150可以重新启动一次,或者根据示例实施方式,客户端计算节点150可以在相应批次中在不同时间启动。
45.根据示例实施方式,在每个客户端计算节点150开始其节点安装环境180时,用于
安装请求的实际信令可以来自客户端计算节点150。然而,这可能表示对安装服务器116的挑战,因为安装服务器116应能够缩放安装。供客户端计算节点150帮助对安装的缩放的一种方式是供客户端计算节点150在客户端计算节点158执行其网络启动时联系安装服务器116。然而,安装服务器116可能不知道在任何一次将有多少个客户端计算节点150在请求安装。
46.根据示例实施方式,安装服务器116可以等待预定时间段供一组客户端计算节点150启动。例如,根据一些实施方式,安装服务器116可以在对应的安装会话中发起任何安装之前,在其第一安装请求之后等待预定时间段,诸如二十秒(作为示例)。在这二十秒中,重新启动的大部分客户端计算节点150很可能已经以安装请求联系了安装服务器116。在二十秒到期之后,每个安装服务器116则可以针对其已联系安装服务器116的一组客户端计算节点150来计算在每个网络交换机后面有多少个客户端计算节点150;并且然后,安装服务器116可以构造列表,该列表指明辅助计算节点154、每个辅助计算节点154要共享其安装流所针对的客户端计算节点150、以及要直接从安装服务器116接收其安装流的客户端计算节点150。根据示例实施方式,在安装服务器116开始安装流之后,安装服务器116可以将来自附加客户端计算节点150的安装请求排队,以用于下一安装会话。
47.根据另外的示例实施方式,可以使用安装服务器推送技术。对于这些实施方式,系统管理员可以指示安装服务器116哪些客户端计算节点150要安装。安装服务器116可以预先创建安装流共享角色列表,因为安装服务器116已经知悉安装服务器116将同时对其进行安装的每个计算节点150。安装服务器116等待所有预期客户端计算节点150启动其节点安装环境180并且与安装服务器116一起签入(check in)。在预期客户端计算节点150已经注册之后,安装服务器116则可以发起安装流的提供。因为安装服务器116知悉将同时启动的所有客户端计算节点150,所以安装服务器116可以构造所有信息以提前而不是动态地缩放安装。
48.根据示例实施方式,安装服务器116可以如下协同工作。领导计算节点130和头计算节点114参与网络共享存储。因此,当准备好安装映像时,此映像将被推送到共享的存储区域中,并且完全相同的内容可用于头计算节点114和领导计算节点130。这确保了头计算节点114与领导计算节点130之间在安装映像的内容上达成一致。对于其中安装服务器116由容器形成的实施方式,这也可以直接用作容器服务的一部分。
49.根据示例实施方式,每个客户端计算节点150被指向用于安装的具体安装服务器116。以此方式,根据示例实施方式,每个安装服务器116处理集群100的子集,这可以显著最小化网络拥塞。如果机架一中的所有客户端计算节点150例如连接到一对堆叠的网络交换机,则服务于机架一的安装服务器116可以创建用于安装的客户端计算节点150的列表,并且与安装映像传输相关的大多数网络流量留在这些堆叠的交换机中,并且不会使网络交换机到交换机链接饱和。如果第二领导计算节点130服务于例如机架二,则机架二上的客户端计算节点150的安装服务器116可以管理机架二的内容并且因此将会与机架一的客户端计算节点150接触最少。
50.根据一些实施方式,作为用于辅助计算节点154的安装流共享的更具体的示例,辅助计算节点154可以最初执行缩小的linux操作系统作为“miniroot”或微型根文件系统的一部分,miniroot或微型根文件系统对应于辅助计算节点154的节点安装环境180。作为节
system
‑‑
acls
‑‑
xattrs-c/tmp/testdir-xpf
‑′
)\
74.>(socat-exec:

ssh leader7.head

tar-b-s
‑‑
numeric-owner
‑‑
one-file-system
‑‑
acls
‑‑
xattrs-c/tmp/testdir-xpf
‑′
)\
75.>(socat-exec:

ssh leader8.head tar-b-s
‑‑
numeric-owner
‑‑
one-file-system
‑‑
acls
‑‑
xattrs-c/tmp/testdir-xpf
‑′
)\
76.>(socat-exec:

ssh leader9.head tar-b-s
‑‑
numeric-owner
‑‑
one-file-system
‑‑
acls
‑‑
xattrs-c/tmp/testdir-xpf
‑′
)\
77.|tar-b-s
‑‑
numeric-owner
‑‑
one-file-system
‑‑
acls
‑‑
xattrs-c/tmp/testdir-xpf-78.根据另外的示例实施方式,用于辅助计算节点154的命令可以由安装服务器116运行。即,根据示例实施方式,用于辅助计算节点154的确切命令可以完全由传入的远程ssh命令指明。
79.设想了在所附权利要求的范围内的其他实施方式。例如,如本文所描述的,安装流共享包括一个共享级别,即,辅助计算节点154与其他计算节点158共享其安装流。然而,根据另外的实施方式,可以有多个安装流共享级别。例如,根据一些实施方式,第一客户端计算节点150可以与第二客户端计算节点150共享其安装流,并且第二客户端计算节点150可以与第三客户端计算节点150共享其安装流。
80.参考图4,根据示例实施方式,技术400包括按照框404,节点集群中的第一计算节点从集群中的集群维护节点接收通信。通信指令第一计算节点将由第一计算节点接收的安装映像提供到集群中的第二计算节点。第一节点和第二节点是对等方。技术400包括共享(框408)将映像传送到第一计算节点的第一安装流。共享第一安装流包括:在第一计算节点正在接收第一安装流的同时,第一计算节点提供第二安装流以将经由第一安装流接收的映像的各部分传送到第二计算节点。
81.参考图5,根据示例实施方式,计算节点500包括处理器504和存储器508。存储器508存储指令512,指令512在由处理器504执行时使处理器504执行:标识各自接收对应的安装流的多个辅助计算节点;指示每个辅助计算节点共享由第一计算节点传送到对应的一组对等计算节点的安装流;以及将安装流传送到多个辅助节点。
82.参考图6,根据示例实施方式,非暂态机器可读存储介质600存储指令604,指令604在由计算节点集群中的第一计算节点(机器)执行时:使第一计算节点在计算节点中接收指示第一计算节点与多个第二计算节点共享第一安装流的指令。指令604在由第一计算节点执行时进一步使第一计算节点在接收第一安装流时接收第一安装流、与多个第二计算节点共享第一安装流。
83.根据示例实施方式,共享第一安装流进一步包括在第一计算节点将从第一安装会话接收的表示映像的数据存储在第一计算节点的存储装置中之前,第一计算节点经由第二安装流将数据传送到第二计算节点。特别的优势在于,安装流共享可以用于在整个集群中快速传输安装映像,以最小化计算节点启动时间。
84.根据示例实施方式,第一计算节点可以访问表示第一计算节点要在其中共享第一安装流的计算节点列表的数据。特别的优势在于,可以基于网络拓扑指定共享角色以防止网络饱和的点。
85.根据示例实施方式,共享第一安装流可以进一步包括:第一计算节点与计算节点列表中的每个计算节点共享第一安装流。特别的优势在于,可以基于网络拓扑指定共享角色以防止网络饱和的点。
86.根据示例实施方式,第一计算节点可以请求安装会话和节点安装环境,并且安装服务器可以响应于请求而开始安装会话,以将第一安装流传送到第一计算节点。特别的优势在于,安装服务器可以为了安装请求等待预定的时间,使得可以基于由服务器提供的安装流的数量和网络拓扑来指定映像共享角色。
87.尽管已经关于有限数量的实施方式描述了本公开,但受益于本公开的本领域技术人员将了解本公开的许多修改和变化。所附权利要求旨在覆盖所有这种修改和变化。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1