CN107924338A - 地理分布式集群系统中的最优存储装置和工作负载放置以及高弹性 - Google Patents
地理分布式集群系统中的最优存储装置和工作负载放置以及高弹性 Download PDFInfo
- Publication number
- CN107924338A CN107924338A CN201680047877.3A CN201680047877A CN107924338A CN 107924338 A CN107924338 A CN 107924338A CN 201680047877 A CN201680047877 A CN 201680047877A CN 107924338 A CN107924338 A CN 107924338A
- Authority
- CN
- China
- Prior art keywords
- node
- place
- geographical place
- geographical
- group system
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/502—Proximity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Hardware Redundancy (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
用于本地地理场所知晓的集群系统的技术。这样的集群系统利用这种知晓来确定物理配置中位于不同地理场所的节点的子集,以基于地理场所来优化工作负载放置,以基于地理场来所做出故障转移和故障恢复决定,以及基于地理场所来为规定数量管理指派投票和删减节点。这样的能力导致集群系统在资源使用方面比没有这种本地地理场所知晓的集群系统更有弹性和更高效。
Description
发明内容
本部分中提供的发明内容总结了本文描述的技术的一个或多个部分或完整示例实施例,以便向读者提供基本的高级理解。本发明内容不是对技术的广泛描述,也不能标识技术的关键要素或方面,也不描绘技术的范围。其唯一目的是以简化的形式呈现技术的各个方面,作为以下提供的具体实施方式的序言。作为一个整体的技术不应限于本文所提供的任意特定实施例或示例或其组合。
客户跨不同的地理位置(“地理场所”)上部署集群系统以用于灾难恢复和更高的弹性,以及确保地理场所与客户处于相同位置(同时使用其他地理场所以用于备份/灾难恢复)。但是今天的集群系统并不知道地理位置。也就是说,它们本身不识别哪个集群节点子集位于一个物理位置,哪些节点的子集位于其他物理位置。相反,管理员必须手动指定这样的节点子集,即使这样,集群系统也不会在集群配置、工作负载放置或删减动态定额维护中智能地使用此信息(或甚至完全不使用此信息)。
例如,当工作负载基于诸如CPU或存储器利用率的传统因素而跨集群节点分布时,从地理场所的角度来看,所得到的工作负载分配可以非常低效,特别是当客户端位于一个地理场所,客户的工作负载被放置在远程的地理场所、并且工作负载的存储装置被放置在另一遥远的地理场所。理想情况下,我们希望客户端、工作负载和存储装置位于相同的地理场所,以便网络业务不必跨地理场所。通常跨地理场所的带宽比较昂贵,也更容易出现链路和路由器/交换机故障。
本发明涵盖用于本地地理场所知晓(aware)的集群系统的技术。这种集群系统利用这种知晓来确定物理配置中位于各种地理场所的节点的子集,以基于地理场所来管理工作负载的放置,以基于地理场所来做出故障转移和故障恢复决定,并且基于地理场所来删减节点以用于规定数量(quorum)管理。这样的能力导致集群系统在资源使用方面比没有这种本地地理场所知晓的集群系统更有弹性和更有效率。
附图说明
当结合附图考虑时,下面提供的具体实施方式将被更好地理解,在附图中:
图1是示出了其中可以实现本文描述的技术的示例计算环境100的框图;
图2是被配置用于实现本发明的各方面的示例系统200的框图;
图3是示出了用于推导集群的地理场所并且标识位于每个地理场所的物理集群资源(例如,节点和存储装置)的示例方法300的框图;
图4是示出了用于在诸如集群系统600的地理场所知晓集群系统中的组(托管工作负载)的放置和/或故障转移的示例方法400的框图;
图5是示出了用于通过地理场所知晓集群系统维持规定数量的示例方法500的框图;以及
图6是包括三个示例地理场所A 610、B 620和C 630以及示例见证者640的示例地理场所知晓集群系统600的框图。
具体实施方式
本部分结合附图提供的具体实施方式描述了本技术的一个或多个部分或全部的示例实施例,而不是旨在描述本技术的所有可能的实施例。该详细描述阐述了这些技术的至少一些系统和/或方法的各种示例。然而,根据示例也可以实现相同或等同的技术、系统和/或方法。
计算环境
尽管本文提供的示例被描述并且被图示为可在计算环境中实现,但是所描述的环境仅作为示例而不是限制来提供。如本领域技术人员将理解,所公开的示例适于在各种不同的计算环境中实现。
图1是示出了其中可以实现本文描述的技术的示例计算环境100的框图。合适的计算环境可以用许多通用或专用设备和/或系统中的任意一个来实现。这样的设备/系统的示例包括但不限于个人数字助理(“PDA”)、个人计算机(“PC”)、手持式或膝上型设备、基于微处理器的系统、多处理器系统、片上系统(“SOC”)、服务器、因特网服务、工作站、消费电子设备、手机、机顶盒等。在所有情况下,这些系统严格限于制品等。
计算环境100通常包括耦合到诸如外围设备102、103、101等的各种部件的至少一个计算设备101。这些可以包括可以经由一个或多个输入/输出(“I/O”)接口112操作的输入设备103的部件,诸如语音识别技术、触摸板、按钮、键盘和/或指点设备,诸如鼠标或轨迹球。计算设备101的部件可以包括一个或多个处理器(包括中央处理单元(“CPU”)、图形处理单元(“GPU”)、微处理器(“μP”)等)107、系统存储器109、和通常耦合到各种部件的系统总线108。处理器107通常处理或执行各种计算机可执行指令,并且基于这些指令来控制计算设备101的操作。这可以包括计算设备101经由诸如网络连接114等的各种通信技术来与其他电子和/或计算设备、系统或环境(未示出)进行通信。系统总线108表示任意数量的总线结构,包括存储器总线或存储器控制器、外围总线、串行总线、加速图形端口、使用各种总线架构中的任意一种的处理器或本地总线等。如本文使用的术语“计算设备”,除非前面带有词语“虚拟”,严格地指物理制品等。术语“虚拟计算设备”和“虚拟机”通常是指特定计算系统的仿真,并且通常被称为虚拟机(“VM”)。这些术语广泛地用于包括操作系统级别的虚拟化(“容器”),其中在一个示例中,操作系统的内核允许多个孤立的用户空间实例而不是仅一个,以及其中在另一示例中,内核和用户空间都是孤立的。这些可操作的VM最终被托管在非虚拟计算设备上。
系统存储器109可以包括诸如随机存取存储器(“RAM”)的易失性存储器和/或诸如只读存储器(“ROM”)或闪存(“FLASH”)的非易失性存储器形式的计算机可读介质内存。基本输入/输出系统(“BIOS”)可以以非易失性或类似方式被存储。系统存储器109通常存储数据、计算机可执行指令和/或程序模块,所述程序模块包括可由一个或多个处理器107立即访问和/或当前操作的计算机可执行指令。本文使用的术语“系统存储器”严格地指代物理制品等。
大容量存储设备104和110可以经由耦合到系统总线被耦合到计算设备101或者被并入到计算设备101中。这样的大容量存储设备104和110可以包括非易失性RAM,从可移除、非易失性磁盘(例如,“软盘”)105读取和/或向可移除、非易失性磁盘(例如,“软盘”)105写入的磁盘驱动器,和/或从诸如CD ROM、DVD ROM 106的非易失性光盘读取和/或写入到诸如CD ROM、DVD ROM 106的非易失性光盘的光学磁盘驱动器。备选地,诸如硬盘110的大容量存储设备可以包括不可移除存储介质。其他大容量存储设备可以包括存储卡、记忆棒、磁带存储设备等。本文使用的术语“大容量存储装置”严格地指代物理制品等。
任意数量的计算机程序、文件、数据结构等可以被存储在大容量存储器110、其他存储设备104、105、106和系统存储器109中(通常受可用空间限制),作为示例而非限制地包括操作系统、应用程序、数据文件、目录结构、计算机可执行指令等。
诸如显示设备102的输出部件或设备可一般地经由诸如显示器适配器111的接口耦合到计算设备101。输出设备102可为液晶显示器(“LCD”)。其他示例输出设备可以包括打印机、音频输出、语音输出、阴极射线管(“CRT”)显示器、触觉设备或其他感官输出机构等。输出设备可以使得计算设备101能够与人类操作员或其他机器、系统、计算环境等交互。用户可以经由诸如触摸板、按钮、键盘、鼠标、操纵杆、游戏手柄、数据端口等的任意数量的不同I/O设备103与计算环境100进行接口连接。这些和其他I/O设备可以经由可以耦合到系统总线108的I/O接口112耦合到处理器107、和/或可以通过诸如并行端口、游戏端口、通用串行总线(“USB”)、火线、红外(“IR”)端口等的其他接口和总线结构耦合。
计算设备101可以通过一个或多个蜂窝网络、无线网络、局域网(“LAN”)、广域网(“WAN”)、存储区域网络(“SAN”)、因特网、无线电链路、光链路等经由到一个或多个远程计算设备的通信连接在联网环境中操作。计算设备101可以经由网络适配器113等或者备选地经由调制解调器、数字订户线路(“DSL”)链路、综合业务数字网络(“ISDN”)链路、因特网链路、无线链接等被耦合到网络。
诸如网络连接的通信连接114通常提供到诸如网络的通信介质的耦合。通信介质通常使用诸如载波或其他传输机制的调制数据信号来提供计算机可读和计算机可执行指令、数据结构、文件、程序模块和其他数据。术语“调制的数据信号”通常意味着具有以将信息编码到信号中的方式设置或改变的一个或多个其特性的信号。作为示例而非限制,通信介质可以包括:有线介质,诸如有线网络或直接有线连接等;以及无线介质,诸如声学、射频、红外或其他无线通信机制。
诸如电池或供电电源的电源190通常为计算环境100的部分或全部提供电力。在计算环境100是移动设备或便携式设备等的情况下,电源190可以是电池。备选地,在计算环境100是桌面型计算机或服务器等的情况下,电源190可以是被设计为诸如经由墙上插座连接到交流(“AC”)源的供电电源。
一些移动设备可以仅包括结合图1描述的一些部件。例如,电子徽章(badge)可以由线圈等等连同简单的处理单元107等组成,线圈被配置为当靠近读卡器设备等时用作电源190。这样的线圈还可以被配置为充当耦合到处理单元107等的天线,该线圈天线能够发射/接收电子徽章与诸如读卡器设备的另一设备之间的通信。这样的通信可以不涉及联网,但也可以是经由遥测、点对点、RF、IR、音频或其他方式的通用或专用通信。电子卡可以不包括显示器102、I/O设备103或结合图1描述的许多其它部件。可以不包括结合图1描述的许多部件的其它移动设备作为示例但非限制地包括电子手镯、电子标签、植入式设备等。
本领域技术人员将认识到,用于提供计算机可读和计算机可执行指令和数据的存储设备可以分布在网络上。例如,远程计算机或存储设备可以以软件应用程序和数据的形式存储计算机可读指令和计算机可执行指令。本地计算机可以经由网络访问远程计算机或存储设备,并下载部分或全部软件应用或数据,并且可以执行任意计算机可执行指令。备选地,本地计算机可以根据需要下载软件或数据的片段,或者通过在本地计算机处执行一些指令并且在远程计算机和/或设备处执行一些指令来分布式地处理软件。
本领域技术人员还将认识到,通过利用常规技术,软件的计算机可执行指令的全部或部分可以由诸如数字信号处理器(“DSP”)、可编程逻辑阵列(“PLA”)、分立电路等的专用电子电路来执行。术语“电子装置”可以包括包含任意软件、固件等的计算设备或消费电子设备,或者不包括软件、固件等的电子设备或电路。
术语“固件”通常是指保持在诸如ROM的电子设备中的可执行指令、代码、数据、应用程序、程序、程序模块等。术语“软件”通常是指在任意形式或类型的计算机可读介质中或上保持的计算机可执行指令、代码、数据、应用程序、程序、程序模块等,计算机可读介质被配置用于以计算设备可访问的方式存储计算机可执行指令等。本文使用的术语“计算机可读介质”、“多个计算机可读介质”等等被限制为严格地指代本身不是信号或载波的一个或多个规定装置、制品等。如在权利要求中使用的术语“计算设备”限于严格指代不是信号或载波本身的一个或多个规定装置、制品等,诸如涵盖客户端设备、移动设备、一个或多个服务器、诸如基于一个或多个计算机的因特网服务或企业网络服务等的网络服务、和/或其任意组合的计算设备101。
术语“集群节点”或“节点”等是指被配置为集群系统的一部分的诸如计算设备101等的物理资源。这样的节点通常执行特定的集群节点软件。集群系统通常包括多个这样的物理集群节点,其中一些物理集群节点可以物理地位于一个场所,而其他物理集群节点可以物理地位于一个或多个其它场所。这样的物理场所通常在物理和地理上是不同的,并且在本文中被称为“地理场所”。例如,示例集群的几个示例性节点A-C物理地位于西雅图的地理场所A处,而相同集群的其他示例性节点D-F物理地位于达拉斯的地理场所B处(例如参见图6)。本文使用的术语“集群系统”等通常是指包括本发明的各种新颖并且独特的地理场所增强的常规故障转移集群系统等。本文使用的术语“集群环境”通常是指其中根据本发明的集群系统操作的环境,其中环境包括各种元素、服务、数据和/或需要用于地理场所增强以按要求起作用的其他资源。
集群系统的节点和工作负载通常利用至少两种“存储装置”:文件共享和集群共享卷(“CSV”)。本文使用的术语“共享”和“文件共享”通常是指传统的文件共享。通常,集群节点(以及在集群节点上操作的任意VM)可以访问给定适当配置(例如,建立驱动器映射等)的文件共享。本文使用的术语“集群共享卷”通常是指所有节点均可访问的共享存储设备。在一个示例中,虚拟机(“VM”)的虚拟硬盘(“VHD”)被创建或复制到(托管在)CSV上。多个VHD可以被放置在CSV上,该CSV进而又与可以在集群的不同节点上运行的多个VM相关联。本文使用的术语“依赖存储装置”是指特定的VM或其它工作负载依赖的特定存储装置,诸如特定的CSV或文件共享等,或在特定的CSV或文件共享等上托管的特定的VHD。
本文使用的术语“工作负载”通常是指在集群系统上托管的客户端应用程序。这样的客户端应用程序包括但不限于虚拟机(“VM”)、诸如CSV和文件共享的存储装置、任意类型的托管客户端应用程序、以及前述的任意组合,本文也被称为“虚拟资源”。客户端可以希望已经在集群系统上托管的一些客户端应用程序的非限制性示例包括数据库应用程序(例如,SQL Server)、电子邮件服务、存储服务(例如,档案和备份服务)、会计软件包、网站、办公套件、以及可以在集群系统上托管的任意其他软件或服务或功能等。“托管”意味着客户端的工作负载由集群系统代表客户端并根据客户端的需求进行操作和使用。本文在工作负载的上下文中使用的术语“组”通常指特定的托管工作负载,即,由集群系统托管的特定工作负载。依赖于特定存储装置的工作负载(可以是不同的工作负载或者不同的工作负载的一部分)据说对该存储具有“存储关联”。如果该特定存储在特定的地理场所上托管,则该地理场所被称为与该工作负载有关的“存储关联场所”。
集群的节点可以是“在线”或“离线”的。术语“在线”当应用于集群节点(或见证者(witness)等)时,指示节点当前正在作为集群的一部分进行操作。术语“离线”当应用于集群节点(或见证者等)时,指示节点当前不是作为集群的一部分进行操作。离线节点由于某种故障(即,“计划外故障”)而可以已经发生故障并且因此被称为“非计划离线”,或者离线节点可以诸如根据某个计划被有意地离线(例如,计划的维护等),因此被称为“计划离线”。
图2是被配置用于实施本发明的方面的示例系统200的框图。系统200通常包括几个部件,部件包括地理场所物理配置管理器(“GPCM”)210、资源管理器(“RM”)220、地理场所虚拟配置管理器(“GVCM”)230、地理场所规定数量管理器(“GQM”)、网络拓扑管理器(“NTM”)250、存储拓扑管理器(“STM”)260、目录界面管理器(“DFM”)270。这些部件(包括任意子部件)中的每一个可以被实现为:包括硬件逻辑设备(例如集成电路或包括这种电路的设备)的系统、基于特定指令的执行被配置为执行必要的方法的计算设备(诸如结合图1等描述的)、包括设备集合(包括诸如结合图1等描述的一个或多个计算设备)的服务、或者作为前述的一些组合。每个这样的部件可以在诸如硬件逻辑设备或计算设备的一个设备上或者通过诸如硬件逻辑设备或计算设备的一个设备实现,或者跨多个这样的设备实现实现。例如,部件可以以分布式方式在诸如例如网络服务或网站的服务器或元件等的多个设备上实现/由诸如例如网络服务或网站的服务器或元件等的多个设备实现。此外,每个这样的部件(包括任意子部件)可以涵盖一个或多个子部件等,并且这些部件可以被实现为分离的部件,或者任意两个或多个可以全部或部分地被组合。除非另有说明,否则本文所述部件的划分是非限制性的,主要旨在辅助描述本发明的方面。
在一个示例中,系统200被配置用于发现和管理知道其地理场所的集群的物理配置,基于其地理场所来管理和优化集群的虚拟配置,该地理场所包括在集群内的VM和VH的D分配和分布,并基于集群的地理场所来管理规定数量。系统200在向集群系统和集群方面提供地理场所知晓方面所解决的一个挑战是基于对地理场所的知晓来优化集群资源和虚拟资源的分配和分布。也就是说,通过了解哪些集群节点(以及哪些物理和虚拟资源)位于哪些地理场所,集群系统可以更高效地管理规定数量,并且可以更高效地将工作负载放置在集群节点和其他物理资源之间。
例如,集群可以具有位于客户端(例如,集群用户)位于的西雅图中的一个地理场所处的一些节点以及位于另一客户端所位于的达拉斯的地理场所处的其他节点。给定知晓这些地理位置以及哪个节点位于哪个位置,集群系统可以管理规定数量并优化客户端的工作负载的放置,并用于物理和虚拟资源的最高效的操作。如果没有这种天生的地理场所知晓,集群系统就会做出决定,这往往会对资源的最优使用产生负面影响,特别是在处理故障转移情况等时。本文使用的术语“优选场所”是指被设置为用于托管工作负载的集群的优选场所的集群的地理场所之一。在另一示例中,集群的地理场所可以按照偏好顺序(例如,在集群的优选场所列表上)列出。以这种方式,如果当前优选场所发生故障,则列表中的下一地理场所成为新的优选场所。备选地或附加地,工作负载可以与被设置为工作负载的优选地理场所的特定地理场所相关联,或者与按偏好排序的地理场所列表相关联。在这个示例中,优选的场所概念是以工作负载为中心,而不是以集群为中心。
此外,每个地理场所可以具有“优选节点”,该地理场所的节点优选用于托管工作负载。在另一示例中,地理场所的节点可以按偏好的顺序(例如,在地理场所的优选节点列表上)列出。以这种方式,如果当前优选节点关闭,则列表上的下一节点成为新的优选节点。备选地或附加地,工作负载可以与特定的优选节点或者按偏好排序的节点的列表相关联。在这个示例中,优选节点的概念是以工作负载为中心,而不是以集群系统为中心。
地理场所物理配置管理器(“GPCM”)210可以是系统200的部件,或者可以是由系统200利用的集群环境的分离的和/或预先存在的部件。在一个示例中,GPCM 210是系统200的部件。GPCM 210通常推导出集群的地理场所,并标识位于每个地理场所的物理集群资源(例如,节点和存储装置)。在一个示例中,“地理场所物理元数据”包括描述确定的地理场所的信息以及在每个地理场所标识的物理集群资源。在这个示例中,地理场所物理元数据被存储在地理场所物理数据库212等中,其可以是GPCM 210的一部分或者与GPCM 210分离。GPCM210的功能在下面结合图3更详细地描述。
资源管理器(“RM”)220可以是系统200的部件,或者可以是由系统200利用的集群环境的分离的和/或预先存在的部件。在一个示例中,RM 220是分离的和/或预先存在的部件。RM 220通常管理工作负载在集群的物理资源中的放置。例如,RM 220基于其对集群的各种物理资源的知晓,将VM和CSV放置在这些物理资源中。在某些物理资源(诸如节点或存储装置)发生故障的情况下,RM 220重新分配受故障影响的虚拟资源,以便于尽可能最大程度地保持虚拟资源的连续和高效的操作。但是,自己的RM220没有知晓这些地理场所或物理资源在这些地理场所的分布。
地理场所虚拟配置管理器(“GVCM”)230可以是系统200的部件,或者可以是由系统200利用的集群环境的分离和/或预先存在的部件。GVCM 230可以是RM 220的子部件,或者备选地,可以补充RM 220的操作。在一个示例中,GVCM 230是对RM 220的操作进行补充的系统200的部件。GVCM 230通常基于其对集群的地理场所以及在每个地理场所处的集群物理资源来影响或控制VM和VHD在这些物理资源之间的分配。此外,在一些物理资源(例如节点或存储装置)发生故障的情况下,GVCM230影响或控制受故障影响的工作负载的重新放置,以便于尽可能最大限度地保持虚拟资源的连续和高效的地理场所知晓操作。在一个示例中,“地理场所虚拟元数据”包括描述信息用于对控制虚拟资源的分配和/或重新分配的影响的信息。在该示例中,地理场所虚拟元数据被存储在地理场所虚拟数据库232等中,其可以是GPCM 210的一部分或者与GPCM 210分离。GVCM230的功能在下面结合图4更详细地描述。
地理场所规定数量管理器(“GQM”)240可以是系统200的部件,或者可以是由系统200利用的集群环境的分离和/或预先存在的部件。在一个示例中,GQM 240是系统200的部件。GQM 240可以是集群规定数量管理器的子部件,或者备选地可以补充集群规定数量管理器的操作。GQM 240通常基于其对集群的地理场所和每个地理场所的集群的物理资源的知晓,影响或控制如何以及以什么节点为集群建立规定数量。下面结合图5更详细地描述GQM240的功能。
网络拓扑管理器(“NTM”)250可以是系统200的部件,或者可以是由系统200利用的集群环境的分离和/或预先存在的部件。在一个示例中,NTM 250是分离和/或预先存在的部件。在该示例中,NTM250通常发现和/或管理关于集群的节点的网络拓扑元数据。在一个示例中,“网络拓扑元数据”标识集群的每个节点、节点之间的关系、每个节点与每个其他节点之间的网络延迟、节点的不同NIC的子网之间的关系等。网络拓扑元数据可以被保持在作为NTM 250的一部分或与之分离的数据库等中。
存储拓扑管理器(“STM”)260可以是系统200的部件,或者可以是由系统200利用的集群环境的分离的和/或预先存在的部件。在一个示例中,STM260是分离和/或预先存在的部件。在这个示例中,STM 250通常发现和/或管理关于集群的存储装置的存储拓扑元数据。在一个示例中,该“存储拓扑元数据”标识集群的每个存储装置(例如,CSV和文件共享)、每个存储装置与每个集群节点之间的关系、每个存储装置与每个集群节点之间的网络延迟、是否存储装置被直接连接到一个或多个节点等。存储拓扑元数据可以保持在作为STM260的一部分或与STM260分离的数据库等中。
目录界面管理器(“DIM”)270可以是系统200的部件,或者可以是由系统200利用的集群环境的分离的和/或预先存在的部件。在一个示例中,DIM 270是分离和/或预先存在的部件。通常,DIM 270与现有网络目录进行接口连接以获得描述系统200操作的网络的配置的“目录元数据”。这样的目录元数据通常提供关于系统200在其中操作的集群环境的网络和存储资源、不同地理场所中的节点的代管(colocation)等的附加信息。
图3是示出用于推导集群的地理场所并且标识位于每个地理场所的物理集群资源(例如,节点和存储装置)的示例方法300的框图。在一个示例中,方法300由地理场所物理配置管理器(“GPCM”)210至少部分地基于从系统200的各种部件获得的元数据来执行。在一些示例中,方法300的各个步骤可以以与所示的顺序不同的顺序执行。方法300通常在框310处开始。
方法300的框310通常指示分析关于集群的目录信息,诸如由DIM 270获得的目录元数据。在一个示例中,目录场所可以被配置在域控制器上。这种场所配置可以反映在目录元数据中,并且可以反映集群节点、域控制器和目录场所之间的关系。分析通常评估这种关系信息。考虑到这样的分析,连接到属于特定目录场所的域控制器(“DC”)的集群节点可以被认为共同位于相同的提议的地理场所。在一个示例中,根据DC和目录场所的节点的分组形成了集群节点到一个或多个提议的地理场所的初始划分。一旦目录分析完成,通常导致一个或多个提议的集群节点的地理场所分组,方法300通常在框320处继续。
应当注意,包括活动目录场所的目录场所与地理场所不相同。例如,活动目录场所可以被定义为良好连接的子网的集合。活动目录网站可以表示网络的物理结构,而域可以表示使用网络的组织的逻辑结构。但是这样的活动目录物理结构表示不是必需的,并且通常不与物理网络资源位于的各种物理地理位置对准或暴露。尽管网络管理员有可能强制目录场所覆盖并反映地理场所,但这种映射通常不是源于目录场所的。至少由于这些原因,诸如活动目录场所等的目录场所不能被适当地认为是公开或启示如本文所述的地理场所。相反,在一些示例中,目录场所可以用作用于形成集群节点到一个或多个提议的地理场所的初始划分的起始点。这种可选的初始划分通常是基于附加分析被进一步细化。
方法300的框320通常指示分析关于集群的网络拓扑信息,诸如由NTM 250保持的网络拓扑元数据。在一个示例中,子网信息可以用于向地理场所指派集群节点。例如,共享相同子网的所有节点可以被分组到相同的提议的地理场所。或者,在另一示例中,当以提议的地理场所开始时,如从框310开始,如果该提议的地理场所中的各个节点共享多于一个子网,那么因为存在子网,可以将提议的地理场所分成许多新的提议的地理场所,其中每个新提议的地理场所包括共享子网之一的节点,从而进一步细化提议的地理场所。在一个特定的示例中,如果两个节点集合分别在172.16.0.0/19和172.17.0.0/19子网上,并且第三节点集合在193.1.1.0/27子网上,则在本示例中不是创建三个不同的地理场所,而是创建两个这样的场所:一个场所具有在193...子网上的节点,另一场所具有在172...子网上的节点。
在另一示例中,可以使用来自网络拓扑元数据的网络延迟来创建或进一步细化所提议的地理场所。例如,诸如在相同的地理场所处的物理上靠近在一起的节点对之间的延迟,与在物理上并不靠近在一起的节点对之间的延迟相比往往较低。例如,物理上处于相同位置的节点对可以具有十分之一毫秒的网络延迟,而物理上不处于相同位置的节点对可以具有数十毫秒和数百毫秒的延迟。在这种情况下,共享类似幅度的延迟(“常见延迟”)的节点对通常被分组到相同的地理场所。这样的网络拓扑分析可以用于进一步细化提议的地理场所。一旦网络拓扑分析完成,通常导致集群节点的一个或多个提议的地理场所分组,或导致进一步精细的提议的地理场所,方法300通常在框330处继续。
方法300的框330通常指示分析关于集群的存储拓扑信息,诸如由STM 260维持的存储拓扑元数据。在一个示例中,子网信息可以用于向地理场所指派集群存储装置。例如,共享具有一个或多个节点的子网的所有存储装置可以被分组到与这些节点相同的地理场所。
在另一示例中,可以使用来自存储拓扑元数据的网络延迟来创建或进一步细化所提议的地理场所。例如,诸如物理上位于相同的地理场所的、物理上靠近在一起的节点存储对之间的延迟与在物理上并不靠近在一起的节点存储对之间的延迟相比往往较低。例如,物理上处于相同位置的节点存储对可以具有十分之一毫秒的网络延迟,而物理上不处于相同位置的节点存储对可以具有数十毫秒和数百毫秒的延迟。在这种情况下,共享类似幅度的延迟(“常见延迟”)的节点存储对通常被分组到相同的地理场所。这样的存储拓扑分析可以用于进一步细化提议的地理场所。一旦存储拓扑分析完成,通常导致集群的节点和存储装置的一个或多个提议的地理场所分组,或导致进一步细化的提议的地理场所,方法300通常在框340处继续。
方法300的框340通常指示完成从方法300的先前步骤得到的提议的地理场所。在一个示例中,这由GPCM 210将最终提议的地理场所作为地理场所物理元数据记录在地理场所物理数据库212中等来自动完成。在另一示例中,系统200的管理员可以覆盖或手动调整所得到的提议的地理场所,可以将一个或多个节点或存储装置从一个地理场所重新指派给另一地理场所。术语“地理场所”还指代基于地理场所物理元数据并与地理场所物理元数据相关联的集群系统的组织结构/对象。这样的“地理场所”或“地理场所对象”通常包括标识与其相关联的物理集群资源的数据;例如位于物理地理场所的物理资源。一旦提议的地理场所被完成并记录,方法300通常就完成了。
图4是示出了用于在诸如集群系统600的地理场所知晓集群系统中的组的放置和/或故障转移(托管工作负载)的示例方法400的框图。在一个示例中,方法400是由地理场所虚拟配置管理器(“GVCM”)230至少部分地基于从系统200的各种部件获得的诸如地理场所物理元数据的元数据执行。在一个示例中,当新工作负载在线被在线带来时,它被“放置”在特定节点上(即,托管在特定节点上)。工作负载的这种“放置”通常根据方法400。在另一示例中,当托管工作负载的节点发生故障时,通常根据方法400发生组(托管工作负载)的故障转移。所图示出的方法400的步骤的顺序表示步骤的顺序的特定排序。在一些示例中,方法400的各个步骤可以按照与根据不同的排序所示的顺序不同的顺序来执行。方法400通常在框410处在故障转移的情况下开始。
如果这样的优选节点被设置或列出,方法400的框410通常指示对托管工作负载的地理场所中的优选节点(诸如以集群为中心或以工作负载为中心的优选节点)进行组放置和/或故障转移。如果不是,则方法400通常在框420处继续。
如果托管的工作负载(诸如例如VM)依赖于特定的存储装置,则方法400的框420通常指示对托管的工作负载的存储关联场所中的节点的组放置和/或故障转移。如果不是,则方法400通常在框430处继续。
如果这样的优选场所被设置或列出,则方法400的框430通常指示到集群的以工作负载为中心的优选场所中的可用节点的组放置和/或故障转移。如果不是,则方法400通常在框440处继续。
如果这样的优选场所被设置或列出,则方法400的框440通常指示对集群的以集群为中心的优选场所中的可用节点的组放置和/或故障转移。如果不是,则方法400通常在框450处继续。
如果这样的节点可用,则方法400的框450通常指示对托管工作负载的地理场所中的某个节点的组放置和/或故障转移。如果不是,那么该组可以故障转移到不同的地理场所,如下面进一步讨论的。
在一个示例中,如果自从组的上一次故障转移以来的时间多于阈值,则如上所述根据方法400来针对组故障转移。另一方面,如果故障数目大于阈值时间内的配置值,则组的故障转移可以根据方法400针对集群中的另一可用地理场所(在以集群为中心或以工作负载为中心的优选场所列表的情况下为非优选地理场所或下一优选的地理场所)。
在一个示例中,在组被手动地移动到非优选场所的事件中,在故障转移时,只要该地理场所中的节点可用于接受故障转移,则该组维持在手动指派的地理场所中。在手动地指派的地理场所中没有节点可用于接受故障转移的事件中,则根据方法400,该组可以故障转移到不同地理场所中的节点。
方法400的步骤的排序可以通过集群系统的各种排序器来改变。例如,默认排序器可以按所示顺序来对方法400的步骤进行排序。在另一示例中,故障转移历史排序器可以对方法400的步骤的顺序进行排序,以在所有其他集群节点中优选地理场所中的、已经经历了最少数目的退出故障转移(即,由于故障转移而离开节点的组)的节点。在又一个示例中,工作负载排序器可以对方法400的步骤的顺序进行排序,以便在地理场所和/或跨地理场所的节点上基本平均地分配工作负载。还可以提供定义其他节点偏好或排序方案的其他排序器。
在一个示例中,当依赖存储装置出于某种原因(故障转移、手动移动、放置等)被移动到特定地理场所的另一节点时,通常在存储稳定期之后,调度依赖于该存储装置的VM和工作负载,以移动到相同地理场所的某个节点。存储稳定期旨在在依赖的工作负载被移动之前也为依赖存储装置给出足够的时间,以“稳定”其新节点。存储稳定期可以建立为固定时间(例如10分钟),或者可以由依赖存储装置自身指示。例如,一旦依赖存储装置准备就绪(例如,完全复制并且在其新位置可用),则依赖存储装置本身或者一些其他实体(诸如主节点或GVCM 230等)可以指示存储稳定时间段已经结束。此时,通常根据方法400,依赖于存储装置的工作负载可以被移动到存储的地理场所中的某个节点。
在一个示例中,当先前发生故障的优选地理场所或节点作为集群的一部分重新在线时,故障恢复可以被调度。例如,已经故障转移到非优选或较不优选的地理场所或节点(相对于最近的返回在线的优选地理场所或节点而言)的工作负载通常将根据调度来故障恢复到返回在线的优选的地理场所或节点。在一个示例中,该调度基于地理场所或节点稳定时间段。地理场所节点稳定时间段可以建立为固定时间(例如10分钟)。在某些情况下,诸如在电源或连接等恢复之后,多个地理场所或节点可以在集群中在相同时间或几乎同时返回在线。这种稳定时间段允许多个同时返回的地理场所和/或节点返回在线,并且最优选的那些地理场所和/或节点被确定。在那一点上,通常根据方法400,优选返回地理场所或节点的组可以故障恢复到该地理场所和/或节点。
图5是示出用于通过地理场所知晓集群系统来维持规定数量的示例方法500的框图。在一个示例中,方法500来由或结合地理位置规定数量管理器(“GQM”)240至少部分地基于从系统200的各种部件获得的元数据(诸如地理位置物理元数据和/或地理位置虚拟元数据)执行。示例方法500图示了两个不同且分离的地理场所知晓动态规定数量维护过程:动态权重调整和节点删减。
关于动态权重调整,除了离线计划的那些节点以外,每个集群节点可以具有投票。在线或未计划离线的那些集群节点(包括任意见证者)可根据它们的“动态权重”(每个节点的属性指示节点当前是否具有投票)具有投票。在一个示例中,每个集群节点的动态权重由GCM 240等来控制。例如,通过调整各个节点的动态权重以指示特定的节点可以在规定数量决定中投票或不投票来调整集群的投票计数。通常调整节点的动态权重,以保持集群规定数量维护过程的奇数个投票节点。“目标地理场所”是针对一个或多个节点动态权重的调整的场所。在一个示例中,为零的动态权重指示节点当前不能投票,而为非零的动态权重指示节点当前可投票。
关于节点删减,与动态权重调整分离并且不同的维护过程,可以需要从集群中删减(即,至少暂时地移除)集群的节点。例如,由于节点故障和/或诸如节点和/或地理场所之间的通信故障,节点可以需要被删减。删减的节点通常不参与集群操作。
所图示的方法500的步骤的顺序表示特定的权重调整或删减顺序。在一些示例中,方法500的各个步骤可以按照与根据不同的权重调整或删减顺序所示的顺序不同的顺序来执行。在一个示例中,当节点需要被权重调整或删减时,方法500通常在框510处开始。
方法500的框510通常指示当权重调整或删减时向优选地理场所中的节点给定偏好。例如,关于节点删减,给定两个地理场所或两个地理场所之间的节点之间的通信问题,首先删减非优选(目标)场所中的节点。在该示例中,对于按优先顺序列出的地理场所,可以首先删减最不优选(目标)地理场所的节点。以这种方式,优选地理场所中的节点被保留。
关于动态权重调整,给定两个地理场所之间或两个地理场所的节点之间的通信问题,非优选(目标)场所中的节点首先被权重调整为零。本文示例中,对于按偏好顺序列出的地理场所,最不优选(目标)地理场所中的节点可以首先权重被调整为零。以这种方式,优选地理场所中的节点保留投票权限。如果没有指定优选的地理场所,则方法500通常在框520处继续。
方法500的框520通常指示当权重调整或删减时给定对非劣化地理场所中的节点的优选。例如,关于节点删减,如果图6的地理场所A和B具有良好的场所到场所通信状态,但是场所A-C和B-C没有,则来自目标地理场所C的节点首先被删减。通过这种方式,首先删减对通信问题有贡献的地理场所和地理场所中的节点,以便于维持地理场所中的、具有良好通信状态的节点。
关于动态权重调整,如果图6的地理场所A和B具有良好的场所到场所通信状态,但是场所AC和BC没有,则来自目标地理场所C的节点的权重被首先调整为零。通过这种方式,对通信问题有贡献的地理场所和地理场所中的节点权重首先被调整为零,以便于保留具有良好通信状态的地理场所中的节点的投票权限。
方法500的框530通常指示当权重调整或删减时对目标地理场所中的优选节点给定偏好。例如,关于节点删减,如果删减目标地理场所中的节点,则首先删减不是优选的节点。在本例中,对于按偏好顺序列出的节点,可以首先删减目标地理场所中最不优选的节点。以这种方式,优选的节点被保留。
关于动态权重调整,如果调整目标地理场所的节点权重,则不优选的节点先被调整为零。在这个示例中,对于以偏好顺序列出的节点,可以将目标地理场所中最不优选的节点首先调整为零。如果优选的节点没有被指定,则方法500通常在框540处继续。
方法500的框540通常指示当权重调整或删减时向目标地理场所中的非低优先级节点给定偏好。例如,关于节点删减,目标地理场所中被标识为关于在规定数量决定中投票的低优先级的节点被首先删减。本文示例中,对于按优先级顺序列出的节点,可以首先删减目标地理场所中最低优先级的节点。以这种方式,保留更高优先级的节点。
关于动态权重调整,目标地理场所中被标识为关于规定数量决定中的投票的低优先级的节点首先被调整为零。在本例中,对于以优先级顺序列出的节点,目标地理场所中的最低优先级节点可以会首先被调整为零。以这种方式,保留较高优先级节点的投票权。
方法500的框550通常指示在删减时向见证者给定优先级。例如,见证者通常不会被删减。但是,关于动态权重调整,给定见证者与节点之间的选择,则可以通过将见证者的动态权重调整为零来向节点给定偏好。在另一示例中,给定见证者和两个场所,一个场所具有n个节点,另一场所具有n-1个节点,具有n个节点的场所中的节点可以被调整为零,从而导致奇数个投票节点,其中两个场所现在均具有n-1个投票节点。
图6是包括三个示例地理场所A 610、B 620和C 630以及示例见证者640的示例性地理场所知晓集群系统600的框图。在一个示例中,集群系统600的物理配置是方法300的结果。本示例中的每个地理场所包括三个节点,例如示例性地理场所C 630中的示例节点G、H和I,并且经由诸如示例接口632的地理场所接口,经由诸如因特网650和/或一些其他公共和/或专用网络等的一些地理场所间网络来耦合到其他地理场所。实际上,每个地理场所可以使用任意数量的节点。每个地理场所中的节点通常诸如经由一个或多个网络接口设备(诸如一个或多个网络接口卡(“NIC”)等)通过一个或多个本地网络来彼此通信地耦合,以及耦合到它们各自的地理场所接口,诸如耦合到地理场所C 630的节点的接口632。通常,诸如接口630的地理场所接口是一个地理场所的节点与地理场所间网络之间耦合的通信,地理场所间网络将地理场所耦合到集群系统600的其他地理场所。这样的接口可以包括防火墙、调制解调器、接入点、路由器、交换机或被配置为将地理场所的节点耦合到通信地耦合到其他地理场所的节点的网络的任意其他的设备组合。
在示例集群系统600中,地理场所A 610可以是优选的场所。备选地或附加地,在该示例中,从集群系统的角度来看,集群600的地理场所可以以优选顺序列出:地理场所A610,然后是地理场所B 620,然后是地理场所C 630。在这个示例中,工作负载可以备选地或附加地与以工作负载为中心的优选场所或以偏好顺序列出的地理场所相关联。以集群为中心的优选地理场所和以工作负载为中心的优选地理场所之间的优先级可以默认为以工作负载为中心、以集群为中心、或由工作负载客户端和/或集群系统管理员指定。在一个示例中,向以工作负载为中心的优选地理场所给定优先级。
见证者640通常是存储设备(例如,“见证者磁盘”)或其他类型的设备,其可被至少一个在线集群节点访问并且可由集群600用于维护规定数量。见证者640可以备选地是至少一个在线集群节点可访问的文件共享。这种见证者也被称为集群的“见证者节点”,并被认为是用于维持规定数量的目的的集群节点。例如,如果诸如集群系统600的集群系统具有偶数个在线节点,则系统可以通过使用见证者节点来建立规定数量配置。在这种情况下,只要见证者保持在线(即可以访问至少一个在线集群节点),集群就可以全部维持故障,除了其节点之一继续操作之外。如果见证者离线,相同集群就可以全部维持故障,除了其中两个节点之外。因此,见证者允许其中集群中只有一个节点保持操作而剩余节点可以访问见证者的最坏的情况。图5和对应的书面描述呈现了一种由地理场所知晓集群系统维持规定数量的方法。
地理场所知晓集群系统600通常利用跨地理场所心跳消息来监视地理场所之间的通信。心跳消息的确切格式在这里并不特别相关。心跳消息通常以适当的时间间隔在集群的地理场所之间传递,以便于证明地理场所之间的通信问题。这与通常在子网之间传递的传统集群心跳消息不同。在一个示例中,基于跨地理场所心跳消息确定场所到场所通信状态。在该示例中,评估成功和丢失的心跳消息的模式,以确定跨地理场所通信的降级或失败程度,然后通过场所到场所通信状态进行指示。这种状态也可以受诸如全局更新消息(“GUM”)等的其他集群通信的评估的影响。附加地或备选地,这样的状态可以针对诸如节点A-D、A-E、A-F、B-D、B-E和B-F等之间的地理场所之间的特定节点来确定。
结论
在第一示例中,在包括至少一个计算设备的集群系统上执行一种方法,所述计算设备包括至少一个处理器和存储器,所述方法包括:由集群系统自动标识多个地理场所对象,每个所述地理场所对象指示物理上位于所述对应地理场所处的所述集群系统的物理资源的子集;由所述集群系统将客户端的工作负载放置在所述多个地理场所对象的地理场所对象的节点上,其中所述地理场所对象与所述客户端位于的地理场所相对应;以及由集群系统将工作负载的依赖存储装置放置在地理场所对象的另一节点上。
在第二示例中,存在一种集群系统,包括:节点,所述节点包括至少一个处理器和耦合到所述至少一个处理器的存储器;地理场所物理配置管理器(“GPCM”),所述集群系统经由所述地理场所物理配置管理器(“GPCM”)来标识多个地理场所对象,每个地理场所对象指示所述集群系统的物理上位于对应地理场所的物理资源的子集;地理场所虚拟配置管理器(“GVCM”),所述集群系统经由所述地理场所虚拟配置管理器(GVCM)将客户端的工作负载放置在多个地理场所对象中的地理场所对象的节点上,其中地理场所对象与客户端位于的地理场所相对应;以及集群系统经由所述GVCM将工作负载的依赖存储装置放置在地理场所对象的另一节点上。
在第三示例中,包括计算机可执行指令的至少一个计算机可读介质,所述计算机可执行指令基于由集群系统的至少一个计算设备的执行将集群系统配置为执行动作,所述动作包括:由集群系统自动识别多个地理场所对象,每个所述地理场所对象指示集群系统的物理上位于对应地理场所的物理资源的子集;由所述集群系统将客户端的工作负载放置在所述多个地理场所对象的地理场所对象的节点上,其中所述地理场所对象与所述客户端位于的地理场所相对应;以及由集群系统将工作负载的依赖存储装置放置在地理场所对象的另一节点上。
在第一示例、第二示例和第三示例中,另一节点与一个节点相同;和/或所述集群系统在进一步涉及所述工作负载的故障转移时将工作负载放置所述地理场所对象的第三节点上;和/或所述集群系统进一步响应于在所述工作负载放置在所述第三节点上之后涉及所述工作负载的故障恢复事件,将所述工作负载放置回到所述节点上;和/或集群系统进一步将地理场所对象标识为优选的地理场所;和/或所述集群系统基于所述一些节点不在所述地理场所对象中来删减所述地理场所对象中的一些节点而非地理场所对象;和/或该节点被集群系统标识为优选节点。
在本部分中提供的详细描述结合本发明和前述示例可被应用的许多可能的实施例,应当认识到,本文描述的示例仅仅是示例性的,并且不应当被采用作为限制本发明的范围。因此,如本文所述的本发明想到可能落入所附权利要求及其任意等同物的范围内的所有这些实施例。
Claims (9)
1.一种集群系统,包括:
节点,所述节点包括至少一个处理器和耦合到所述至少一个处理器的存储器;
地理场所物理配置管理器(“GPCM”),所述集群系统经由所述地理场所物理配置管理器标识多个地理场所对象,每个所述地理场所对象指示物理上位于对应地理场所处的所述集群系统的物理资源的子集;
地理场所虚拟配置管理器(“GVCM”),所述集群系统经由所述地理场所虚拟配置管理器将客户端的工作负载放置在所述多个地理场所对象中的地理场所对象的所述节点上,其中所述地理场所对象与所述客户端位于的地理场所相对应;以及
所述集群系统经由所述GVCM将所述工作负载的依赖存储装置放置在所述地理场所对象的另一节点上。
2.根据权利要求1所述的集群系统,其中所述另一节点与所述一个节点相同。
3.根据权利要求1所述的集群系统,所述集群系统在涉及所述工作负载的故障转移时,还经由所述GVCM将所述工作负载放置在所述地理场所对象的第三节点上。
4.根据权利要求3所述的集群系统,所述集群系统响应于在将所述工作负载放置在所述第三节点上之后涉及所述工作负载的故障恢复事件,还经由所述GVCM将所述工作负载放置回到所述节点上。
5.根据权利要求1所述的集群系统,所述集群系统还经由所述GPCM将所述地理场所对象标识为优选的地理场所。
6.根据权利要求1所述的集群系统,还包括地理场所规定数量管理器,所述集群系统经由所述地理场所规定数量管理器、基于不在所述地理场所对象中的一些节点,来删减所述地理场所对象中的所述一些节点,而非删减所述地理场所对象。
7.根据权利要求1所述的集群系统,其中所述节点由所述集群系统标识为优选节点。
8.一种在集群系统上执行的方法,所述集群系统包括至少一个计算设备,所述计算设备包括至少一个处理器和存储器,所述方法包括:
由所述集群系统自动标识多个地理场所对象,每个所述地理场所对象指示物理上位于对应地理场所处的所述集群系统的物理资源的子集;
由所述集群系统将客户端的工作负载放置在所述多个地理场所对象中的一个地理场所对象的节点上,其中所述地理场所对象与所述客户端位于的地理场所相对应;以及
由所述集群系统将所述工作负载的依赖存储装置放置在所述地理场所对象的另一节点上。
9.一种包括计算机可执行指令的至少一个计算机可读介质,所述计算机可执行指令基于由集群系统的至少一个计算设备的执行来将所述集群系统配置为执行动作,所述动作包括:
由所述集群系统自动地标识多个地理场所对象,每个所述地理场所对象指示物理上位于对应地理场所的所述集群系统的物理资源的子集;
由所述集群系统将客户端的工作负载放置在所述多个地理场所对象的地理场所对象的节点上,其中所述地理场所对象与所述客户端位于的地理场所相对应;以及
由所述集群系统将所述工作负载的依赖存储装置放置在所述地理场所对象的另一节点上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110820331.XA CN113515381A (zh) | 2015-08-17 | 2016-08-16 | 一种集群系统和用于集群系统的方法 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562206235P | 2015-08-17 | 2015-08-17 | |
US62/206,235 | 2015-08-17 | ||
US14/968,888 US10437506B2 (en) | 2015-08-17 | 2015-12-14 | Optimal storage and workload placement, and high resiliency, in geo-distributed cluster systems |
US14/968,888 | 2015-12-14 | ||
PCT/US2016/047123 WO2017031097A1 (en) | 2015-08-17 | 2016-08-16 | Optimal storage and workload placement, and high resiliency, in geo-distributed cluster systems |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110820331.XA Division CN113515381A (zh) | 2015-08-17 | 2016-08-16 | 一种集群系统和用于集群系统的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107924338A true CN107924338A (zh) | 2018-04-17 |
CN107924338B CN107924338B (zh) | 2021-07-30 |
Family
ID=56843023
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680047877.3A Active CN107924338B (zh) | 2015-08-17 | 2016-08-16 | 地理分布式集群系统中的最优存储装置和工作负载放置以及高弹性 |
CN202110820331.XA Pending CN113515381A (zh) | 2015-08-17 | 2016-08-16 | 一种集群系统和用于集群系统的方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110820331.XA Pending CN113515381A (zh) | 2015-08-17 | 2016-08-16 | 一种集群系统和用于集群系统的方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10437506B2 (zh) |
EP (1) | EP3338186B1 (zh) |
CN (2) | CN107924338B (zh) |
WO (1) | WO2017031097A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078391A (zh) * | 2018-10-22 | 2020-04-28 | 阿里巴巴集团控股有限公司 | 一种业务请求处理方法、装置及设备 |
CN115145999A (zh) * | 2021-03-30 | 2022-10-04 | Sap欧洲公司 | 使用工作负载类将sql语句路由到弹性计算节点 |
CN115145999B (zh) * | 2021-03-30 | 2024-11-08 | Sap欧洲公司 | 将sql语句路由到弹性计算节点的方法和设备 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10437506B2 (en) * | 2015-08-17 | 2019-10-08 | Microsoft Technology Licensing Llc | Optimal storage and workload placement, and high resiliency, in geo-distributed cluster systems |
US9898378B2 (en) | 2015-11-10 | 2018-02-20 | International Business Machines Corporation | Smart selection of a storage module to be excluded |
US10616347B1 (en) * | 2016-10-20 | 2020-04-07 | R&D Industries, Inc. | Devices, systems and methods for internet and failover connectivity and monitoring |
US10534767B2 (en) | 2017-03-14 | 2020-01-14 | International Business Machines Corporation | Disaster recovery for split storage cluster |
US10498809B2 (en) | 2018-01-29 | 2019-12-03 | Hewlett Packard Enterprise Development Lp | Selections of managing nodes in clusters of nodes |
US10983881B2 (en) | 2018-05-31 | 2021-04-20 | International Business Machines Corporation | Disaster recovery and replication in disaggregated datacenters |
US11036599B2 (en) | 2018-05-31 | 2021-06-15 | International Business Machines Corporation | Disaster recovery and replication according to workload priorities in disaggregated datacenters |
US11243846B2 (en) | 2018-05-31 | 2022-02-08 | International Business Machines Corporation | Replicating workload and state data for disaster recovery in disaggregated datacenters |
US10719418B2 (en) | 2018-05-31 | 2020-07-21 | International Business Machines Corporation | Replicating workload data according to a degree of resiliency for disaster recovery in disaggregated datacenters |
US10891206B2 (en) | 2018-05-31 | 2021-01-12 | International Business Machines Corporation | Disaster recovery orchestration and capacity planning in disaggregated datacenters |
US10949416B2 (en) | 2018-07-13 | 2021-03-16 | International Business Machines Corporation | Workload management across multiple data sites capable of providing active services |
US10831560B2 (en) | 2018-08-24 | 2020-11-10 | International Business Machines Corporation | Workload performance improvement using data locality and workload placement |
US10761915B2 (en) | 2018-09-26 | 2020-09-01 | International Business Machines Corporation | Preemptive deep diagnostics and health checking of resources in disaggregated data centers |
US11188408B2 (en) | 2018-09-26 | 2021-11-30 | International Business Machines Corporation | Preemptive resource replacement according to failure pattern analysis in disaggregated data centers |
US10838803B2 (en) | 2018-09-26 | 2020-11-17 | International Business Machines Corporation | Resource provisioning and replacement according to a resource failure analysis in disaggregated data centers |
US10831580B2 (en) * | 2018-09-26 | 2020-11-10 | International Business Machines Corporation | Diagnostic health checking and replacement of resources in disaggregated data centers |
US10754720B2 (en) | 2018-09-26 | 2020-08-25 | International Business Machines Corporation | Health check diagnostics of resources by instantiating workloads in disaggregated data centers |
US11050637B2 (en) | 2018-09-26 | 2021-06-29 | International Business Machines Corporation | Resource lifecycle optimization in disaggregated data centers |
US11245636B2 (en) * | 2019-09-20 | 2022-02-08 | International Business Machines Corporation | Distributing computing resources based on location |
US11546422B2 (en) | 2021-01-08 | 2023-01-03 | Capital One Services, Llc | Dynamic management of locations of modules of a platform hosted by a distributed system |
US11973765B2 (en) * | 2021-05-07 | 2024-04-30 | Cisco Technology, Inc. | Group access control |
US11886307B2 (en) * | 2021-07-19 | 2024-01-30 | Vmware, Inc. | Site locality support for file services in a stretched cluster environment |
CN114844893A (zh) * | 2022-04-26 | 2022-08-02 | 广州华多网络科技有限公司 | 独立站点分布式系统、独立站点数据的管理方法及设备 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050102387A1 (en) * | 2003-11-10 | 2005-05-12 | Herington Daniel E. | Systems and methods for dynamic management of workloads in clusters |
CN1771495A (zh) * | 2003-05-07 | 2006-05-10 | 国际商业机器公司 | 分布式文件服务体系结构系统 |
US20070088764A1 (en) * | 2005-10-18 | 2007-04-19 | Samsung Electronics Co., Ltd. | Method and apparatus for synchronizing multimedia content with device which supports multi-server environment |
US20070294363A1 (en) * | 2006-05-18 | 2007-12-20 | Microsoft Corporation | Quorum Establishment Based On A Vote From A Voting Device |
US20080091806A1 (en) * | 2006-10-11 | 2008-04-17 | Jinmei Shen | Dynamic On-Demand Clustering |
US20080196029A1 (en) * | 2007-02-12 | 2008-08-14 | Microsoft Corporation | Transaction Manager Virtualization |
US20110078411A1 (en) * | 2009-09-29 | 2011-03-31 | Alex Maclinovsky | Dynamically modifying program execution capacity |
CN102404342A (zh) * | 2011-12-22 | 2012-04-04 | 山东中创软件商用中间件股份有限公司 | 一种目录服务域间挂接的方法及系统 |
CN102656565A (zh) * | 2009-10-26 | 2012-09-05 | 亚马逊技术股份有限公司 | 已复制数据的故障切换和恢复 |
US20130073716A1 (en) * | 2011-09-21 | 2013-03-21 | International Business Machines Corporation | Determining resource instance placement in a networked computing environment |
US20130179560A1 (en) * | 2012-01-09 | 2013-07-11 | International Business Machines Corporation | Tracking Changes to Data Within Various Data Repositories |
US8606922B1 (en) * | 2010-09-27 | 2013-12-10 | Amazon Technologies, Inc. | Dynamic resource zone mapping |
US20140089511A1 (en) * | 2012-09-27 | 2014-03-27 | Kent McLean | Client Classification-Based Dynamic Allocation of Computing Infrastructure Resources |
CN104704470A (zh) * | 2012-10-10 | 2015-06-10 | 阿尔卡特朗讯公司 | 用于在云内自动部署地理分布式应用的方法和设备 |
CN104714847A (zh) * | 2013-12-13 | 2015-06-17 | 国际商业机器公司 | 用于动态地改变云计算环境的方法和系统 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6526521B1 (en) * | 1999-06-18 | 2003-02-25 | Emc Corporation | Methods and apparatus for providing data storage access |
US7191357B2 (en) | 2002-03-29 | 2007-03-13 | Panasas, Inc. | Hybrid quorum/primary-backup fault-tolerance model |
US8316110B1 (en) | 2003-12-18 | 2012-11-20 | Symantec Operating Corporation | System and method for clustering standalone server applications and extending cluster functionality |
EP1735706A4 (en) * | 2004-03-13 | 2008-08-13 | Cluster Resources Inc | SYSTEM AND METHOD FOR CO-ASSIGNING RESERVATION ENGLOBING DIFFERENT TYPES OF CALCULATION RESOURCES |
US7478263B1 (en) * | 2004-06-01 | 2009-01-13 | Network Appliance, Inc. | System and method for establishing bi-directional failover in a two node cluster |
US8498967B1 (en) | 2007-01-30 | 2013-07-30 | American Megatrends, Inc. | Two-node high availability cluster storage solution using an intelligent initiator to avoid split brain syndrome |
US9026655B2 (en) * | 2007-01-31 | 2015-05-05 | Oracle America, Inc. | Method and system for load balancing |
US9141435B2 (en) * | 2007-07-30 | 2015-09-22 | Sybase, Inc. | System and methodology providing workload management in database cluster |
US8121966B2 (en) | 2008-06-05 | 2012-02-21 | International Business Machines Corporation | Method and system for automated integrated server-network-storage disaster recovery planning |
US10203993B2 (en) * | 2009-02-18 | 2019-02-12 | International Business Machines Corporation | Method and system for continuous optimization of data centers by combining server and storage virtualization |
US10419722B2 (en) * | 2009-04-28 | 2019-09-17 | Whp Workflow Solutions, Inc. | Correlated media source management and response control |
US8296599B1 (en) * | 2009-06-30 | 2012-10-23 | Symantec Corporation | System and method for implementing clustered network file system lock management |
WO2011112752A1 (en) * | 2010-03-09 | 2011-09-15 | Alejandro Diaz Arceo | Electronic transaction techniques implemented over a computer network |
US8645529B2 (en) * | 2010-10-06 | 2014-02-04 | Infosys Limited | Automated service level management of applications in cloud computing environment |
US8527633B2 (en) * | 2011-01-06 | 2013-09-03 | International Business Machines Corporation | Techniques for addressing geographical location issues in computing environments |
US8719627B2 (en) * | 2011-05-20 | 2014-05-06 | Microsoft Corporation | Cross-cloud computing for capacity management and disaster recovery |
US8886910B2 (en) | 2011-09-12 | 2014-11-11 | Microsoft Corporation | Storage device drivers and cluster participation |
US9208007B2 (en) | 2012-01-18 | 2015-12-08 | International Business Machines Corporation | Open resilience framework for simplified and coordinated orchestration of multiple availability managers |
US9740708B2 (en) * | 2012-05-01 | 2017-08-22 | Everbridge, Inc. | Systems and methods for distance and performance based load balancing |
EP2867763B1 (en) | 2012-06-29 | 2017-09-27 | Mpstor Limited | Data storage with virtual appliances |
US9485077B2 (en) * | 2012-07-06 | 2016-11-01 | Broadcom Corporation | System and method for energy efficient ethernet with asymmetric traffic profiles |
US20140082128A1 (en) | 2012-09-18 | 2014-03-20 | Netapp, Inc. | Dynamic detection and selection of file servers in a caching application or system |
US9323628B2 (en) * | 2012-10-09 | 2016-04-26 | Dh2I Company | Instance level server application monitoring, load balancing, and resource allocation |
US10255328B2 (en) * | 2013-10-09 | 2019-04-09 | Microsoft Technology Licensing, Llc | Location source ranking for determining device location |
CA2943118A1 (en) * | 2014-03-22 | 2015-10-01 | Retailmenot, Inc. | Caching geolocated offers |
CN104506589B (zh) * | 2014-12-10 | 2018-04-27 | 上海爱数信息技术股份有限公司 | 一种基于超融合存储的资源迁移调度方法 |
US10437506B2 (en) * | 2015-08-17 | 2019-10-08 | Microsoft Technology Licensing Llc | Optimal storage and workload placement, and high resiliency, in geo-distributed cluster systems |
US10635694B2 (en) * | 2015-12-14 | 2020-04-28 | Pivotal Software, Inc. | Deploying updates in a distributed database systems |
-
2015
- 2015-12-14 US US14/968,888 patent/US10437506B2/en active Active
-
2016
- 2016-08-16 CN CN201680047877.3A patent/CN107924338B/zh active Active
- 2016-08-16 WO PCT/US2016/047123 patent/WO2017031097A1/en active Application Filing
- 2016-08-16 EP EP16758016.6A patent/EP3338186B1/en active Active
- 2016-08-16 CN CN202110820331.XA patent/CN113515381A/zh active Pending
-
2018
- 2018-03-08 US US15/915,618 patent/US10656868B2/en active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1771495A (zh) * | 2003-05-07 | 2006-05-10 | 国际商业机器公司 | 分布式文件服务体系结构系统 |
US20050102387A1 (en) * | 2003-11-10 | 2005-05-12 | Herington Daniel E. | Systems and methods for dynamic management of workloads in clusters |
US20070088764A1 (en) * | 2005-10-18 | 2007-04-19 | Samsung Electronics Co., Ltd. | Method and apparatus for synchronizing multimedia content with device which supports multi-server environment |
US20070294363A1 (en) * | 2006-05-18 | 2007-12-20 | Microsoft Corporation | Quorum Establishment Based On A Vote From A Voting Device |
US20080091806A1 (en) * | 2006-10-11 | 2008-04-17 | Jinmei Shen | Dynamic On-Demand Clustering |
US20080196029A1 (en) * | 2007-02-12 | 2008-08-14 | Microsoft Corporation | Transaction Manager Virtualization |
US20110078411A1 (en) * | 2009-09-29 | 2011-03-31 | Alex Maclinovsky | Dynamically modifying program execution capacity |
CN102656565A (zh) * | 2009-10-26 | 2012-09-05 | 亚马逊技术股份有限公司 | 已复制数据的故障切换和恢复 |
US8606922B1 (en) * | 2010-09-27 | 2013-12-10 | Amazon Technologies, Inc. | Dynamic resource zone mapping |
US20130073716A1 (en) * | 2011-09-21 | 2013-03-21 | International Business Machines Corporation | Determining resource instance placement in a networked computing environment |
CN102404342A (zh) * | 2011-12-22 | 2012-04-04 | 山东中创软件商用中间件股份有限公司 | 一种目录服务域间挂接的方法及系统 |
US20130179560A1 (en) * | 2012-01-09 | 2013-07-11 | International Business Machines Corporation | Tracking Changes to Data Within Various Data Repositories |
US20140089511A1 (en) * | 2012-09-27 | 2014-03-27 | Kent McLean | Client Classification-Based Dynamic Allocation of Computing Infrastructure Resources |
CN104704470A (zh) * | 2012-10-10 | 2015-06-10 | 阿尔卡特朗讯公司 | 用于在云内自动部署地理分布式应用的方法和设备 |
CN104714847A (zh) * | 2013-12-13 | 2015-06-17 | 国际商业机器公司 | 用于动态地改变云计算环境的方法和系统 |
Non-Patent Citations (2)
Title |
---|
GGJUCHENG: "可扩展Web架构与分布式系统", 《HTTPS://WWW.CNBLOGS.COM/GGJUCHENG/P/3383662.HTML》 * |
杨玉霞 等: "地理信息服务平台集群部署方法", 《地理空间信息》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078391A (zh) * | 2018-10-22 | 2020-04-28 | 阿里巴巴集团控股有限公司 | 一种业务请求处理方法、装置及设备 |
CN115145999A (zh) * | 2021-03-30 | 2022-10-04 | Sap欧洲公司 | 使用工作负载类将sql语句路由到弹性计算节点 |
CN115145999B (zh) * | 2021-03-30 | 2024-11-08 | Sap欧洲公司 | 将sql语句路由到弹性计算节点的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
US20170052707A1 (en) | 2017-02-23 |
EP3338186B1 (en) | 2023-03-29 |
EP3338186A1 (en) | 2018-06-27 |
US10437506B2 (en) | 2019-10-08 |
CN107924338B (zh) | 2021-07-30 |
CN113515381A (zh) | 2021-10-19 |
WO2017031097A1 (en) | 2017-02-23 |
US20180239536A1 (en) | 2018-08-23 |
US10656868B2 (en) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107924338A (zh) | 地理分布式集群系统中的最优存储装置和工作负载放置以及高弹性 | |
CN105308576B (zh) | 确定和监测计算机资源服务的性能能力 | |
CN106067080B (zh) | 提供可配置工作流能力 | |
US10489215B1 (en) | Long-range distributed resource planning using workload modeling in hyperconverged computing clusters | |
CN108304250A (zh) | 用于确定运行机器学习任务的节点的方法和装置 | |
JP6564023B2 (ja) | コンピューティングインスタンスの起動時間 | |
EP1840744A2 (en) | Method and apparatus for delivering managed applications to remote locations | |
CN106664321A (zh) | 基于放置策略的计算资源分配 | |
CN108399101A (zh) | 资源调度的方法、装置和系统 | |
CN110442458A (zh) | 缩放计算群集 | |
CN109313564A (zh) | 用于支持多个不同租户的高度可用虚拟桌面的服务器计算机管理系统 | |
US20110010343A1 (en) | Optimization and staging method and system | |
CN107122377A (zh) | 自动匹配数据集与存储组件 | |
CN110392882A (zh) | 在包括虚拟化网络功能的网络中批量创建被管功能 | |
US11409453B2 (en) | Storage capacity forecasting for storage systems in an active tier of a storage environment | |
JP2004303190A (ja) | プログラム、情報処理装置、情報処理装置の制御方法、及び記録媒体 | |
CN110221910A (zh) | 用于执行mpi作业的方法和装置 | |
CN103713852B (zh) | 一种信息处理方法、服务平台及电子设备 | |
CN108112268A (zh) | 管理与自动扩展组相关的负载平衡器 | |
CN109885400A (zh) | 用于发送指令的方法和装置 | |
CN105827744A (zh) | 云存储平台的数据处理方法 | |
CN107408239A (zh) | 通过多个邮箱在通信应用中进行海量数据管理的架构 | |
US20210319348A1 (en) | Artificial Intelligence Techniques for Prediction of Data Protection Operation Duration | |
CN107329798A (zh) | 数据复制的方法、装置和虚拟化系统 | |
US12086581B2 (en) | Increased resource usage efficiency in providing updates to distributed computing devices |
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 |