CN109891401B - 分布式计算系统配置 - Google Patents
分布式计算系统配置 Download PDFInfo
- Publication number
- CN109891401B CN109891401B CN201780058145.9A CN201780058145A CN109891401B CN 109891401 B CN109891401 B CN 109891401B CN 201780058145 A CN201780058145 A CN 201780058145A CN 109891401 B CN109891401 B CN 109891401B
- Authority
- CN
- China
- Prior art keywords
- nodes
- computing system
- network configuration
- network
- chassis
- 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
- 238000000034 method Methods 0.000 claims description 63
- 238000004891 communication Methods 0.000 description 33
- 230000015654 memory Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 19
- 238000005516 engineering process Methods 0.000 description 19
- 230000000977 initiatory effect Effects 0.000 description 12
- 230000006855 networking Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000010267 cellular communication Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
- H04L41/0266—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using meta-data, objects or commands for formatting management information, e.g. using eXtensible markup language [XML]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/22—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明描述了一种单地理系统或多地理系统,所述单地理系统包括网络配置生成器和第一计算系统机架,所述多地理系统包括网络配置生成器、第一计算系统机架和第二计算系统机架。所述系统接收用于第一多个节点和第二多个节点的网络信息,并且生成包括用于所述第一多个节点和所述第二多个节点的网络配置信息的系统级网络配置文件。每个多个节点包括控制器节点,所述控制器节点用于接收所述系统级网络配置文件,将所述系统级网络配置文件中用于该多个节点的网络配置信息识别为所述计算系统机架的一部分,以及基于用于所述计算系统机架的所述识别的网络配置信息来更新用于该多个节点的网络配置。
Description
背景技术
本公开整体涉及计算机配置系统。在更具体的示例中,本公开涉及配置分布式计算系统。
对象存储是将信息作为对象管理的数据存储模型。对象通常包括对象的有效载荷数据、元信息的可变量以及引用该对象的全局可区别键。有时对象存储是在云存储系统上实现的,其中数据被存储在逻辑桶中,而底层物理存储跨越位于不同地理位置的多个服务器。
云存储可由托管公司作为公共服务提供给他人,或可为组织向内部提供的私人服务。在任一实施方式中,考虑到设备的数量和系统的分布式性质,通常都需要大量的资源和专业技术来配置这种系统并且使这种系统联机。例如,在多站点实施方式中,形成该系统的许多底层服务器和组成设备的配置通常必须在每个站点处管理站点设备的单独人力资源之间协调,这常常导致延迟、配置错误和其他问题。
发明内容
本公开整体涉及计算机配置系统。根据本公开中的主题的一个创新方面,系统包括网络配置生成器、第一计算系统机架和第二计算系统机架。虽然被描述为第一计算系统机架和第二计算系统机架,但应当注意,本公开中可以设想到多个计算系统机架,诸如三个计算系统机架。网络配置生成器被配置为:接收用于第一多个节点和第二多个节点的网络配置信息,并且生成包括用于第一多个节点和第二多个节点的网络配置信息的系统级网络配置文件。第一计算系统机架包括通信地连接在一起的第一多个节点。第一多个节点包括第一控制器节点,该第一控制器节点被配置为:接收系统级网络配置文件,将系统级网络配置文件中用于第一多个节点的网络配置信息识别为第一计算系统机架的一部分,以及基于用于第一计算系统机架的识别的网络配置信息来更新用于第一多个节点的网络配置。第二计算系统机架包括通信地连接在一起的第二多个节点。第二多个节点包括第二控制器节点,该第二控制器节点被配置为:接收系统级网络配置文件,将系统级网络配置文件中用于第二多个节点的网络配置信息识别为第二计算系统机架的一部分,以及基于用于第二计算系统机架的识别的网络配置信息来更新用于第二多个节点的网络配置。
一般来讲,本公开中所述的主题的另一个创新方面可在方法中实现,所述方法包括:接收用于第一多个节点和第二多个节点的网络配置信息;生成包括用于第一多个节点和第二多个节点的网络配置信息的系统级网络配置文件;将系统级网络配置文件上传到第一控制器节点和第二控制器节点,第一多个节点在第一计算系统机架中通信地连接在一起,第二多个节点在第二计算系统机架中通信地连接在一起,第一多个节点包括第一控制器节点并且第二多个节点包括第二控制器节点;将系统级网络配置文件中用于第一多个节点的网络配置信息识别为第一计算系统机架的一部分;基于用于第一计算系统机架的识别的网络配置信息来更新用于第一多个节点的网络配置;将系统级网络配置文件中用于第二多个节点的网络配置信息识别为第二计算系统机架的一部分;以及基于用于第二计算系统机架的识别的网络配置信息来更新用于第二多个节点的网络配置。
这些方面中的一个或多个的其他实施方式包括对应的系统、装置和计算机程序,其被配置为执行编码在计算机存储设备上的方法的动作。
这些和其他实施方式可各自任选地包括以下特征中的一者或多者。例如,特征包括第一多个节点和第二多个节点链接到中间网络的情形;更新用于第二多个节点的网络配置包括为公共可访问节点配置公共第3层网络地址;接收网络配置信息以及生成系统级网络配置文件是通过由第一控制器节点提供的浏览器可访问的应用程序来执行的;系统级网络配置文件包括用于第一多个节点和第二多个节点的第3层网络配置信息;第一多个节点和第二多个节点形成分布式对象存储服务的一部分,该分布式对象存储服务具有由第一网关节点、第一多个节点以及第二多个节点内的第二网关节点提供的存储应用程序编程接口(API)。
例如,这些操作还包括:确定第二计算系统机架何时已被正确地网络配置并且可通过中间网络通信地访问,以及基于确定第二计算系统机架已被正确地网络配置并且可通过中间网络通信地访问来将包括第一多个节点和第二多个节点的分布式计算系统识别为被网络配置。例如,这些操作还包括:周期性地对公共可访问节点轮询连接状态直到建立连接;以及针对第二多个节点是否已被正确地网络配置来查询公共可访问节点。例如,这些操作还包括:将用户认证到系统,从用户接收许可协议的接受的确认,接收用于分布式对象存储服务的一组分布式对象存储配置信息,将该组分布式对象存储配置信息应用于第一多个节点和第二多个节点,以及通过启用第一网关节点和第二网关节点的可访问性来激活分布式对象存储服务的上线使用。
这些实施方式在多个方面是特别有利的。例如,本文所述的技术提供了使大型多站点分布式计算系统快速且准确地联机的机制。
应当理解,本公开中使用的语言主要是出于可读性和指导目的而选择的,并不限制本文公开的主题的范围。
附图说明
本公开通过示例而非限制的方式在附图中示出,在附图中,相同的附图标记用于指相似的元件。
图1是示例性计算系统机架的示意图;
图2是通过网络连接的示例性计算系统机架的示意图;
图3是示例性控制器节点的框图;
图4是示例性对象存储系统的框图;
图5是分布式计算系统的示例性流的状态图;
图6是用于使分布式计算系统联机的示例性方法的流程图;
图7是用于使分布式计算系统联机的另一个示例性方法的流程图;
图8是示例性图形用户界面的示意图;
图9是另一个示例性图形用户界面的示意图;
图10是另一个示例性图形用户界面的示意图;并且
图11是另一个示例性图形用户界面的示意图。
具体实施方式
图1是示例性计算系统机架100的示意图。计算系统机架100可包括多个节点。这些节点可为相同类型或不同类型。如所描绘的,示例性计算系统机架100包括一个或多个交换机102a-n、一个或多个控制器节点104和一个或多个存储节点106a-n。应当认识到,用于示出实施方案以及参考数字或标号后跟字母的指示(例如“102a”)的图1以及其他图是对该特定参考标号所指定的元件或部件的具体参考。如果参考标号在未后跟字母的文本(例如“102”)中出现,则应当认识到,这是对带有该一般参考标号的元件或部件的不同实施方案的一般参考。在一些情况下,诸如图1所示的单个计算系统机架可在本文称为单个地理系统,并且正如该短语所暗示,可在地理上位于单个地方。同样,在一些情况下,诸如参照下图3示出和描述的多个计算系统机架可在本文称为多地理系统,并且正如该短语所暗示,可在地理上位于各个地方。
交换机102可为以太网交换机,诸如符合电气电子工程师学会(IEEE)802.3an-2006 10GBASE-T标准(10GbE)的第2层交换机,但其他类型的交换机也是可能的和可以设想到的。在一些实施方式中,各种联网集线器、路由器、网桥和/或其他网络设备可另外或另选地用于将控制器节点104与存储节点106中的每一者通信地连接在一起。在一些情况下,交换机102可具有集成第3层路由能力。在另外的情况下,第3层路由器可添加到计算系统机架100或位于相邻机架附近并且通信地连接到交换机102。计算系统机架100可还包括未在计算系统机架100中描绘的另外的专用联网设备,诸如虚拟专用网络(VPN)端点、防火墙等。为了简化对本文所公开的主题的描述,这些专用联网设备已从图1中省略,但在一些实施方式中仍然可以设想为形成计算系统机架100的一部分。
控制器节点104可具有数据处理、非暂态存储和通信能力。在一些实施方案中,控制器节点104可包括具有一个或多个处理器、随机存取存储器(RAM)和联网能力的服务器计算机。例如,在2016年,控制器节点104可包括双IntelE5-2640 v3 8核处理器、128千兆字节(GB)的第四代双倍数据率(DDR4)同步动态随机存取存储器(DRAM)以及双10GbE网络接口卡(NIC),但其他配置也是适用的。虽然在一些情况下控制器节点104可实现如下所讨论的存储节点106的一些功能,但控制器节点104可还实现计算系统机架100内的一些专用功能。例如,控制器节点104可实现云服务应用程序编程接口(API);多站点计算系统中的站点协调;和/或通过控制存储节点106来协调云服务。例如,控制器节点104可通过托管在控制器节点104上的API来接收存储请求。控制器节点104可在功能上将存储请求路由到位于存储节点106之一中的存储设备以便进行存储。控制器节点104可为特定存储节点106内的存储位置编索引。在多站点计算系统中,控制器节点104可复制存储请求,并且在功能上将存储请求路由到位于另一个站点的计算系统以便提供冗余。控制器节点104可还分析数据以确定多站点计算系统内的哪个(哪些)站点将更有效地响应于存储用户的读取和/或写入。
存储节点106可具有数据处理、非暂态存储和通信能力。在一些实施方案中,存储节点106可包括具有一个或多个处理器、RAM、联网能力和存储能力的服务器计算机。例如,在2016年,存储节点106可包括IntelD-1540 8核处理器、128GB的第三代双倍数据率(DDR3)DRAM、双10GbE NIC和12个串行连接小型计算机系统接口(SCSI(SAS))硬盘驱动器(HDD)(每个硬盘驱动器具有8万亿字节(TB)容量,每个存储节点106共计96TB),但其他配置也是适用的。作为另外一个示例,可存在6个存储节点106a-n,达到576TB原始存储的机架存储容量。
图2是通过网络202连接而形成分布式计算系统200的示例性计算系统机架100a-n的示意图。网络202可以是传统类型、有线或无线的,并且可具有许多不同配置,包括星形配置、令牌环配置或另外的配置。网络202可包括广域网(WAN)(例如,互联网)、局域网(LAN)、虚拟专用网(VPN)和/或多个设备可经此通信的另外的互连数据路径。在一些情况下,网络202可为对等网络。网络202可还耦接到或包括电信网络的部分,以用于以各种不同通信协议发送数据。计算系统机架100a-n可分别通过信号线204a-n通信地连接到网络202。计算系统208a-n可分别通过信号线212a-n通信地连接到网络202。用户206a-n可与计算系统208a-n(也简称为208)交互,如线210a-n分别指示。例如,用户206可通过与计算系统208交互来使用托管在分布式计算系统200中的对象存储系统。
在一些实施方案中,计算系统208是这样的客户端设备,其包括一个或多个非暂态存储器、一个或多个处理器和一个或多个通信单元以及经由通信总线通信地耦接的其他部件。计算系统208可耦接到网络202,并且可向其他系统200实体发送数据并且从这些实体接收数据。计算系统208的非限制性示例包括膝上型计算机、台式计算机、平板电脑、移动电话、个人数字助理(PDA)、移动电子邮件设备、可穿戴设备、嵌入式计算设备或能够处理信息并且访问网络202的任何其他电子设备。
在一些实施方案中,计算系统208可包括用户界面314的实例,该用户界面执行被配置为进行以下操作的指令:接收、处理和呈现信息、向其他系统200实体发送信息、提供本文所讨论的信息、功能和动作等。虽然图2示出了两个计算系统208,但系统200可包括任何数量的计算系统208。
在通过网络202连接计算系统机架100a-n以形成分布式计算系统200时,分布式计算系统200可向用户提供增加的功能性能、冗余和可靠性。例如,计算系统机架100中的一者或多者可向由系统200提供的云服务提供应用程序编程接口。域名系统(DNS)可通过解析对分布式计算系统200中的计算系统机架100之一的用户域名请求来提供API的地理或轮询负载均衡。在一些情况下,虽然计算系统机架100中的每一者可单独地实现API,但分布式计算系统200可通过共享的域名来呈现通用API。此外,计算系统100可在功能上加以协调,使得如果对第一计算系统机架100a上的控制器节点发出请求,并且第二计算系统机架100b中的存储节点上需要物理处理,则控制器节点能够适当地在功能上路由该请求以处理该请求。例如,可由第一计算系统机架100a上的控制器节点发出对存储项目的检索的请求,但可将存储项目物理地存储在第二计算系统机架100b中。控制器节点可具有动态转换表以将逻辑存储地址(诸如存储键)转换为物理地址(例如,控制器节点的互联网协议(IP)地址等)。在一些情况下,存储的项目可物理地存储在超过一个控制器节点上,并且控制器节点可位于不同站点处。
在一些实施方案中考虑到分布式计算系统200的复杂性质,分布式计算系统200的配置可极其耗时且易出错。例如,示例性计算系统机架100中的每个网络接口卡(NIC)可需要正确配置,并且计算系统机架100可需要正确网络配置,才能通过网络202通信。在一些实施方案中,智能平台管理接口(IPMI)地址作为网络配置的一部分来分配。如根据本文所述技术可以设想到的,初启应用程序300(参照下图3和图3之后的附图描述)可有利地改善配置速度并且减少在配置分布式计算系统200时可发生的潜在错误的数量。例如,本文所述的技术允许分布式计算系统200使用接受较少信息系统(IT)培训的技术员在较短时间段内准备在功能上上线。另外,本文所述的技术允许分布式计算系统的制造商将这种复杂系统在组织中投入生产的方便与快捷性推向市场。
图3是具有初启应用程序300的示例性控制器节点104的框图。虽然初启应用程序300被示出为控制器节点104的一部分,但应当理解,相对于控制器节点104描述的动作和/或功能可体现在分布式计算系统200内的其他服务器或系统中。还应当注意,虽然术语“控制器节点”用来指项目104,特别是在描述图3时,但在本专利申请的其他部分中,项目104可另选地称为“配置节点”、“网关节点”、“标量节点”或简称“计算设备”。虽然这些各种项目的功能可分散在若干服务器中,但为简单起见,该功能通常组合到单个服务器中,因此在本说明书中按此方式示出。
控制器节点104可包括初启应用程序300、处理器330、存储器332、通信单元334、存储服务340和存储设备342。计算设备104的各部件由总线320通信地耦接。
处理器330包括算术逻辑单元、微处理器和通用控制器或一些其他处理器阵列,以执行计算并且向显示设备提供电子显示信号。处理器330耦接到总线320以用于与其他部件通信。处理器330处理数据信号,并且可包括各种计算体系结构,包括复杂指令集计算机(CISC)体系结构、精简指令集计算机(RISC)体系结构、或实现指令集组合的体系结构。虽然图3包括单个处理器330,但可包括多个处理器330。另外的处理器、操作系统、传感器、显示器和物理配置是可能的。
存储器332包括一个或多个非暂态计算机可读介质。存储器332存储可由处理器330执行的指令和/或数据。存储器332耦接到总线320以用于与其他部件通信。指令和/或数据可包括用于执行本文所述技术的代码。存储器332可为动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备、闪存存储器或某种其他存储器设备。在一些情况下,存储器332还包括非易失性存储器或类似的永久存储设备和介质(包括硬盘驱动器、软盘驱动器、光盘只读存储器(CD-ROM)设备、数字通用磁盘只读存储器(DVD-ROM)设备、数字通用磁盘随机存取存储器(DVD-RAM)设备、数字通用磁盘可重写(DVD-RW)设备、闪存存储器设备、或用于在更永久的基础上存储信息的某种其他大容量存储设备)。
通信单元334将数据传输到网络202并且从该网络接收数据。通信单元334耦接到总线320。在一些情况下,通信单元334包括用于直接物理连接到网络202或另一个通信信道的端口。例如,通信单元334包括用于与网络202有线通信的通用串行总线(USB)、安全数字(SD)、类别6(CAT-6)或类似端口。在一些情况下,通信单元334包括使用一种或多种无线通信方法(包括电气电子工程师学会(IEEE)802.11、IEEE 802.16、或另一种合适的无线通信方法)与网络202或其他通信信道交换数据的无线收发器。虽然图3包括一个通信单元334,但可包括多个通信单元334。例如,计算设备104中可包括多个NIC。
在一些情况下,通信单元334包括通过蜂窝通信网络(包括经由短消息服务(SMS)、多媒体消息服务(MMS)、超文本传输协议(HTTP)、直接数据连接、无线应用协议(WAP)、电子邮件或另一种合适类型的电子通信)发送和接收数据的蜂窝通信收发器。在一些情况下,通信单元334包括有线端口和无线收发器。通信单元334还向网络202提供其他常规连接以便使用标准网络协议(包括传输控制协议/互联网协议(TCP/IP)、超文本传输协议(HTTP)、安全HTTP(HTTPS)、安全套接层(SSL)和简单邮件传输协议(SMTP)等)分发文件和/或媒体对象。
存储服务340可包括软件,该软件包括用于向分布式计算系统200存储数据并且从该分布式计算系统检索数据的例程。更具体地讲,存储服务340可对处理器330进行编程,以协调向一个或多个计算系统机架100中的存储节点106上的存储设备的存储和从这些存储设备的检索。在一些情况下,存储服务340为对象存储服务提供存储API,该存储API向对象存储服务提供接口。将参照下图4进一步讨论有关这种实施方式的细节。
在一些情况下,存储服务340从通信单元334接收存储或检索日期项目的请求。例如,通信单元334可接收对象识别符或键以及检索与该识别符相关联的对象的请求。然后存储服务340可在存储设备342中查找该识别符以确定该对象的物理地址。随后存储服务340可从存储节点106检索该对象并且将该对象返回到请求实体。
存储设备342可为存储用于提供本文所述功能的数据的非暂态存储器。存储设备342可为动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备、闪存存储器或某些其他存储器设备。在一些情况下,存储设备342还包括非易失性存储器或类似的永久存储设备和介质(包括硬盘驱动器、软盘驱动器、CD-ROM设备、DVD-ROM设备、DVD-RAM设备、DVDRW设备、闪存存储器设备、或用于在更永久的基础上存储信息的某种其他大容量存储设备)。
在图3所示的实施方式中,初启应用程序300包括网络配置生成器302、网络配置应用器304、配置文件解析器306、网络配置状态检查器308、Web服务器310、系统初始化器312、用户界面314和控制器316。初启应用程序300的这些部件彼此经由总线320通信地耦接。
网络配置生成器302可包括软件,该软件包括用于生成网络配置的例程。在一些情况下,网络配置生成器302可为可由处理器330执行的指令集,该指令集提供下述用于在一个或多个计算系统机架100内的节点上配置网络设置的功能。例如,网络配置生成器302可为分布式计算系统200配置网络设置。在一些情况下,网络配置生成器302可存储在计算设备104的存储器332中,并且可由处理器330访问和执行。网络配置生成器302可适于经由总线320与处理器330和计算设备104的其他部件进行协作和通信。在一些实施方案中,初启应用程序300可包括配置其他非网络设置的能力。
在一些情况下,网络配置生成器302从控制器316接收用于分布式计算系统200中的多个节点的网络配置信息。这些节点可由其所在的站点加以区分。例如,一些节点可位于计算系统机架100a处,而其他节点可位于计算系统机架100b处,以此类推。利用接收的网络配置信息,网络配置生成器可生成系统级网络配置文件。系统级网络配置文件可包括用于分布式计算系统200中的多个节点的网络配置信息。此外,可由分布式计算系统200中的站点位置或计算系统机架100在系统级网络配置文件中对多个节点进行分组。
例如,可在系统级网络配置文件中包括识别符以识别特定计算系统机架100a。在一个示例中,可将介质访问控制(MAC)地址存储在生成的系统级网络配置文件中,从而将控制器节点104中的NIC之一识别为与特定计算系统机架100a相关联。此外,特定计算系统机架100a可在系统级网络配置文件中包括诸如“Palo Alto”的名称,以帮助人类用户识别计算系统机架100a的地理位置。
作为另一个示例,系统级网络配置文件可包括与计算系统机架100b相关联的不同MAC地址。此外,系统级网络配置文件可还包括用于计算系统机架100b的名称“Seattle”。另外,网络配置文件中阐述的每个计算系统机架100可包括用于该计算系统机架100中的节点和设备的识别符。
网络配置生成器302可(为系统级网络配置文件)生成第3层联网信息,包括例如IP地址、子网掩码、网关、DNS服务器以及联网服务,诸如动态主机配置协议(DHCP)和虚拟专用网(VPN)隧道等。可将公共IP地址分配给计算系统机架100中的某些节点。网络配置生成器302可包括在站点中路由,并且可通过系统级网络配置文件的生成来协调站点中的IP分配。另外,可包括第2层联网信息或其他类似数据以便复制到交换机102和/或计算系统机架100中的其他节点。例如,可将虚拟局域网(VLAN)识别符分配给计算系统机架100中的NIC和/或交换机102上的端口。计算系统机架100中包括的路由器(如果有的话)可包括系统级网络配置文件中与计算系统机架100中的节点相关的路由信息。
网络配置应用器304可为软件,该软件包括用于接收系统级网络配置文件并且识别网络配置信息的例程。具体地讲,网络配置应用器304可将系统级网络配置文件中的第一组节点识别为计算系统机架100a的一部分。然后网络配置应用器304可基于用于计算系统机架100a的识别的网络配置信息来更新用于第一组节点的网络配置。例如,网络配置应用器304可在计算系统机架100a中的控制器节点104上执行。网络配置应用器304的该实例化可通过以下方式解析系统级网络配置文件:与配置文件解析器306通信以及识别与计算系统机架100a中的控制器节点104相关联的MAC地址。进一步利用相关联的MAC地址,网络配置应用器304可识别用于计算系统机架100a的其余网络配置信息。即,网络配置应用器304可对处理器进行编程,以确定系统级网络配置文件的哪些部分与计算系统机架100a相关以及系统级网络配置文件的哪些部分与分布式计算系统200中的其他计算系统相关联。
网络配置应用器304可与Web服务器310通信以经由网络202从另一个节点(例如,用户的计算设备)接收上传到初启应用程序300的系统级网络配置文件。如上所讨论,网络配置应用器304可与配置文件解析器306协作以解析其中含有的用于网络配置应用器304的信息。然后网络配置应用器304可利用用于计算系统机架100a的解析的和识别的网络配置信息来更新用于第一多个节点的网络配置。该机制可类似地用于分布式计算系统200的其他计算系统机架100。
配置文件解析器306可包括软件,该软件具有用于解析系统级网络配置文件的例程。在一些情况下,配置文件解析器306可为可由处理器330执行的指令集,以提供下述用于解析系统级网络配置文件的功能。在一些情况下,配置文件解析器306可存储在计算设备104的存储器332中,并且可由处理器330和计算设备104的其他部件经由总线320访问和执行。
在一些情况下,配置文件解析器306(从控制器316、网络配置生成器302、网络配置应用器304或另一个系统100部件)接收解析系统级网络配置文件的请求。在另外一个示例中,该请求可由网络配置应用器304通过控制器316、网络配置生成器302、网络配置应用器304或另一个源来发出。配置文件解析器306可打开和/或接收系统级网络配置文件,并且将该文件读取到存储器332中。在一些实施方案中,配置文件解析器306可将系统级网络配置文件转换成操作系统外壳命令集以便由网络配置应用器304执行,从而实现系统级网络配置文件中体现的网络配置更新。其他变型也是可能的和可以设想到的。
网络配置状态检查器308可包括软件,该软件具有用于检查分布式计算系统200中的节点的状态的例程。在一些情况下,网络配置状态检查器308可为可由处理器330执行的指令集,以提供下述用于检查分布式计算系统200中的节点的状态的功能。在一些其他情况下,网络配置状态检查器308可存储在计算设备104的存储器332中,并且可由处理器330访问和执行。网络配置状态检查器308可适于经由总线320与处理器330和计算设备104的其他部件进行协作和通信。
在一些情况下,网络配置状态检查器308从网络配置应用器304接收确定分布式计算系统200中的节点是否被网络配置的请求。在一些情况下,网络配置状态检查器308可经由中间部件(诸如控制器)接收该请求,但在另外的实施方案中,可直接接收该请求。
网络配置状态检查器308可确定计算系统机架100a中的节点以及计算系统机架100b和/或100n中的节点是否被正确地网络配置并且可通过网络202在其间通信地访问。例如,网络配置应用器304可为计算系统机架100a中的公共可访问模式配置公共IP地址。然后计算系统机架100b中的节点上的网络配置状态检查器308的实例化可周期性地对公共可访问节点轮询连接状态,直到与公共可访问节点建立连接。随后网络配置状态检查器308可就计算系统机架100a中的所有节点是否已被正确地网络配置来查询公共可访问节点。因此,如在计算系统机架100a中的节点上实例化的,网络配置状态检查器308可迭代地轮询计算系统机架100a中的每个节点以确定这些节点是否已被正确地网络配置。当节点尚未被正确地网络配置时,网络配置应用器可执行指令以在未正确地网络配置的节点上实现网络设置更改。
Web服务器310可包括软件,该软件具有用于向一个或多个客户端设备提供数据的例程。在一些实施方案中,该数据可呈现为一个或多个图形用户界面。用户界面314可至少部分地驻留在用户的用户设备上,并且解释和呈现从Web服务器310接收到的代码。在一些实施方案中,Web服务器310可提供结构化数据,诸如可扩展标记语言(XML)、javascript对象表示法(JSON)、表格数据等。在一些情况下,Web服务器310可为可由处理器330执行的指令集以提供下述功能。在一些其他情况下,Web服务器310可存储在计算设备104的存储器332中,并且可由处理器330访问和执行。Web服务器310可适于经由总线320与处理器330和计算设备104的其他部件进行协作和通信。
在一些情况下,Web服务器310从用户界面314接收对页面的请求。在一些情况下,该请求可由控制器(诸如请求处理器)或其他部件接收。Web服务器310可从存储装置检索体现该页面的代码和/或生成该代码,执行该页面中体现的任何动态代码,并且经由通信单元334将该页面传输到请求实体(例如,用户的Web浏览器)。在一些情况下,体现该页面的代码可以诸如HTML、JavaScript、JSON、层叠样式表(CSS)等Web语言编写,并且可包括超过一个文件。Web服务器310可提供包括高速缓存、认证等的其他辅助功能。
系统初始化器312可包括软件,该软件包括用于对分布式计算系统200进行初始化的例程。在一些情况下,系统初始化器312可为可由处理器330执行的指令集,以提供下述用于对分布式计算系统200进行初始化的功能。在一些其他情况下,系统初始化器312可存储在计算设备104的存储器332中,并且可由处理器330访问和执行。系统初始化器312可适于经由总线320与处理器330和计算设备104的其他部件进行协作和通信。
在一些情况下,系统初始化器312接收对分布式计算系统200中的系统参数进行初始化的请求。在一些情况下,该请求可由控制器(诸如请求处理器)或另一个部件接收。在一些实施方案中,一旦系统初始化器312已接收到各种系统参数,系统初始化器312就可应用各种系统参数并且将分布式计算系统200从网络配置状态504移动到初始化状态506。
用户界面314可包括软件,该软件包括用于生成图解数据以便向用户提供用户界面的例程。在一些情况下,用户界面314可为可由处理器330执行的指令集,以提供下述用于生成图解数据以便提供用户界面的功能。在一些其他情况下,用户界面314可存储在计算设备104的存储器332中,并且可由处理器330访问和执行。用户界面314可适于经由总线320与处理器330和计算设备104的其他部件进行协作和通信。
在一些情况下,用户界面314可与其他系统200部件(诸如Web服务器310)交换数据。在另外的实施方案中,用户界面314可与网络配置生成器302、网络配置应用器304、系统初始化器312或其他系统部件交换(例如,发送、接收)数据。示例性数据可包括对配置分布式计算系统200、系统配置数据等的请求。在一些实施方式中,用户界面314生成图解数据以便向用户呈现信息(诸如配置数据)。图8至图11中示出了用户界面的示例。
控制器316可包括软件,该软件具有用于处理初启应用程序300与计算设备104的其他部件之间的通信的例程。在一些情况下,控制器316可为可由处理器330执行的指令集,以提供下述用于处理初启应用程序300与计算设备104的其他部件之间的通信的功能。在一些其他情况下,控制器316可存储在计算设备104的存储器332中,并且可由处理器330访问和执行。控制器316可适于经由总线320与处理器330和计算设备104的其他部件进行协作和通信。在一些情况下,控制器316可从初启应用程序300的部件接收数据,并且将该数据存储在存储设备342中。在一些情况下,控制器316管理一个或多个系统100和/或200的部件之间的通信,但在另外的实施方案中,系统100和/或200的部件可直接通信或经由其他中间部件通信。
图4是示例性对象存储系统400的框图。如图所示,可由计算机终端402(例如,经由用户界面314和/或另一个应用程序的实例)通过对象存储系统的存储API 404来访问对象存储系统400。对象存储API 404通信地连接到对象存储服务406,该对象存储服务又连接到一个或多个存储设备408a、408b、408n(例如,106a、106b、106n等)。存储API 404和对象存储服务406可包括软件,该软件具有用于提供存储服务的例程。在一些情况下,Web服务器310可公开存储API 404的访问权限。存储API 404和对象存储服务406可由包括网络(诸如LAN或网络202)的通信总线以电子方式通信地耦接以便进行协作和通信。
如上所讨论,分布式计算系统200可形成分布式对象存储服务(诸如图4中所示的对象存储系统400)的一部分。存储API 404可托管在一个或多个计算系统机架100内的网关节点104上。例如,存储API 404可形成存储服务340的一部分。同样,对象存储服务406可也形成存储服务340的一部分。在一些实施方案中,存储设备408可形成一个或多个存储节点106的一部分。此外,对象存储服务406的一部分可在存储节点106中的一者或多者上托管和执行,并且由在其上执行的存储服务340的控制器节点104管理。
图5是分布式计算系统200的示例性流500的状态图。分布式计算系统200可在任何给定时间处于若干状态之一。分布式计算系统200可处于未初始化状态502、网络配置状态504、初始化状态506、准备上线状态508、上线状态510或维护状态512。
在一些实施方案中,这些状态可被分组成预配置状态(即,未初始化502、网络配置504和初始化506)和活跃状态(即,准备上线508、上线510和维护512)。在预配置中,可对分布式计算系统200中的节点和设备执行IP联网配置。在一些情况下,未初始化状态502可为分布式计算系统200中的节点的出厂状态。
例如,当在工厂生产时运送给客户之前和/或当客户首次初始化时,可在分布式计算系统200的节点上设置默认IP地址和联网配置信息。在未初始化状态502与网络配置状态504之间,上文参照图3描述的初启应用程序300可例如用于配置分布式计算系统200的节点的网络设置。具体地讲,网络配置生成器302和网络配置应用器304可分别生成用于分布式计算系统200的系统级网络配置文件,并且将系统级网络配置文件中指定的网络配置应用于分布式计算系统200的节点。
在网络配置状态504与初始化状态506之间,可收集附加初始化信息并且将该信息应用于分布式计算系统200。例如,系统初始化器312可处理从用户收集该信息,并且将用户指定的参数应用于分布式计算系统200的节点。在一些情况下,可将与存储服务340相关的参数从系统初始化器312传送到存储服务340以便在其上应用。
响应于分布式计算系统200被初始化,用户可通过与用户界面314交互来请求分布式计算系统200准备上线。准备上线状态508可为分布式计算系统200中的节点上的过程和服务器被启动的过渡状态。例如,存储服务340可在控制器节点104上启动,并且类似的服务可开始在存储节点106上执行。
上线状态510可反映分布式计算系统200已在操作上准备好通过其他网络节点进行用户交互。例如,存储API 404可监听指定的端口,并且被配置为对对象存储服务406的存储请求作出响应。
如图5所描绘,维护状态512可为从上线状态510移除分布式计算系统200并且在完成维护状态512时返回到上线状态510的状态。因此,在操作上,分布式计算系统200可在对系统进行维护时停止运行。例如,可更换硬件部件(诸如硬盘驱动器)并且将数据从旧硬盘驱动器复制到新硬盘驱动器上。作为另一个示例,可重新配置或修复分布式计算系统200中的参数。
图6是使分布式计算系统200联机的示例性方法600的流程图。方法600可从在602处确定系统200的状态开始。如果系统200处于未初始化状态502,则方法600可继续到方框604。如果系统200处于上线状态510、初始化状态506或网络配置状态504,则方法600可继续到方框612。在方框604中,系统200确定系统200中有多少站点。例如,系统200可包括位于各个地理站点处的三个计算系统机架100a、100b和100c。另选地,系统200可包括单个计算系统机架100。如果系统200仅包括单个系统100,则方法600可通过在610处生成IP分配继续,并且在继续到方框612中的登录页面之前应用这些IP分配。如果系统200包括超过单个计算系统机架,诸如三个计算系统机架100a、100b和100c,则方法600可通过提供选项继续,以在606处从多个站点下载模板供系统管理员用来填写信息。然后系统管理员可上传文件以在608处生成网络映射并且下载网络映射文件来与其他站点共享以便应用。在方框632中,方法600等待其他站点对网络映射文件加以应用并且变为与本地计算系统机架100通信地连接。然后方法600可通过Web服务器310将页面作为用户界面314的一部分发送到计算设备来继续到登录612。否则,方法600可请求上传另一个IP映射文件,或另选地可将用户定向到主机-IP映射生成页面。例如,用户界面314可向Web服务器310提交数据,该Web服务器向网络配置生成器302提供输入(例如,具有IP映射的文件)。
在方框614中,网络配置状态检查器308可确定系统200是否处于网络配置状态504。Web服务器310连同用户界面314一起可通过以下方式继续执行初始化步骤616、618、620、622和624:如系统初始化器312所指示的那样通过计算设备向用户呈现页面。另一方面,如果系统200处于初始化状态506,则系统初始化器312可跳转到应用进度页面626。如果系统200处于上线状态510,则系统初始化器312可跳转到仪表板页面628。在仪表板页面628内,用户可进入设置页面630并且修改该系统的设置。例如,可通过用户界面314经由Web服务器310和网络配置应用器304来修改存储服务340的参数。
当系统200处于网络配置状态504时,该方法可将用户定向到由用户界面314呈现的最终用户许可协议(EULA)页面616,用户可在此查看协议文本并且接受或拒绝该许可协议的条款。如果用户拒绝EULA页面616,则方法600可退出,或另选地将用户重定向到初始状态页面602。该方法可通过用户界面314从Web服务器310请求快速设置页面618而从方框616前进到快速设置页面618。该快速设置页面618可具有有限数量的可用于修改的可编辑参数,但可提供通过点击链接来前进到高级设置的方式。因此,方法600在一些情况下可通过用户界面314从Web服务器310请求高级设置页面620而前进到高级设置页面620。与快速设置页面618上将用户带到高级设置页面620的链接类似,在高级设置页面620上,用户可点击链接而将自己带回快速设置页面618。在用户点击至快速设置页面的链接时,用户界面314从Web服务器310请求快速设置页面618。不论参数是通过快速设置618还是高级设置620输入的,方法600都通过用户界面314从Web服务器310请求相应确认页面622和624而前进到相应确认页面622、624。在用户确认这些参数之后,方法600通过用户界面314从Web服务器310请求应用进度页面626而继续到应用进度页面626,可在此将这些参数应用于该系统(例如,由网络配置应用器304和/或系统初始化器312应用于计算系统机架100)。
图7是用于使分布式计算系统联机的另一个示例性方法700的流程图。方法700可从在702处用Web服务器310接收网络配置信息开始。可由网络配置生成器302通过Web服务器310从用户界面314接收该网络配置信息。然后方法700可继续在704处使用网络配置生成器302基于接收的网络配置信息来生成系统级网络配置文件。系统管理员可获得生成的系统级网络配置文件,并且通过使用用户界面314以将系统级网络配置文件提交到Web服务器310而将系统级网络配置文件上传到例如一个或多个控制器节点104。在上传了生成的系统级网络配置文件的情况下,控制器节点104可在706处将这些设置应用于一个或多个站点处的所有节点。在站点为主站点的情况下,方法700可允许系统管理员在用户界面314内配置并且在706处应用这些设置。在站点为非主站点的情况下,方法700可包括上传这些设置并且在706处应用系统级网络配置文件。在一些情况下,每个控制器节点104可在分布式计算系统200内的单独计算系统机架100内。因此,在方框708中,控制器节点104可在708处通过使用配置文件解析器306识别用于第一计算系统机架(即,如系统级网络配置文件中所含的控制器节点104所属的计算系统机架)的网络配置信息。类似地,在方框710中,单独的控制器节点104可在710处通过使用配置文件解析器306来识别用于第二计算系统机架的网络配置信息。在方框712和714中,可更新分别与每个计算系统机架相关联的所述多个节点。例如,可使用网络配置应用器304在这些节点上更新联网配置以匹配系统级网络配置文件中的信息。
图8是示例性图形用户界面800的示意图。在用户界面800中,如果已经生成系统级网络配置文件,则提示用户上传该系统级网络配置文件,或提示用户上传网络信息文件以便系统可启动配置生成,或提示用户获取模板文件以供系统管理员填写每个站点的网络信息。例如,Web服务器310可提供代码,用户界面314可使该代码呈现图形用户界面800。通过用户界面800,Web服务器310可在702处接收网络配置信息。例如,用户界面800中显示的上传文件框提供了将网络信息文件上传到Web服务器310以便网络配置生成器302进行处理的方式。用户界面800还提供了将在704处生成的系统级网络配置文件上传到Web服务器310以便配置文件解析器306和/或网络配置应用器304进行处理的方式。
图9是另一个示例性图形用户界面900的示意图。在用户界面900中,用户已为分布式计算系统200中的三个站点提供网络配置信息,该系统已生成完整系统配置,并且如此前在图8的用户界面800中提示的那样,此时提示用户下载系统级网络配置文件以在706处应用于远程计算机机架系统200。例如,下载的文件可用于在708、710处识别相应系统100上的网络配置信息,并且在712、714处更新相应系统中的节点。
图10是另一个示例性图形用户界面1000的示意图。用户界面1000已自动地识别本地站点映射到哪个位置,以便识别系统级网络配置的哪个部分需要应用于分布式计算机机架系统200中。在一些情况下,在将该设置应用于计算系统机架100中的节点之前,用户可选择站点并且重新修改网络配置设置。一旦用户选择“应用”按钮,用户界面314就可与Web服务器310通信,该Web服务器又可与网络配置应用器304通信以应用该网络配置。
在一些实施方案中,可采用其他图形用户界面来配置系统。例如,由单个计算系统机架100组成的系统可使用不同的图形用户界面,在该图形用户界面处输入配置信息并且将配置信息直接应用于计算系统机架100。
图11是另一个示例性图形用户界面1100的示意图。用户界面1100描绘了本地站点(Las Vegas)正等待其余站点San Francisco和Los Angeles联机并且可经由网络202从LasVegas站点通信地访问节点。用户界面314可与Web服务器310通信,该Web服务器又可与网络配置状态检查器308通信,从而在用户界面314上提供更新的状态。
上文描述了用于实现分布式计算配置的系统和方法。在以上描述中,出于解释的目的,阐述了许多具体细节。然而,将显而易见的是,可以在没有这些具体细节的任何给定子集的情况下实践所公开的技术。在其他情况下,结构和设备以框图形式示出。例如,在以上的一些实施方式中参照界面和特定硬件描述了所公开的技术。此外,上文主要在联机服务的上下文中公开了这些技术;但是所公开的技术也适用于其他数据源和其他数据类型(例如,其他资源如图像、音频、网页的集合)。
本说明书中提到的“一个实施方案”、“一些实施方案”或“实施方案”是指结合实施方案描述的特定特征、结构或特性被包括在所公开的技术的至少一个实施方案中。在本说明书中各处出现的短语“在一个实施方案中”不一定都指的是相同的实施方案。
上文的详细描述的一些部分根据对计算机存储器内的数据位的操作的过程和符号表示来呈现。通常可将过程视为导致结果的自相一致的步骤序列。这些步骤可能涉及物理量的物理操纵。这些量采取能够被存储、传输、组合、比较以及以其他方式操纵的电信号或磁信号的形式。这些信号可被称为位、值、元素、符号、字符、术语、数字等的形式。
这些和类似的术语可与适当的物理量相关联,并且可被认为是应用于这些量的标签。除非从先前的讨论中明显地另外明确说明,否则应当理解,在整个描述中,利用术语例如“处理”或“运算”或“计算”或“确定”或“显示”等的讨论可以指计算机系统或类似电子计算设备的动作和过程,该计算机系统或类似电子计算设备操纵表示为计算机系统寄存器和存储器中的物理(电子)量的数据,并且将该数据转换为类似地表示为计算机系统存储器或寄存器或其他这样的信息存储装置、传送或显示设备中的物理量的其他数据。
所公开的技术可还涉及用于执行本文操作的装置。该装置可以为所需目的而专门构造,或者其可包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。
所公开的技术可采取完全硬件实现、完全软件实现或包含硬件和软件元素的实现的形式。在一些实施方式中,该技术以软件实现,该软件包括但不限于固件、常驻软件、微代码等。
此外,所公开的技术可采取可从非暂时性计算机可用或计算机可读介质访问的计算机程序产品的形式,该计算机可用或计算机可读介质提供程序代码以供计算机或任何指令执行系统使用或与其结合使用。出于该描述的目的,计算机可用或计算机可读介质可以是任何装置,该装置可包含、存储、传送、传播或传输程序以供指令执行系统、装置或设备使用或与其结合使用。
适用于存储和/或执行程序代码的计算系统或数据处理系统将包括直接或通过系统总线间接耦接到存储器元件的至少一个处理器(例如,硬件处理器)。存储器元件可包括在程序代码的实际执行期间采用的本地存储器、大容量存储装置、和高速缓存存储器,该高速缓存存储器提供至少一些程序代码的临时存储,以便减少在执行期间必须从大容量存储装置检索代码的次数。
输入/输出或I/O设备(包括但不限于键盘、显示器、指示设备等)可直接或通过中间I/O控制器耦接到系统。
网络适配器可还耦接到系统,以使得数据处理系统能够通过中间专用或公共网络耦接到其他数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡只是当前可用类型的网络适配器中的少数几种。
最后,本文中呈现的过程和显示可能不固有地与任何特定计算机或其他装置相关。根据本文的教导,各种通用系统可与程序一起使用,或者可以证明构造更专用的装置以执行所需的方法步骤是方便的。从下面的描述中将显而易见的是各种这些系统所需的结构。另外,没有参考任何特定编程语言来描述所公开的技术。应当理解,可以使用各种编程语言来实现如本文所述的技术的教导。
已经出于说明和描述的目的呈现了对本发明技术和科技的实现的前述描述。它并非旨在是穷尽的或将本发明技术和科技限制为所公开的精确形式。根据以上教导内容,很多修改形式和变型形式都是可能的。意图是本发明技术和科技的范围不受该详细描述的限制。本发明技术和科技可以其他具体形式实现而不背离其精神或基本特征。同样,模块、例程、特征、属性、方法和其他方面的特定命名和划分不是强制性的或重要的,并且实现本发明技术和科技或其特征的机制可具有不同的名称、划分和/或格式。此外,本发明技术的模块、例程、特征、属性、方法和其他方面可被实现为软件、硬件、固件或三者的任何组合。此外,无论部件(其示例是模块)在何处被实现为软件,该部件都可被实现为独立程序,实现为较大程序的一部分,实现为多个单独的程序,实现为静态或动态链接库,实现为内核可加载模块,实现为设备驱动程序,并且/或者以现在或将来在计算机编程中已知的每种和任何其他方式实现。另外,本发明技术和科技绝不限于以任何特定编程语言或用于任何特定操作系统或环境的实现。因此,本发明技术和科技的公开内容旨在说明而非限制。
Claims (20)
1.一种系统,包括:
通信地连接在一起的第一多个节点的第一计算系统机架,所述第一多个节点包括第一控制器节点,所述第一控制器节点被配置为:
接收第一系统级网络配置文件,所述第一系统级网络配置文件可用于配置包括所述第一计算系统机架和第二计算系统机架的多个计算系统机架,以形成分布式计算系统;
使用所述第一系统级网络配置文件将所述第一多个节点识别为所述第一计算系统机架的一部分,其中所述第一系统级网络配置文件包括用于所述第一多个节点中的每个节点的识别符和用于所述第一计算系统机架的识别符;
确定所述第一系统级网络配置文件中与所述第一计算系统机架相关的部分;以及
基于所述第一系统级网络配置文件中被确定为与所述第一计算系统机架相关的所述部分来更新用于所述第一多个节点的网络配置;以及
通信地连接在一起的第二多个节点的所述第二计算系统机架,所述第二多个节点包括第二控制器节点,所述第二控制器节点被配置为:
接收所述第一系统级网络配置文件;
使用所述第一系统级网络配置文件将所述第二多个节点识别为所述第二计算系统机架的一部分,其中所述第一系统级网络配置文件包括用于所述第二多个节点中的每个节点的识别符和用于所述第二计算系统机架的识别符;
确定所述第一系统级网络配置文件中与所述第二计算系统机架相关的部分;
基于所述第一系统级网络配置文件中被确定为与所述第二计算系统机架相关的所述部分来更新用于所述第二多个节点的网络配置;以及
使用更新的网络配置将包括作为所述第一计算系统机架的一部分的所述第一多个节点和作为所述第二计算系统机架的一部分的所述第二多个节点的所述分布式计算系统提供为可通信访问。
2.根据权利要求1所述的系统,其中所述第一多个节点和所述第二多个节点链接到中间网络,并且其中所述第一控制器节点被进一步配置为:
确定所述第二计算系统机架是否已被正确地网络配置并且能够通过所述中间网络通信地访问,以及
基于确定所述第二计算系统机架已被正确地网络配置并且能够通过所述中间网络通信地访问来提供包括被网络配置的所述第一多个节点和所述第二多个节点的分布式计算系统。
3.根据权利要求2所述的系统,其中:
更新用于所述第二多个节点的网络配置包括使用所述第一系统级网络配置文件为所述第二多个节点的公共能够访问的节点配置公共网络地址;并且
确定所述第二计算系统机架是否已被正确地网络配置包括周期性地对所述公共能够访问的节点轮询连接状态直到建立连接,并且针对所述第二多个节点是否已被正确地网络配置来查询所述公共能够访问的节点。
4.根据权利要求1所述的系统,其中所述第一系统级网络配置文件包括用于所述第一多个节点和所述第二多个节点的网络配置信息。
5.根据权利要求1所述的系统,其中所述第一系统级网络配置文件包括用于所述第一多个节点和所述第二多个节点的智能平台管理接口地址。
6.根据权利要求1所述的系统,其中所述第一控制器节点被进一步配置为:
将计算设备认证到所述系统;
从所述计算设备接收许可协议的接受的确认;
从所述计算设备接收用于分布式对象存储服务的一组分布式对象存储配置信息;
将所述一组分布式对象存储配置信息应用于所述第一多个节点和所述第二多个节点;以及
通过启用所述第一控制器节点和所述第二控制器节点的可访问性来激活其他计算设备在连接的网络上对所述分布式对象存储服务的使用。
7.根据权利要求1所述的系统,还包括:
网络配置生成器,所述网络配置生成器被配置为:
从所述第一多个节点和所述第二多个节点接收网络配置信息;以及
生成包括用于所述第一多个节点和所述第二多个节点的网络配置信息的所述第一系统级网络配置文件。
8.根据权利要求7所述的系统,其中所述网络配置生成器是由所述第一控制器节点提供的浏览器能够访问的应用程序。
9.一种计算机实现的方法,包括:
将第一系统级网络配置文件上传到第一控制器节点和第二控制器节点,所述第一系统级网络配置文件可用于配置包括第一计算系统机架和第二计算系统机架的多个计算系统机架,以形成分布式计算系统,其中第一多个节点在所述第一计算系统机架中通信地连接在一起,第二多个节点在所述第二计算系统机架中通信地连接在一起,所述第一多个节点包括所述第一控制器节点,并且所述第二多个节点包括所述第二控制器节点;
使用所述第一系统级网络配置文件将所述第一多个节点识别为所述第一计算系统机架的一部分,其中所述第一系统级网络配置文件包括用于所述第一多个节点中的每个节点的识别符和用于所述第一计算系统机架的识别符;
确定所述第一系统级网络配置文件中与所述第一计算系统机架相关的部分;
基于所述第一系统级网络配置文件中被确定为与所述第一计算系统机架相关的所述部分来更新用于所述第一多个节点的网络配置;
使用所述第一系统级网络配置文件将所述第二多个节点识别为所述第二计算系统机架的一部分,其中所述第一系统级网络配置文件包括用于所述第二多个节点中的每个节点的识别符和用于所述第二计算系统机架的识别符;
确定所述第一系统级网络配置文件中与所述第二计算系统机架相关的部分;
基于所述第一系统级网络配置文件中被确定为与所述第二计算系统机架相关的所述部分来更新用于所述第二多个节点的网络配置;以及
使用更新的网络配置将包括作为所述第一计算系统机架的一部分的所述第一多个节点和作为所述第二计算系统机架的一部分的所述第二多个节点的所述分布式计算系统提供为可通信访问。
10.根据权利要求9所述的计算机实现的方法,其中所述第一多个节点和所述第二多个节点链接到中间网络,并且其中所述方法还包括:
确定所述第二计算系统机架是否已被正确地网络配置并且能够通过所述中间网络通信地访问;以及
基于确定所述第二计算系统机架已被正确地网络配置并且能够通过所述中间网络通信地访问来提供包括被网络配置的所述第一多个节点和所述第二多个节点的分布式计算系统。
11.根据权利要求10所述的计算机实现的方法,其中:
更新用于所述第二多个节点的网络配置包括使用所述第一系统级网络配置文件为所述第二多个节点的公共能够访问的节点配置公共网络地址;并且
确定所述第二计算系统机架是否已被正确地网络配置包括周期性地对所述公共能够访问的节点轮询连接状态直到建立连接,并且针对所述第二多个节点是否已被正确地网络配置来查询所述公共能够访问的节点。
12.根据权利要求9所述的计算机实现的方法,其中所述第一系统级网络配置文件包括用于所述第一多个节点和所述第二多个节点的网络配置信息。
13.根据权利要求9所述的计算机实现的方法,其中所述第一系统级网络配置文件包括用于所述第一多个节点和所述第二多个节点的智能平台管理接口地址。
14.根据权利要求9所述的计算机实现的方法,还包括:
将计算设备认证到所述系统;
从所述计算设备接收许可协议的接受的确认;
从所述计算设备接收用于分布式对象存储服务的一组分布式对象存储配置信息;
将所述一组分布式对象存储配置信息应用于所述第一多个节点和所述第二多个节点;以及
通过启用所述第一控制器节点和所述第二控制器节点的可访问性来激活其他计算设备在连接的网络上对所述分布式对象存储服务的使用。
15.根据权利要求9所述的计算机实现的方法,还包括:
接收用于所述第一多个节点和所述第二多个节点的网络配置信息;以及
生成包括用于所述第一多个节点和所述第二多个节点的网络配置信息的所述第一系统级网络配置文件。
16.根据权利要求15所述的计算机实现的方法,其中接收网络配置信息以及生成所述第一系统级网络配置文件是通过由所述第一控制器节点提供的浏览器能够访问的应用程序来执行的。
17.一种系统,其包括:
用于将第一系统级网络配置文件上传到第一控制器节点和第二控制器节点的装置,所述第一系统级网络配置文件可用于配置包括第一计算系统机架和第二计算系统机架的多个计算系统机架,以形成分布式计算系统,其中第一多个节点在所述第一计算系统机架中通信地连接在一起,第二多个节点在所述第二计算系统机架中通信地连接在一起,所述第一多个节点包括所述第一控制器节点,并且所述第二多个节点包括所述第二控制器节点;
用于使用所述第一系统级网络配置文件将所述第一多个节点识别为所述第一计算系统机架的一部分的装置,其中所述第一系统级网络配置文件包括用于所述第一多个节点中的每个节点的识别符和用于所述第一计算系统机架的识别符;
用于基于所述第一系统级网络配置文件中被确定为与所述第一计算系统机架相关的部分来更新用于所述第一多个节点的网络配置的装置;
用于使用所述第一系统级网络配置文件将所述第二多个节点识别为所述第二计算系统机架的一部分的装置,其中所述第一系统级网络配置文件包括用于所述第二多个节点中的每个节点的识别符和用于所述第二计算系统机架的识别符;
用于基于所述第一系统级网络配置文件中被确定为与所述第二计算系统机架相关的部分来更新用于所述第二多个节点的网络配置的装置;
用于使用更新的网络配置将包括作为所述第一计算系统机架的一部分的所述第一多个节点和作为所述第二计算系统机架的一部分的所述第二多个节点的所述分布式计算系统提供为可通信访问的装置。
18.根据权利要求17所述的系统,其中所述第一多个节点和所述第二多个节点链接到中间网络,所述系统进一步包括:
用于确定第二计算系统机架是否已被正确地网络配置并且能够通过所述中间网络通信地访问的装置;以及
用于基于确定所述第二计算系统机架已被正确地网络配置并且能够通过所述中间网络通信地访问来提供包括被网络配置的所述第一多个节点和所述第二多个节点的分布式计算系统的装置。
19.根据权利要求18所述的系统,其中:
用于更新用于所述第二多个节点的网络配置的装置被配置为使用所述第一系统级网络配置文件为所述第二多个节点的公共能够访问的节点配置公共网络地址;并且
用于确定所述第二计算系统机架是否已被正确地网络配置的装置被配置为周期性地对所述公共能够访问的节点轮询连接状态直到建立连接,并且针对所述第二多个节点是否已被正确地网络配置来查询所述公共能够访问的节点。
20.根据权利要求17所述的系统,进一步包括:
用于接收用于所述第一多个节点和所述第二多个节点的网络配置信息的装置;以及
用于生成包括用于所述第一多个节点和所述第二多个节点的网络配置信息的所述第一系统级网络配置文件的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/337,925 | 2016-10-28 | ||
US15/337,925 US10389580B2 (en) | 2016-10-28 | 2016-10-28 | Distributed computing system configuration |
PCT/IB2017/001133 WO2018078431A1 (en) | 2016-10-28 | 2017-09-15 | Distributed computing system configuration |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109891401A CN109891401A (zh) | 2019-06-14 |
CN109891401B true CN109891401B (zh) | 2023-12-26 |
Family
ID=60083353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780058145.9A Active CN109891401B (zh) | 2016-10-28 | 2017-09-15 | 分布式计算系统配置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10389580B2 (zh) |
CN (1) | CN109891401B (zh) |
DE (1) | DE112017005453T5 (zh) |
WO (1) | WO2018078431A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112805984B (zh) * | 2018-10-03 | 2022-09-23 | 华为技术有限公司 | 用于部署增量网络更新的系统 |
CN109460189B (zh) * | 2018-11-14 | 2022-12-09 | 郑州云海信息技术有限公司 | 一种存储系统的初始化方法及装置 |
US10812622B1 (en) * | 2019-03-31 | 2020-10-20 | Td Ameritrade Ip Company, Inc. | Centralized automation system for service management |
US11119783B2 (en) | 2019-06-30 | 2021-09-14 | Td Ameritrade Ip Company, Inc. | Centralized automation system for resource management |
CN112202587A (zh) * | 2019-07-08 | 2021-01-08 | 富士通株式会社 | 用于推荐和生成网络配置的方法和装置 |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1009130A1 (en) | 1998-12-11 | 2000-06-14 | International Business Machines Corporation | Distributed directory services for locating network resources in a very large packet switching network |
US6345294B1 (en) | 1999-04-19 | 2002-02-05 | Cisco Technology, Inc. | Methods and apparatus for remote configuration of an appliance on a network |
US7617292B2 (en) | 2001-06-05 | 2009-11-10 | Silicon Graphics International | Multi-class heterogeneous clients in a clustered filesystem |
US6925540B2 (en) * | 2002-05-02 | 2005-08-02 | Intel Corporation | Systems and methods for chassis identification |
US8799428B2 (en) * | 2004-12-30 | 2014-08-05 | Intel Corporation | Automated provisioning of new networked devices |
US7895308B2 (en) * | 2005-05-11 | 2011-02-22 | Tindall Steven J | Messaging system configurator |
US8688965B2 (en) * | 2006-09-29 | 2014-04-01 | Intel Corporation | System and method for increasing platform network boot efficiency |
US7958219B2 (en) * | 2008-06-19 | 2011-06-07 | Dell Products L.P. | System and method for the process management of a data center |
US8380971B2 (en) * | 2008-12-02 | 2013-02-19 | Dell Products, Lp | Information handling systems including network adapters and methods of booting the information handling systems using boot configuration information from remote sources |
US8310950B2 (en) | 2009-12-28 | 2012-11-13 | Oracle America, Inc. | Self-configuring networking devices for providing services in a nework |
US20110292807A1 (en) * | 2010-05-27 | 2011-12-01 | Hemal Shah | Method and system for sideband communication architecture for supporting manageability over wireless lan (wlan) |
US8910156B1 (en) * | 2011-04-29 | 2014-12-09 | Netapp, Inc. | Virtual machine dependency |
US20120311111A1 (en) * | 2011-06-03 | 2012-12-06 | Microsoft Corporation | Dynamic reconfiguration of cloud resources |
US9367360B2 (en) * | 2012-01-30 | 2016-06-14 | Microsoft Technology Licensing, Llc | Deploying a hardware inventory as a cloud-computing stamp |
US9641394B2 (en) * | 2012-01-30 | 2017-05-02 | Microsoft Technology Licensing, Llc | Automated build-out of a cloud-computing stamp |
US9973385B2 (en) * | 2012-01-31 | 2018-05-15 | Hewlett Packard Enterprise Development Lp | Remote server configuration |
US9146812B2 (en) * | 2012-02-03 | 2015-09-29 | Dell Products Lp | Systems and methods for out-of-band backup and restore of hardware profile information |
US9268590B2 (en) | 2012-02-29 | 2016-02-23 | Vmware, Inc. | Provisioning a cluster of distributed computing platform based on placement strategy |
US9262231B2 (en) * | 2012-08-07 | 2016-02-16 | Advanced Micro Devices, Inc. | System and method for modifying a hardware configuration of a cloud computing system |
US20140047079A1 (en) * | 2012-08-07 | 2014-02-13 | Advanced Micro Devices, Inc. | System and method for emulating a desired network configuration in a cloud computing system |
US9331940B2 (en) * | 2012-08-28 | 2016-05-03 | Alcatel Lucent | System and method providing distributed virtual routing and switching (DVRS) |
CN103795602B (zh) | 2012-10-30 | 2017-05-10 | 华为技术有限公司 | 虚拟网络的网络策略配置方法及装置 |
US9697172B1 (en) * | 2012-12-28 | 2017-07-04 | Juniper Networks, Inc. | Virtual network optimizing a physical network |
US9170978B2 (en) * | 2013-08-16 | 2015-10-27 | Verizon Patent And Licensing Inc. | Data center activation and configuration |
US9430262B1 (en) * | 2013-12-19 | 2016-08-30 | Amdocs Software Systems Limited | System, method, and computer program for managing hierarchy and optimization in a network function virtualization (NFV) based communication network |
US10044795B2 (en) * | 2014-07-11 | 2018-08-07 | Vmware Inc. | Methods and apparatus for rack deployments for virtual computing environments |
US9602468B2 (en) | 2014-11-19 | 2017-03-21 | Facebook, Inc. | Techniques to authenticate a client to a proxy through a domain name server intermediary |
US20160179581A1 (en) * | 2014-12-19 | 2016-06-23 | Netapp, Inc. | Content-aware task assignment in distributed computing systems using de-duplicating cache |
US10833940B2 (en) * | 2015-03-09 | 2020-11-10 | Vapor IO Inc. | Autonomous distributed workload and infrastructure scheduling |
US10747564B2 (en) | 2015-04-02 | 2020-08-18 | Vmware, Inc. | Spanned distributed virtual switch |
US10348574B2 (en) * | 2015-08-17 | 2019-07-09 | Vmware, Inc. | Hardware management systems for disaggregated rack architectures in virtual server rack deployments |
US9985842B2 (en) * | 2015-10-30 | 2018-05-29 | Vapor IO Inc. | Bus bar power adapter for AC-input, hot-swap power supplies |
US11263006B2 (en) * | 2015-11-24 | 2022-03-01 | Vmware, Inc. | Methods and apparatus to deploy workload domains in virtual server racks |
US10282267B2 (en) * | 2016-06-23 | 2019-05-07 | Hewlett Packard Enterprise Development Lp | Monitor peripheral device based on imported data |
US10382392B2 (en) * | 2016-08-01 | 2019-08-13 | Big Switch Networks, Inc. | Systems and methods for network address translation |
-
2016
- 2016-10-28 US US15/337,925 patent/US10389580B2/en active Active
-
2017
- 2017-09-15 DE DE112017005453.2T patent/DE112017005453T5/de active Pending
- 2017-09-15 CN CN201780058145.9A patent/CN109891401B/zh active Active
- 2017-09-15 WO PCT/IB2017/001133 patent/WO2018078431A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20180123876A1 (en) | 2018-05-03 |
WO2018078431A1 (en) | 2018-05-03 |
DE112017005453T5 (de) | 2019-08-08 |
CN109891401A (zh) | 2019-06-14 |
US10389580B2 (en) | 2019-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109891401B (zh) | 分布式计算系统配置 | |
CN105446793B (zh) | 迁移虚拟资产的方法和设备 | |
US11172022B2 (en) | Migrating cloud resources | |
JP6403800B2 (ja) | エンタープライズ・ベース・ネットワーク及びマルチテナント・ネットワーク間でのアプリケーションの移行 | |
US20160352836A1 (en) | Migrating cloud resources | |
CN105450690B (zh) | 虚拟机管理程序执行的方法和虚拟机管理系统 | |
US11385892B1 (en) | Optimal software architecture recommendations by an application modernization service | |
CN107615716A (zh) | 用于云联网的多租户感知动态主机配置协议(dhcp)机制 | |
CN104601622A (zh) | 一种部署集群的方法和系统 | |
US11005810B2 (en) | Multi-tenant environment with overlapping address space | |
CN109213498A (zh) | 一种互联网web前端的配置方法及服务器 | |
CN104516730A (zh) | 一种数据处理方法和装置 | |
CN105100127A (zh) | 用于验证在云计算环境中的应用部署拓扑的设备和方法 | |
CN106648838B (zh) | 一种资源池管理的配置方法及装置 | |
US11605033B2 (en) | Quantum computing task translation supporting multiple quantum computing technologies | |
US10949252B1 (en) | Benchmarking machine learning models via performance feedback | |
JP2023551841A (ja) | 複雑なレガシーアプリケーションの移行 | |
Luo et al. | From monolithic systems to a federated e-learning cloud system | |
US11762644B2 (en) | Agentless installation for building deployments | |
Zaharov et al. | Use of open-source Internet of things platform in education projects | |
Touhafi et al. | CoderLabs: A cloud‐based platform for real‐time online labs with user collaboration | |
CN114846480A (zh) | 支持多种量子计算技术的量子计算服务 | |
Foulds | Learn Azure in a month of lunches | |
US20220300611A1 (en) | Run-time communications protocol parameter adjustment in containerized applications | |
CN115622878A (zh) | k8s网桥插件实现方法、装置、电子设备和可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |