CN105706056A - 现代硬件上的故障域 - Google Patents

现代硬件上的故障域 Download PDF

Info

Publication number
CN105706056A
CN105706056A CN201480054961.9A CN201480054961A CN105706056A CN 105706056 A CN105706056 A CN 105706056A CN 201480054961 A CN201480054961 A CN 201480054961A CN 105706056 A CN105706056 A CN 105706056A
Authority
CN
China
Prior art keywords
nodal point
secondary nodal
physical hardware
described secondary
primary nodal
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.)
Pending
Application number
CN201480054961.9A
Other languages
English (en)
Inventor
N·武伊奇
W·S·游
J·克莱恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN105706056A publication Critical patent/CN105706056A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)

Abstract

改善分布式节点的利用率。本文所示的一个实施例包括可在包括虚拟化硬件的虚拟化分布式计算环境中实施的方法。计算环境中的不同节点可共享一个或多个公共物理硬件资源。该方法包括标识第一节点。该方法进一步包括标识第一节点的一个或多个物理硬件资源。该方法进一步包括标识在第一节点上采取的行动。该方法进一步包括标识第二节点。该方法进一步包括确定第二节点不与第一节点共享一个或多个物理硬件资源。作为确定第二节点不与第一节点共享一个或多个物理硬件资源的结果,该方法进一步包括在第二节点上复制在第一节点上采取的行动。

Description

现代硬件上的故障域
背景
背景和相关技术
计算机和计算系统已经影响了现代生活的近乎每一个方面。计算机通常涉及工作、休闲、医疗保健、运输、娱乐、家政管理等。
此外,计算系统功能还可以通过计算系统经由网络连接互连到其他计算系统的能力来增强。网络连接可包括,但不仅限于,经由有线或无线以太网的连接,蜂窝式连接,或者甚至通过串行、并行、USB或其它连接的计算机到计算机的连接。这些连接允许计算系统访问其他计算系统上的服务,并快速且有效地从其他计算系统接收应用数据。
计算系统的互连已便于分布式计算系统,即所谓的“云”计算系统。在本说明书中,“云计算”可以是用于允许对可配置的计算资源(如网络、服务器、存储、应用、以及服务)的共享池进行无处不在的、方便的、按需的网络访问的系统或资源,这些计算资源可用减少的管理努力或服务提供者交互来快速地被供应和发行。云模型可由各种特性(如按需自服务、广泛网络访问、资源池、快速灵活性、测量服务等)、服务模型(如软件即服务(SaaS)、平台即服务(PaaS)、基础结构即服务(IaaS))以及部署模型(如私有云、社区云、公共云、混合云等)组成。
基于云和远程的服务应用是流行的。这种应用主存于诸如云的公有和私有远程系统上,并且通常提供一组基于web的服务用于与客户端来回传送。
商用分布式、高性能计算和大数据群集包括服务器节点集合,这些服务器节点容纳计算硬件资源(CPU、RAM、网络)以及本地存储(硬盘驱动器和固态盘)两者,并且一起进行计算和存储,构成故障域。具体地,故障域是单个故障点的范围。例如,插入电插座中的计算机具有单个故障点,因为如果切断到电插座的电源,则计算机将发生故障(假设不存在备用电源)。非商用分布式群集可按计算服务器和存储分开的方式来配置。事实上,这些群集可能不再处在一对一关系中(即,一个服务器和一个存储单元),而处在多对一关系(即,两个或更多个服务器访问一个存储单元)或多对多关系(即,两个或更多服务器访问两个或更多个存储单元)中。此外,将现代群集拓扑结构上的虚拟化与同计算分开的存储联用增加了故障域的定义的复杂性,故障域可能需要被定义以设计并构建高度可用的解决方案,尤其是在故障域涉及数据复制和复原性时。
现有的商用群集设计已作出了某些假设:即服务器(及其本地存储)的物理边界定义故障域。例如,工作负载服务(即,软件)、CPU、存储器和存储全部都在同一物理边界内,该物理边界定义故障域。然而,由于可存在工作负载服务的多个实例,而且在现代硬件拓扑结构上,计算(CPU/存储器)和存储并不在同一物理边界内,因此该假设对虚拟化并不成立。例如,存储可在分开的物理边界中,该分开的物理边界为诸如存储区域网络(SAN)、网络附连存储(NAS)、磁盘簇(JBOD)等等。
将这样的设计应用于现代硬件拓扑结构上的虚拟化环境中是有限制的,并且不会提供细粒度故障域来提供高度可用并容错的系统。
此处要求保护的主题不限于解决任何缺点或仅在诸如上述环境这样的环境中操作的各实施例。相反,提供该背景仅用于例示其中可实现所述一些实施例的一个示例性技术领域。
概述
本文例示的一个实施例包括可在包括虚拟化硬件的虚拟化分布式计算环境中实施的方法。计算环境中的不同节点可共享一个或多个公共物理硬件资源。该方法包括用于改善对分布式节点的利用率的动作。该方法包括标识第一节点。该方法进一步包括标识第一节点的一个或多个物理硬件资源。该方法进一步包括标识在第一节点上采取的行动。该方法进一步包括标识第二节点。该方法进一步包括确定第二节点不与第一节点共享一个或多个物理硬件资源。作为确定第二节点不与第一节点共享一个或多个物理硬件资源的结果,该方法进一步包括在第二节点上复制在第一节点上采取的行动。
提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并非旨在标识出要求保护的主题的关键特征或必要特征,亦非旨在用作辅助确定要求保护的主题的范围。
附加特征和优点将在以下描述中提出,且部分会从描述中显而易见,或者可以通过实践此处的原理来获悉。本发明的特征和优点可以通过在所附权利要求书中特别指出的工具和组合来实现和获得。本发明的特征从以下描述和所附权利要求书中将更完全显而易见,或者可以通过如下文所述实践本发明而获悉。
附图简述
为了描述可获得以上记载的及其他优点和特征的方式,将参照各具体实施例呈现以上简述的主题的更具体描述,各具体实施例在附图中例示。理解这些附图仅描述典型的实施例,因此不应被视为限制本发明的范围,各实施例将通过使用附图以附加的具体性和细节来描述和解释,附图中:
图1示出故障域的示例;
图2示出现代硬件实现;
图3示出使用现代硬件的节点分组;
图4示出使用现代硬件的节点分组;
图5示出使用具有单个节点群组的现代硬件的节点分组;
图6示出使用具有被应用来将副本放置在不同故障域中的放置约束的现代硬件的节点分组;
图7示出使用具有被应用来将副本放置在不同故障域中的放置约束的现代硬件的节点分组;
图8示出服务请求复制;
图9示出在虚拟应用服务器可在相同硬件上被实现时使用硬件约束的请求复制;
图10示出改善对分布式节点的利用率的方法;以及
图11例示了示出使用硬件约束的复制放置过程的序列图。
详细描述
本文中描述的实施例可包括用于促成对硬件拓扑结构内的细粒度依赖性以及约束的定义以允许对故障域的定义的功能。各实施例可提供用于管理硬件拓扑结构内分布任务的依赖性以增加高可用性和容错性的功能。所关心的给定任务可以是需要被分布的任何作业。例如,一个这样的任务可包括跨web服务器场对HTTP请求进行负载平衡。替换地或另选地,这样的任务可包括跨多个存储服务器保存/复制数据。各实施例扩展并提供由虚拟化和现代硬件技术引入的附加依赖性以改善分布算法来提供高可用性和容错性。
各实施例可补充虚拟层和物理层之间的附加约束以提供高度可用和容错的系统。另选地或替换地,当这些硬件组件不再共享相同的物理边界时,各实施例重新定义并扩充现代硬件拓扑结构上的故障域。另选地或替换地,各实施例提供由虚拟化和现代硬件拓扑结构引入的附加依赖性,使得分布算法可被优化以实现改善的可用性和容错性。
通过提供更智能的请求分布算法,具有最快响应时间的结果(在对HTTP请求进行负载平衡的情况下)被返回,从而导致更好的响应时间。
通过提供更智能的数据分布算法,过度复制(在保存经复制的数据的情况下)可被避免,从而导致更好的对硬件资源的利用率,并且高数据可用性可通过降低故障依赖性来实现。
通过这种方式,故障域边界可被建立在现代硬件上。这可在面对一个或多个故障(诸如硬件故障、消息被丢失等)时帮助行动成功。这还可被用于增加被服务的顾客的数目。
现在在以下示出分布式应用框架可如何跨各数据节点分布经复制的数据。具体地,可从Apache软件基金会获得的ApacheHadoop可如在以下对现代硬件拓扑结构上的群集部署的例示中描述的那样起作用。
分布式应用框架(诸如ApacheHadoop)通过形成相同数据的若干副本来提供数据复原性。通过该方法,分布式应用框架如何分布经复制的数据对于数据复原性而言是重要的,因为如果所有经复制的副本都在一个盘上,则盘的丢失将导致丢失该数据。为了消除该风险,分布式应用框架可实现机架感知和节点群组概念以将经复制的副本充分地分布在不同的故障域中,使得故障域的丢失不将导致丢失所有经复制的副本。如本文中所使用的,节点群组是包括计算节点和存储节点的节点集合。节点群组充当单个实体。可跨不同的节点群组复制数据或行动以提供复原性。例如,考虑图1中所示的示例。图1示出包括第一机架104和第二机架106的分布式系统102。在该示例中,通过利用机架感知和节点群组,分布式应用框架已确定将一个副本108存储在服务器1110上并将其他副本112存储在服务器3114(复制因子为2)上是分布并存储该数据的两个(2)副本最容错的方式。在这种情况下:
如果机架1104变为离线,则副本2112仍在线。
如果机架2106变为离线,则副本1108仍在线。
如果服务器1110变为离线,则副本2112仍在线。
如果服务器3114变为离线,则副本1108仍在线。
当物理服务器使分布式应用框架包含服务(数据节点)、计算(CPU)、存储器和存储时,这工作良好。然而,当在现代硬件上使用虚拟化时,在这些组件不在同一物理边界上的情况下,该方法存在限制。
例如,考虑在图2中示出的类似部署,其中虚拟化和分开存储两者被使用。使用虚拟化,两个数据节点被主存在一个物理服务器上。使用分开的存储(JBOD),计算(CPU)和存储在两个物理边界上。在该情况下,由于计算(CPU)和存储之间已通过对现代硬件上的虚拟化的使用引入的不对称映射,不存在定义节点群组和主要数据复制的最优方式。考虑以下三个选项。
选项1:按照服务器的节点群组。图3示出用于实现按照物理服务器的节点群组的示例。该选项的限制是对于复制因子2,如果副本1202被数据节点DN1204存储在盘D1206处,并且副本2208被数据节点DN3210存储在盘D3212处,则JBOD1214的丢失会导致数据丢失。替换地,可使用复制因子3,从而导致较小的净可用存储空间。虽然复制因子3将避免数据丢失(丢失全部3个副本),则非预期的副本丢失不可被避免,因为单个故障将导致两个副本的丢失。
选项2:按照JBOD的节点群组。图4示出用于实现按照JBOD的节点群组的示例。该选项的限制是对于复制因子2,如果副本1402被数据节点DN3410存储在盘D3412处,并且副本2408被数据节点DN4416存储在盘D4418处,则物理服务器2420的丢失会导致数据丢失。
选项3:一个节点群组。图5示出用于实现单个群组节点500的示例。该选项的限制是不可保证数据复原性,而不管该数据的多少副本被复制。如果该节点群组配置被使用,则该唯一的选项是部署附加的服务器来创建附加节点群组,这1)将是昂贵的且2)会任意地增加部署范围而不管实际的存储需求。
本文中的各实施例通过利用机架感知和节点群组概念两者来克服这些问题,并将其扩展为在硬件拓扑结构内引入依赖性概念。通过进一步阐明该硬件拓扑结构中的约束,该系统可在如何分布经复制的副本方面变得更智能。重新考虑以上示例:
选项1:按照服务器的节点群组。图6示出图3中示出的节点群组配置,但是具有限制数据副本可被存储在何处的约束。在该示例中,各实施例定义数据节点DN1204、数据节点DN2222和数据节点DN3210之间的约束,因为相应的存储、盘D1206、盘D2224和盘D3212在同一JBOD214中。如果副本1202被存储在数据节点DN1204中,则通过履行节点群组,副本2208可被存储在数据节点DN3210、数据节点DN4226、数据节点DN5228或数据节点DN6230中。然而,由于已为此硬件拓扑结构指定的附加约束,即不同的副本不可被存储在同一JBOD上,数据节点DN2222和数据节点DN3210不适合用于副本2208。因此,数据节点DN4226、数据节点DN5228或数据节点DN6230之一被用于副本2208。在图6中示出的示例中,数据节点DN4226被挑选来存储副本2208。
选项2:按照JBOD的节点群组。图7示出了与图4中示出的示例具有相同的节点群组配置但还施加有某些约束的示例。在该示例中,各实施例定义数据节点DN3410和数据节点DN4416之间的约束,因为它们被虚拟化在相同的物理服务器,即服务器2420上。如果副本1402可通过存储在盘D3412中而被存储在数据节点DN3410中,则履行该节点群组,副本2被存储在数据节点DN4416、数据节点DN5432或数据节点DN6434之一中。然而,由于已为此硬件拓扑结构指定的附加约束,即各副本不可由共享相同物理服务器的数据节点来存储,数据节点DN4416不适合用于副本2408。因此,数据节点DN5432或数据节点DN6434必须被用于副本2408。在图7中示出的示例中,数据节点DN6434被挑选来存储副本2408。
如上所述,指定附加硬件和部署拓扑结构约束也可被用来智能地分布web请求。例如,作为优化用户相应时间的方式,负载平衡器可复制web请求并将其转发至多个应用服务器。负载平衡器将响应从任何应用服务器发送回给具有最快响应的客户端,并将丢弃其余的响应。例如,现参考图8,请求802是在负载平衡器804处从客户端806处接收的。该请求被负载平衡器804复制,并被发送至应用服务器808和810。在该示例中,AppSrv2810首先响应,并且复制平衡器804将响应812转发给客户端806。AppSrv1808响应较慢,并且该响应被复制平衡器丢弃。
然而,如果如图9所示,负载平衡器804已另外意识到AppSrv1808和AppSrv2810被虚拟化但被托管在相同的物理服务器816上,则在给定有增加的可能性从不与AppSrv1808共享任何资源的应用服务器接收不同的响应时间的情况下,各实施例可在物理服务器818上复制这些请求并将其发送到AppSrv1808和AppSrv3820。具体地,在图9中,如果请求802是在AppSrv1808和AppSrv2810两者在同一物理服务器816上时被复制并被发送至AppSrv1808和AppSrv2810的,则响应812和814将可能非常相似,由此复制请求802将获得很少优势或没有优势。然而,当请求被复制并被发送到物理服务器1816上的AppSrv1808和物理服务器818上的AppSrv3820时,总响应时间可被减少,因为不同物理服务器上的不同应用服务器将可能具有显著不同的响应时间。
下面的讨论现在涉及可被执行的多个方法和方法动作。尽管这些方法动作可以以特定次序被讨论或在流程图中被例示为以特定次序发生,但是除非特别指明否则不需要任何特定排序,或者因某一动作取决于在该动作被执行之前完成的另一个动作而要求特定排序。
现在参考图10,例示出方法1000。方法1000可以在包括虚拟化硬盘的虚拟化分布式计算环境中实施。具体地,计算环境中的不同节点可共享一个或多个公共物理硬盘资源。该方法包括用于改善分布式节点的利用率的动作。该方法包括标识第一节点(动作1002)。例如,如图7所示,数据节点DN3410可被标识出。
方法1000进一步包括标识第一节点的一个或多个物理硬盘资源(动作1004)。例如,如图7所示,物理服务器2420被标识为用于实现节点DN3410的物理硬件资源。
方法1000进一步包括标识第一节点上采取的行动(动作1006)。在图7所示的示例中,标识出的行动可以是将副本1防止在盘D3412处的节点DN3410上。
方法1000进一步包括标识第二节点(动作1008)。在图7中所示的示例中,数据节点DN6434被标识出。
方法1000进一步包括确定第二节点不与第一节点共享一个或多个物理硬件资源(动作1010)。在图7所示的示例中,这是通过来实现的:作为节点DN3410和DN4416在相同的物理服务器420上被实现的结果,使得约束被施加于这些节点。由此,由于不存在有关DN6434相对于DN3410的约束,可确定DN3410和DN6434不共享相同的物理服务器。
作为确定第二节点不与第一节点共享一个或多个物理硬件资源的结果,方法1000进一步包括在第二节点上复制在第一节点上采取的行动(动作1012)。由此,例如如图7所示,副本2408是通过将副本2408放置在盘D6434上而被放置在节点DN6434上的。
如图7所示,方法1000可被实施,其中在第二节点上复制在第一节点上采取的行动包括复制资源对象。然而,可实现其他替换例。
例如,方法1000可被实施,其中在第二节点上复制在第一节点上采取的行动包括将服务请求复制到第二节点。这个的一个示例在图9中示出,图9示出将请求802复制到物理服务器806上的应用服务器AppSrv1808以及在不同的物理服务器818上的应用服务器AppSrv3820,使得不同的应用服务器不共享相同的物理服务器。这可针对负载平衡来实现以确保负载在不同的物理硬件组件之间被平衡,或者这可针对路由来实现以确保路由请求被均匀地分布。替换地,这可被实现以尝试优化对客户端服务请求的响应时间,如图9的示例中所示的。
例如,将服务请求复制到第二节点可包括优化对客户端发送服务器请求的响应。在这样的示例中,该方法可进一步包括接收来自第二节点的响应;将来自第二节点的响应转发到发送服务请求的客户端;在接收到来自第二节点的响应后,接收来自第一节点的响应;以及丢弃来自第一节点的响应。由此,如图9所示,标识第一节点包括标识AppSrv1808。标识第一节点的一个或多个物理硬件资源包括标识物理服务器1816。标识在第一节点上采取的行动包括标识向AppSrv1808发送请求802。标识第二节点包括标识AppSrv3820。确定第二节点不与第一节点共享一个或多个物理硬件资源包括标识AppSrv1808和AppSrv3820在不同的物理服务器上。作为确定第二节点不与第一节点共享一个或多个物理硬件资源的结果,在第二节点上复制在第一节点上采取的行动包括向AppSrv3820发送请求802。接收来自第二节点的响应包括接收来自AppSrv3820的响应812。将来自第二节点的响应转发到发送服务请求的客户端包括负载平衡器804将响应812转发到客户端806。在接收来自第二节点的响应后接收来自第一节点的响应包括接收来自AppSrv1808的响应814。丢弃来自第一节点的响应包括在负载平衡器804处丢弃响应814。
方法1000可被实施,其中确定第二节点不与第一节点共享一个或多个物理硬件资源包括确定第二节点不与第一节点共享物理硬件处理器资源。替换地或另选地,确定第二节点不与第一节点共享一个或多个物理硬件资源包括确定第二节点不与第一节点共享物理硬件存储器资源。替换地或另选地,确定第二节点不与第一节点共享一个或多个物理硬件资源包括确定第二节点不与第一节点共享物理硬件存储资源。替换地或另选地,确定第二节点不与第一节点共享一个或多个物理硬件资源包括确定第二节点不与第一节点共享物理硬件网络资源。替换地或另选地,确定第二节点不与第一节点共享一个或多个物理硬件资源包括确定第二节点不与第一节点共享主机。替换地或另选地,确定第二节点不与第一节点共享一个或多个物理硬件资源包括确定第二节点不与第一节点共享盘。替换地或另选地,确定第二节点不与第一节点共享一个或多个物理硬件资源包括确定第二节点不与第一节点共享JBOD。替换地或另选地,确定第二节点不与第一节点共享一个或多个物理硬件资源包括确定第二节点不与第一节点共享电源。等等。
现在参考图11,示出了复制放置过程。以上在图7中示出该放置的结果。在1102,头节点1122指示资源的副本1将被存储在数据节点DN3210上。在1104,数据节点DN3210指示副本1被成功存储。
在1106,数据节点DN3210向节点群组定义1124请求在与数据节点DN3210不同的节点群组中的其他节点的列表。节点群组定义1124向数据节点DN3返回节点DN4226、DN5228和DN6230在与节点DN3210不同的节点群组中的指示。
数据节点DN3210随后咨询依赖性定义1126来确定是否有任何节点与数据节点DN3210共享依赖性。具体地,依赖性定义可定义不应使复制的行动在其上执行的数据节点,因为在这些节点之间可存在某个共享的硬件。在该具体示例中,节点DN3210和DN4226驻留在同一物理服务器上,并且由此依赖性定义返回节点DN4226与节点DN3210共享依赖性的指示。
如1114处所示,数据节点DN3210将返回的依赖性(即,数据节点DN4226)与包括节点DN4226、DN5228和DN6230的节点群组定义进行比较。该比较使得节点DN3确定DN5228和DN6230适用于副本2。
由此,在1118,节点DN3210向DN6230指示副本2应当被存储在节点DN6230处。节点DN6230将副本2存储在节点DN6230处,并如1120处所指示的将确认发送回给节点DN3210。
而且,各方法可由计算机系统实现,计算机系统包括一个或多个处理器以及诸如计算机存储器这样的计算机可读介质。特别是,计算机存储器可以存储计算机可执行指令,该计算机可执行指令在由一个或多个处理器执行时使各种功能得以被执行,诸如各实施例中记载的动作。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特征或动作或上述动作的次序。相反,上述特征和动作是作为实现权利要求的示例形式而公开的。
计算系统现在越来越多地采取多种多样的形式。例如,计算系统可以是手持式设备、电器、膝上型计算机、台式计算机、大型机、分布式计算系统或甚至常规上不被认为是计算系统的设备。在本说明书以及权利要求书中,术语“计算系统”被广义地定义为包括任何设备或系统(或其组合),该设备或系统包含至少一个物理且有形的处理器以及其上能具有可由处理器执行的计算机可执行指令的物理且有形的存储器。计算系统可以分布在网络环境中,并可包括多个组分计算系统。
在其最基本配置中,计算系统通常包括至少一个处理单元和存储器。存储器可以是物理系统存储器,该物理系统存储器可以是易失性的、非易失性的、或两者的某种组合。术语“存储器”也可在此用来指示诸如物理存储介质这样的非易失性大容量存储器。如果计算系统是分布式的,则处理、存储器和/或存储能力也可以是分布式的。
如本文中所使用的,术语“可执行模块”或“可执行组件”可以指可以在计算系统上执行的软件对象、例程或方法。此处所描述的不同组件、模块、引擎以及服务可以实现为在计算系统上执行的对象或进程(例如,作为分开的线程)。
在随后的描述中,参考由一个或多个计算系统执行的动作描述了各实施例。如果这样的动作是以软件实现的,则执行动作的相关联计算系统的一个或多个处理器响应于已经执行了计算机可执行指令来引导计算系统的操作。例如,这样的计算机可执行指令可以在形成计算机程序产品的一个或多个计算机可读介质上实现。这样的操作的示例涉及对数据的操纵。计算机可执行指令(以及被操纵的数据)可被存储在计算系统的存储器中。计算系统还可包含允许计算系统例如通过网络与其他消息处理器通信的通信信道。
在此描述的各实施例可包括或利用专用或通用计算机系统,该专用或通用计算机系统包括诸如例如一个或多个处理器和系统存储器等计算机硬件,如以下更详细讨论的。系统存储器可被包括在整体存储器内。系统存储器还可被称为“主存储器”,并且包括可被至少一个处理单元在存储器总线上被寻址的存储器位置,在这种情况下地址位置被声明在存储器总线自身上。系统存储器传统上是易失性的,但本文中描述的原理还应用于其中系统存储器部分或者甚至全部是非易失性的情况。
本发明范围内的各实施例也包括用于实现或存储计算机可执行指令和/或数据结构的实体及其他计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令和/或数据结构的计算机可读介质是计算机存储介质。承载计算机可执行指令和/或数据结构的计算机可读介质是传输介质。由此,作为示例而非限制,本发明的各实施例可包括至少两种显著不同的计算机可读介质:计算机存储介质和传输介质。
存储计算机可执行指令和/或数据结构的计算机存储介质是物理硬件存储介质。物理硬件存储介质包括计算机硬件,诸如RAM、ROM、EEPROM、固态驱动器(“SSD”)、闪存、相变存储器(“PCM”)、光盘存储、磁盘存储或其他磁存储设备、或可用于存储计算机可执行指令或数据结构形式的程序代码的任何其他硬件存储介质,其可由通用或专用计算机系统访问来实现本发明公开的功能。
传输介质可包括可用于携带计算机可执行指令或数据结构形式的程序代码并可由通用或专用计算机系统访问的网络和/或数据链路。“网络”被定义为使得电子数据能够在计算机系统和/或模块和/或其它电子设备之间传输的一个或多个数据链路。当信息通过网络或另一个通信连接(硬连线、无线、或者硬连线或无线的组合)传输或提供给计算机系统时,该计算机系统将该连接视为传输介质。上述的组合应当也被包括在计算机可读介质的范围内。
此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程序代码可从传输介质自动传输到计算机存储介质(或反之亦然)。例如,通过网络或数据链路接收到的计算机可执行指令或数据结构可以在网络接口模块(例如,“NIC”)内的RAM中被缓冲,然后最终被传输至计算机系统RAM和/或计算机系统处的较不易失性的计算机存储介质。因而,应当理解,计算机存储介质可被包括在还利用(或甚至主要利用)传输介质的计算机系统组件中。
计算机可执行指令例如包括,当在一个或多个处理器处执行时使通用计算机系统、专用计算机系统、或专用处理设备执行某一功能或某组功能的指令和数据。计算机可执行指令可以是例如二进制代码、诸如汇编语言之类的中间格式指令、或甚至源代码。
本领域的技术人员将理解,本文中描述的原理可以在具有许多类型的计算机系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、平板、寻呼机、路由器、交换机等等。本发明也可在其中通过网络链接(或者通过硬连线数据链路、无线数据链路,或者通过硬连线和无线数据链路的组合)的本地和远程计算机系统两者都执行任务的分布式系统环境中实施。如此,在分布式系统环境中,计算机系统可包括多个组成部分计算机系统。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备二者中。
本领域技术人员还将理解本发明可在云计算环境中实践。云计算环境可以是分布式的,但这不是必须的。在分布时,云计算环境可以国际性地分布在一个组织内,和/或具有跨多个组织拥有的组件。在该说明书和下面的权利要求书中,“云计算”被定义为用于允许对可配置计算资源(例如,网络、服务器、存储、应用和服务)的共享池的按需网络访问的模型。“云计算”的定义不限于可从这样的模型(在被合适地部署时)中获得的任何其他多个优点。
本发明可以以其他具体形式来体现,而不背离其精神或特征。所描述的实施例在所有方面都应被认为仅是说明性而非限制性的。从而,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变应被权利要求书的范围所涵盖。

Claims (10)

1.一种用于包括虚拟化硬件的虚拟化分布式计算环境中的改善分布式节点的利用率的方法,所述方法包括:
在包括虚拟化硬件的虚拟化分布式计算环境中,标识第一节点,其中所述计算环境中的不同节点可共享一个或多个公共物理硬件资源;
标识所述第一节点的一个或多个物理硬件资源;
标识在所述第一节点上采取的行动;
标识第二节点;
确定所述第二节点不与所述第一节点共享所述一个或多个物理硬件资源;
作为确定所述第二节点不与所述第一节点共享一个或多个物理硬件资源的结果,在所述第二节点上复制在所述第一节点上采取的所述行动。
2.如权利要求1所述的方法,其特征在于,在所述第二节点上复制在所述第一节点上采取的所述行动包括复制资源对象。
3.如权利要求1所述的方法,其特征在于,在所述第二节点上复制在所述第一节点上采取的所述行动包括将服务器请求复制到所述第二节点。
4.如权利要求3所述的方法,其特征在于,将服务请求复制到所述第二节点包括执行对服务请求的负载平衡。
5.如权利要求3所述的方法,其特征在于,将服务请求复制到所述第二节点包括执行对服务请求的路由。
6.如权利要求3所述的方法,其特征在于,将服务请求复制到所述第二节点包括优化对发送服务请求的客户端的响应,所述方法进一步包括:
接收来自所述第二节点的响应;
将来自所述第二节点的响应转发到发送所述服务请求的所述客户端;
在接收到来自所述第二节点的响应后,接收来自所述第一节点的响应;以及
丢弃来自所述第一节点的响应。
7.如权利要求1所述的方法,其特征在于,确定所述第二节点不与所述第一节点共享所述一个或多个物理硬件资源包括确定所述第二节点不与所述第一节点共享物理硬件处理器资源。
8.如权利要求1所述的方法,其特征在于,确定所述第二节点不与所述第一节点共享所述一个或多个物理硬件资源包括确定所述第二节点不与所述第一节点共享物理硬件存储器资源。
9.如权利要求1所述的方法,其特征在于,确定所述第二节点不与所述第一节点共享所述一个或多个物理硬件资源包括确定所述第二节点不与所述第一节点共享物理硬件存储资源。
10.如权利要求1所述的方法,其特征在于,确定所述第二节点不与所述第一节点共享所述一个或多个物理硬件资源包括确定所述第二节点不与所述第一节点共享物理硬件网络资源。
CN201480054961.9A 2013-10-03 2014-10-01 现代硬件上的故障域 Pending CN105706056A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/045,682 US20150100826A1 (en) 2013-10-03 2013-10-03 Fault domains on modern hardware
US14/045,682 2013-10-03
PCT/US2014/058503 WO2015050911A1 (en) 2013-10-03 2014-10-01 Fault domains on modern hardware

Publications (1)

Publication Number Publication Date
CN105706056A true CN105706056A (zh) 2016-06-22

Family

ID=51790846

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480054961.9A Pending CN105706056A (zh) 2013-10-03 2014-10-01 现代硬件上的故障域

Country Status (5)

Country Link
US (1) US20150100826A1 (zh)
EP (1) EP3053035A1 (zh)
CN (1) CN105706056A (zh)
BR (1) BR112016007119A2 (zh)
WO (1) WO2015050911A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108540315A (zh) * 2018-03-28 2018-09-14 新华三技术有限公司成都分公司 分布式存储系统、方法和装置
CN108829738A (zh) * 2018-05-23 2018-11-16 北京奇艺世纪科技有限公司 一种ceph中数据存储方法及装置

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10075342B2 (en) 2015-06-12 2018-09-11 Microsoft Technology Licensing, Llc Action orchestration in fault domains
US10785294B1 (en) * 2015-07-30 2020-09-22 EMC IP Holding Company LLC Methods, systems, and computer readable mediums for managing fault tolerance of hardware storage nodes
US9916208B2 (en) * 2016-01-21 2018-03-13 Oracle International Corporation Determining a replication path for resources of different failure domains
EP3355190A1 (en) * 2017-01-31 2018-08-01 Sony Corporation Device and system for maintaining a ditributed ledger
US10055145B1 (en) * 2017-04-28 2018-08-21 EMC IP Holding Company LLC System and method for load balancing with XOR star and XOR chain
CN107204878B (zh) * 2017-05-27 2018-01-02 国网山东省电力公司 一种认证服务器环形逃生系统和方法
US11520506B2 (en) 2018-01-31 2022-12-06 Salesforce.Com, Inc. Techniques for implementing fault domain sets
US20190044819A1 (en) * 2018-03-28 2019-02-07 Intel Corporation Technology to achieve fault tolerance for layered and distributed storage services
US10904322B2 (en) * 2018-06-15 2021-01-26 Cisco Technology, Inc. Systems and methods for scaling down cloud-based servers handling secure connections
US11436113B2 (en) * 2018-06-28 2022-09-06 Twitter, Inc. Method and system for maintaining storage device failure tolerance in a composable infrastructure
US11327859B1 (en) * 2018-09-18 2022-05-10 Amazon Technologies, Inc. Cell-based storage system with failure isolation
US11029875B2 (en) 2018-09-28 2021-06-08 Dell Products L.P. System and method for data storage in distributed system across multiple fault domains
US20200301789A1 (en) * 2019-03-18 2020-09-24 International Business Machines Corporation File Sharing Among Virtual Containers with Fast Recovery and Self-Consistency
US12093377B2 (en) 2022-04-27 2024-09-17 Bank Of America Corporation System and method for providing data security using software library containers

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7124320B1 (en) * 2002-08-06 2006-10-17 Novell, Inc. Cluster failover via distributed configuration repository
US20100070563A1 (en) * 2008-03-26 2010-03-18 Avaya Inc. Registering an Endpoint With a Sliding Window of Controllers in a List of Controllers of a Survivable Network
EP2334016A1 (en) * 2009-12-08 2011-06-15 The Boeing Company A method for determining distribution of a shared resource among a plurality of nodes in a network
US20120047394A1 (en) * 2010-08-17 2012-02-23 International Business Machines Corporation High-availability computer cluster with failover support based on a resource map
CN103297492A (zh) * 2012-02-07 2013-09-11 国际商业机器公司 用于在联网计算环境之间迁移数据的方法和系统

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6195680B1 (en) * 1998-07-23 2001-02-27 International Business Machines Corporation Client-based dynamic switching of streaming servers for fault-tolerance and load balancing
US6393485B1 (en) * 1998-10-27 2002-05-21 International Business Machines Corporation Method and apparatus for managing clustered computer systems
US6453468B1 (en) * 1999-06-30 2002-09-17 B-Hub, Inc. Methods for improving reliability while upgrading software programs in a clustered computer system
US20040205414A1 (en) * 1999-07-26 2004-10-14 Roselli Drew Schaffer Fault-tolerance framework for an extendable computer architecture
US20020198996A1 (en) * 2000-03-16 2002-12-26 Padmanabhan Sreenivasan Flexible failover policies in high availability computing systems
US7137040B2 (en) * 2003-02-12 2006-11-14 International Business Machines Corporation Scalable method of continuous monitoring the remotely accessible resources against the node failures for very large clusters
US7210124B2 (en) * 2003-06-16 2007-04-24 Microsoft Corporation Reformulating resources with nodes reachable from defined entry points
US20050108593A1 (en) * 2003-11-14 2005-05-19 Dell Products L.P. Cluster failover from physical node to virtual node
US20050198303A1 (en) * 2004-01-02 2005-09-08 Robert Knauerhase Dynamic virtual machine service provider allocation
US8185663B2 (en) * 2004-05-11 2012-05-22 Hewlett-Packard Development Company, L.P. Mirroring storage interface
WO2006020823A1 (en) * 2004-08-13 2006-02-23 Citrix Systems, Inc. A method for maintaining transaction integrity across multiple remote access servers
US20060047776A1 (en) * 2004-08-31 2006-03-02 Chieng Stephen S Automated failover in a cluster of geographically dispersed server nodes using data replication over a long distance communication link
US8185776B1 (en) * 2004-09-30 2012-05-22 Symantec Operating Corporation System and method for monitoring an application or service group within a cluster as a resource of another cluster
US7366960B2 (en) * 2004-10-08 2008-04-29 Microsoft Corporation Use of incarnation number for resource state cycling
US7933987B2 (en) * 2005-09-30 2011-04-26 Lockheed Martin Corporation Application of virtual servers to high availability and disaster recovery solutions
US8156164B2 (en) * 2007-07-11 2012-04-10 International Business Machines Corporation Concurrent directory update in a cluster file system
US8059541B2 (en) * 2008-05-22 2011-11-15 Microsoft Corporation End-host based network management system
US7886183B2 (en) * 2008-08-07 2011-02-08 Symantec Operating Corporation Providing fault tolerant storage system to a cluster
US8364802B1 (en) * 2008-09-23 2013-01-29 Gogrid, LLC System and method for monitoring a grid of hosting resources in order to facilitate management of the hosting resources
US8886796B2 (en) * 2008-10-24 2014-11-11 Microsoft Corporation Load balancing when replicating account data
US8156212B2 (en) * 2009-06-16 2012-04-10 JumpSoft, Inc. Method, system and apparatus for managing computer processes
US8055933B2 (en) * 2009-07-21 2011-11-08 International Business Machines Corporation Dynamic updating of failover policies for increased application availability
US8484510B2 (en) * 2009-12-15 2013-07-09 Symantec Corporation Enhanced cluster failover management
US8417885B2 (en) * 2010-02-24 2013-04-09 Avaya Inc. Method and apparatus for high availability (HA) protection of a running virtual machine (VM)
US8510590B2 (en) * 2010-03-17 2013-08-13 Vmware, Inc. Method and system for cluster resource management in a virtualized computing environment
US8856593B2 (en) * 2010-04-12 2014-10-07 Sandisk Enterprise Ip Llc Failure recovery using consensus replication in a distributed flash memory system
US8539197B1 (en) * 2010-06-29 2013-09-17 Amazon Technologies, Inc. Load rebalancing for shared resource
US8788579B2 (en) * 2011-09-09 2014-07-22 Microsoft Corporation Clustered client failover
JP5779254B2 (ja) * 2011-11-14 2015-09-16 株式会社日立製作所 計算機システムを管理する管理システム、計算機システムの管理方法及び記憶媒体
US20130275966A1 (en) * 2012-04-12 2013-10-17 International Business Machines Corporation Providing application based monitoring and recovery for a hypervisor of an ha cluster
US9128899B1 (en) * 2012-07-31 2015-09-08 Google Inc. Predictive failover planning
US8904231B2 (en) * 2012-08-08 2014-12-02 Netapp, Inc. Synchronous local and cross-site failover in clustered storage systems
US8930768B2 (en) * 2012-09-28 2015-01-06 Avaya Inc. System and method of failover for an initiated SIP session
US9122652B2 (en) * 2012-12-17 2015-09-01 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Cascading failover of blade servers in a data center
US9280428B2 (en) * 2013-04-23 2016-03-08 Neftali Ripoll Method for designing a hyper-visor cluster that does not require a shared storage device
US9367413B2 (en) * 2014-04-30 2016-06-14 Netapp, Inc. Detecting data loss during site switchover

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7124320B1 (en) * 2002-08-06 2006-10-17 Novell, Inc. Cluster failover via distributed configuration repository
US20100070563A1 (en) * 2008-03-26 2010-03-18 Avaya Inc. Registering an Endpoint With a Sliding Window of Controllers in a List of Controllers of a Survivable Network
EP2334016A1 (en) * 2009-12-08 2011-06-15 The Boeing Company A method for determining distribution of a shared resource among a plurality of nodes in a network
US20120047394A1 (en) * 2010-08-17 2012-02-23 International Business Machines Corporation High-availability computer cluster with failover support based on a resource map
CN103297492A (zh) * 2012-02-07 2013-09-11 国际商业机器公司 用于在联网计算环境之间迁移数据的方法和系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108540315A (zh) * 2018-03-28 2018-09-14 新华三技术有限公司成都分公司 分布式存储系统、方法和装置
CN108540315B (zh) * 2018-03-28 2021-12-07 新华三技术有限公司成都分公司 分布式存储系统、方法和装置
CN108829738A (zh) * 2018-05-23 2018-11-16 北京奇艺世纪科技有限公司 一种ceph中数据存储方法及装置
CN108829738B (zh) * 2018-05-23 2020-12-25 北京奇艺世纪科技有限公司 一种ceph中数据存储方法及装置

Also Published As

Publication number Publication date
US20150100826A1 (en) 2015-04-09
EP3053035A1 (en) 2016-08-10
WO2015050911A1 (en) 2015-04-09
BR112016007119A2 (pt) 2017-08-01

Similar Documents

Publication Publication Date Title
CN105706056A (zh) 现代硬件上的故障域
CN110392876B (zh) 用于将数据集和其他受管理对象同步地复制到基于云的存储系统的方法
Almeida et al. ChainReaction: a causal+ consistent datastore based on chain replication
US20190384678A1 (en) System and method for managing backup and restore of objects over cloud platforms
US8918392B1 (en) Data storage mapping and management
US11157457B2 (en) File management in thin provisioning storage environments
US11146626B2 (en) Cloud computing environment with replication system configured to reduce latency of data read access
US8832498B1 (en) Scalable codebook correlation for cloud scale topology
KR102444421B1 (ko) 중복 작업 결과를 사용하는 컴퓨팅 클러스터 관리
EP3513296B1 (en) Hierarchical fault tolerance in system storage
US10430217B2 (en) High availability using dynamic quorum-based arbitration
Hedlund Understanding Hadoop clusters and the network
US9736046B1 (en) Path analytics using codebook correlation
AU2011312036A1 (en) Automatic replication and migration of live virtual machines
CN105871603A (zh) 一种基于内存数据网格的实时流式数据处理失效恢复系统及方法
CN106605217B (zh) 用于将应用从一个站点移动到另一站点的方法和系统
US20230273741A1 (en) Container-based application processing
US20240211013A1 (en) Hibernating and resuming nodes of a computing cluster
US8621260B1 (en) Site-level sub-cluster dependencies
US11068192B1 (en) Utilizing mutiple snapshot sources for creating new copy of volume in a networked environment wherein additional snapshot sources are reserved with lower performance levels than a primary snapshot source
US10970181B2 (en) Creating distributed storage during partitions
US20150039847A1 (en) Balancing data distribution in a fault-tolerant storage system
US10193767B1 (en) Multiple available witnesses
US10104173B1 (en) Object subscription rule propagation
US11334397B2 (en) Application demand-based migration of virtual machines in logical clusters

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160622