CN109313564A - 用于支持多个不同租户的高度可用虚拟桌面的服务器计算机管理*** - Google Patents
用于支持多个不同租户的高度可用虚拟桌面的服务器计算机管理*** Download PDFInfo
- Publication number
- CN109313564A CN109313564A CN201780039101.1A CN201780039101A CN109313564A CN 109313564 A CN109313564 A CN 109313564A CN 201780039101 A CN201780039101 A CN 201780039101A CN 109313564 A CN109313564 A CN 109313564A
- Authority
- CN
- China
- Prior art keywords
- tenant
- server computer
- computer
- virtual machine
- server
- 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
- 238000000034 method Methods 0.000 claims abstract description 53
- 230000008569 process Effects 0.000 claims abstract description 52
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 claims abstract description 39
- 239000010931 gold Substances 0.000 claims abstract description 39
- 229910052737 gold Inorganic materials 0.000 claims abstract description 39
- 238000013500 data storage Methods 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 12
- 238000007726 management method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 238000012423 maintenance Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 241001269238 Data Species 0.000 description 3
- 230000003466 anti-cipated effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 238000004148 unit process Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- 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
-
- 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
-
- 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/5077—Logical partitioning of resources; Management or configuration of virtualized 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
通过基于租户的黄金映像虚拟机在服务器计算机上添加和启动实现租户虚拟机的进程的副本,可以将该服务器计算机快速分配给租户的用户并准备好由其使用。黄金映像虚拟机还具有关联的黄金映像虚拟盘。服务器计算机上的虚拟机与虚拟盘相关联,该虚拟盘是基于黄金映像虚拟盘的链接克隆,例如黄金映像虚拟盘副本的链接克隆。新服务器计算机上的租户的每个虚拟机也被添加到租户计算机网络。可以将多个租户的服务器计算机分组到一个集群中,并且可以使用反关联性规则来限制每个租户的虚拟机仅在专用于该租户的服务器计算机上实例化。
Description
相关申请
本专利申请要求于2016年6月23日提交的美国专利申请序列号15/190,271的权益,其全部内容通过引用并入本文。
背景技术
虚拟桌面是计算资源(诸如处理器、存储器、存储和计算机网络访问)以及在这样的资源上运行的计算机程序(其由用户从远程设备远程访问)的组合。这样的计算机程序通常包括操作***,以及在计算机上运行的一个或更多个应用程序,其利用由操作***管理的计算机资源。远程设备在个人用户和虚拟桌面之间提供输入和输出接口。远程设备将输入传送到虚拟桌面并从虚拟桌面接收显示信息,以通过计算机网络在远程设备上显示。远程设备上使用应用程序连接到虚拟桌面。
服务提供商可以将虚拟桌面作为服务提供给多个客户,也称为租户。服务提供商通常维护一个或更多个数据中心。数据中心是容纳在其上实现虚拟桌面的多台服务器计算机的位置。租户通常是具有多个用户的企业。每个用户通常具有基于用户分类的应用程序和资源组。服务提供商管理服务器计算机,以便在其服务器计算机上供应多组虚拟桌面以供每个租户的用户使用。
一般而言,服务提供商希望将其客户与用于支持客户的虚拟桌面的硬件配置(即,服务器计算机)的选择和管理隔离,但是服务提供商可以通过将其服务器计算机的资源有效地部署给其租户来更有利地操作。有效部署的一部分是仅当租户实际可能使用这些资源时才实例化实际服务器计算机以供租户使用。
实例化服务器计算机以供租户使用涉及安装由该租户许可以供其用户使用的计算机程序,例如操作***、文件***和应用程序。这些计算机程序的许可条款可以限制服务提供商在多个租户之间共享计算机程序或计算资源。作为示例性限制,可能不允许服务提供商准许两个租户在同一服务器计算机上的不同处理器或处理器核心上同时运行许可计算机程序的单独实例。其他考虑因素(例如租户请求或设计或性能考量)可能会限制服务提供商针对不同租户在同一服务器计算机上的不同处理器或处理器核心上同时运行许可计算机程序的单独实例的能力或期望。例如,一些租户可能要求其用户不在其他租户正在使用计算资源的同时使用服务器计算机上的计算资源。作为另一示例,由一个租户在使用其一些计算资源期间服务器计算机的性能可能由于另一个租户在同一服务器计算机上同时使用其他计算机资源而降低。
当服务提供商将虚拟桌面作为服务提供给多个租户时,通常预期计算资源将具有高度可用性。高度可用性通常涉及具有准备好的附加的备用计算资源,以在发生故障时从其他计算资源接管处理。当支持高度可用性时,针对多个租户之间共享资源的限制也会影响资源利用率。
发明内容
本发明内容简要地介绍了下面在具体实施方式中进一步描述的一些概念。本发明内容既不旨在识别所要求保护的主题的关键或必要特征,也不旨在限制所要求保护的主题的范围。
为了解决限制多个租户同时使用服务器计算机的条件,提供了一种计算机***,其中租户可以以在任何给定时间点服务器计算机专用于单个租户的方式共享服务器计算机。虽然服务提供商可以基于预期的可能使用以这种方式将服务器计算机资源分配给租户,但是将通用服务器计算机动态添加或重新指派给为特定租户配置的服务器计算机池意味着能够快速供应、激活并实例化在该通用服务器计算机上为该租户配置的虚拟桌面。为此,涉及安装操作***,包括文件***和租户的应用程序,并将该操作***配置到计算机网络和租户的存储设备。许多操作***和应用程序安装程序可能需要几个小时,并且可能涉及在服务器计算机可用于提供可以指派给该租户的特定用户的虚拟桌面之前多次重新启动服务器计算机。
在这样的***中,还可以提供服务器计算机资源的高度可用性。例如,可以通过为租户分配超出该租户的预计用途的一个或更多个附加服务器计算机来部分地提供高度可用性。例如,如果租户预计使用15台服务器计算机,则可以为该租户分配1台附加服务器计算机,从而导致分配16台服务器计算机。如果租户的其中一台服务器计算机出现故障,则可以将该故障服务器计算机的负载重新分配到分配给该租户的其他服务器计算机。对于使用很少服务器计算机的租户来说,以这种方式提供高度可用性是低效的。在最坏的情况下,仅使用一台服务器计算机的租户将被分配两台服务器计算机,导致分配给该租户的资源利用率顶多百分之五十。由于许多租户具有低利用率,以这种方式分配服务器计算机资源以实现高度可用性导致显着的低效率。
为了解决这些问题,可以通过在将服务器计算机添加到租户的服务器计算机集群之后,针对租户添加和启动虚拟机的进程的副本来将服务器计算机快速分配给租户。通过启动在服务器计算机上执行租户的虚拟机的进程的副本,租户的虚拟机在新分配的服务器计算机上快速可用于租户。
在一个实现中,通过在服务器计算机上从租户的黄金映像虚拟机(gold imagevirtual machine)(称为母(parent)虚拟机)实例化虚拟机的克隆(诸如链接克隆或完整克隆),将租户的虚拟机添加到租户的新分配的服务器计算机。可以从母虚拟机创建该租户的附加虚拟机,称为子虚拟机。例如,子虚拟机可以是作为母虚拟机进程的最初副本的进程。作为其具体示例,可以使用“分叉”操作来创建作为独立进程的子虚拟机,其是母虚拟机的即时副本。
黄金映像虚拟机还具有相关联的黄金映像虚拟盘,对于该黄金映像虚拟盘,副本可以存储在用于该租户的数据存储上。在租户的新服务器计算机上启动的虚拟机与作为基于黄金映像虚拟盘的链接克隆的虚拟盘相关联,例如黄金映像虚拟盘副本的链接克隆。然后,将新服务器计算机上的租户的每个虚拟机添加到租户计算机网络。
添加服务器计算机的这个进程也可以用于利用少量服务器计算机为租户提供高度可用性的更扩展的解决方案。这些租户的服务器计算机被分组为集群,并使用反关联性规则来限制每个租户的虚拟机仅在租户的服务器计算机上实例化。在将备用服务器计算机与租户关联以使租户的虚拟机在备用服务器上重新启动之后,可以启动恢复进程。
使用这些技术,可以跨多个租户共享可用服务器计算机池。可以从该池中为特定租户选择可用的服务器计算机,然后在运行时专用于该单个租户,从而提高服务器计算机的利用率,同时为每个租户提供专用的服务器计算机。
以下描述参考了附图,附图形成本公开的一部分并且通过图示的方式示出了示例性实现。应当理解,在不脱离本公开的范围的情况下可以做出其他实现。
附图说明
图1是具有多个服务器计算机以支持多个租户的虚拟桌面的计算机***的示例性实现的框图。
图2是为桌面管理器维护的数据结构的图示。
图3是为服务器计算机池维护的数据结构的图示。
图4是为租户维护的数据结构的图示。
图5是为租户分配的新服务器计算机的示例性实现的框图。
图6是描述将服务器计算机动态分配给租户的示例性实现的流程图。
图7是描述如何将服务器计算机分配给租户的流程图。
图8是针对在集群中组织以共享备用服务器计算机的多个租户的服务器计算机的图。
图9是描述如何将备用服务器计算机分配给租户的流程图。
图10是示例性通用计算机的框图。
具体实施方式
以下部分提供了具有多个服务器计算机以支持多个租户的虚拟桌面的计算机***的示例性实现。
如图1所示,服务提供商具有一个或更多个地理位置,多个服务器计算机100a、100b和150位于其中。服务器计算机通常是具有诸如下图10所示的架构的计算机。
一方面,服务器计算机100a、100b和150由服务提供商管理计算机网络102互连,以允许服务提供商管理服务器计算机以供租户使用。租户通常是企业,例如公司或多个个体的其他组织。可以通过每个服务器计算机的网络接口上的端口提供服务器计算机之间的连接,以允许服务提供商计算机网络上的其他计算机对服务器计算机进行管理访问。
另一方面,服务器计算机100a和100b还连接到相应的租户计算机网络112、110。这种连接通过每个服务器计算机的网络接口上的单独端口提供,以允许用于租户的虚拟桌面连接到该租户的租户计算机网络,服务器计算机被分配给该租户,虚拟桌面在服务器计算机上供应。租户计算机网络允许租户的虚拟桌面访问该租户的私有资源,例如目录服务、应用程序、打印机和其他网络连接资源。
类似地,数据存储104a和104b指示全部或部分地分配给特定租户的存储资源。可以将存储资源分区为单独的数据存储,以允许在不同的租户之间共享存储资源。数据存储连接到服务提供商管理计算机网络102,以允许服务提供商管理要为特定租户配置和为维护配置的设备。数据存储还通过存储网络连接到服务器计算机,所述存储网络由虚线表示,其中一些标记为105。存储网络的最大传输单元通常大于典型企业网络(例如租户计算机网络)的最大传输单元,以便为与存储设备的交互提供更有效的数据传输。通过特意将数据存储映射到这些服务器计算机,数据存储在逻辑上连接到租户的服务器计算机。
还为每个租户在租户计算机网络上建立一个或更多个桌面管理器120。桌面管理器聚合针对在租户计算机网络上可用的虚拟桌面的服务和关于在租户计算机网络上可用的虚拟桌面的信息,并管理会话状态和向租户用户分配虚拟桌面。桌面管理器通常是具有诸如下图10所示的架构的计算机。多个桌面管理器可以由相同的计算机支持,或者每个桌面管理器可以容纳在单独的计算机中。针对每个租户创建和配置至少一个桌面管理器。
由每个桌面管理器为租户管理的一组服务器计算机通常是同构的,即,每个服务器计算机向每个虚拟桌面提供与由同一桌面管理器管理的其他服务器计算机相同的硬件资源或相同比例的硬件资源。可以提供多种类型的服务器计算机以支持不同类型的工作负载,每个工作负载具有用于每个租户的其自己的桌面管理器,例如在美国专利公开2015/0256474中描述的,在此通过引用并入本文。
租户还可以访问租户访问管理器计算机(125)。租户访问管理器计算机允许租户请求服务提供商为用户池配置一个或更多个虚拟桌面,如下面更详细描述的。租户访问管理器计算机可以提供其他功能,例如账户管理、用户权利、用户认证和授权、利用率报告等。在租户用户请求访问为用户供应的虚拟桌面之后,租户访问管理器联系桌面管理器以便租户获得关于要分配给用户的虚拟桌面的信息。桌面管理器提供对网络地址和端口的指示,通过该网络地址和端口可以在租户的服务器计算机之一上访问虚拟桌面。租户访问管理器通常是具有诸如下面的图10中所示的架构的计算机。虽然它在图1中显示为单独的计算机,但是租户访问管理器可以并入相同的计算机中作为租户的桌面管理器。
在图1中的该说明性示例中,如100a和100b处所示,为不同的租户指派不同的服务器计算机。技术上可以让不同的租户共享服务器计算机的资源。然而,作为示例,服务器计算机150尚未连接到租户计算机网络,因为它尚未被分配给租户。尽管如此,服务器计算机150仍连接到服务提供商计算机网络,以允许服务提供商将服务器计算机150配置为分配给租户之一。
通常使多个服务器计算机150可用,可以将来自其的任何服务器计算机分配给多个租户中的任何租户。可以以下面结合示例性实现更详细描述的方式将不同的服务器计算机150分配给不同的租户。作为示例,租户1可以总是具有图1中所示的分配给他的至少两台服务器计算机;然而,在一天中的不同时间,可以将附加服务器计算机分配给租户1。类似地,租户2可以总是具有图1中所示的分配给他的至少两台服务器计算机;然而,在一天中的不同时间,可以将附加服务器计算机分配给租户2。
资源管理器130允许服务提供商将服务器计算机150分配给租户,并配置服务器计算机100a、100b以支持特定租户的虚拟桌面,但不需要直接访问其租户的计算机网络或虚拟桌面。在将服务器计算机150分配给租户之后,资源管理器还可以通过租户管理计算机接收请求,以根据所需桌面模型为用户池配置虚拟桌面。桌面模型是定义用于支持某种类型工作负载的***资源的特征的数据,并且可以包括不同服务器计算机之间可能不同的信息(诸如CPU、内存、存储或其他资源)。使用关于与租户的每个桌面管理器相关联的服务器计算机的信息,资源管理器将虚拟桌面分配给被指派给租户的服务器计算机,以便优化服务提供商对该租户的资源利用率。例如,资源管理器可以在租户的可用服务器计算机上相对均一地分发桌面。资源管理器通常是具有诸如图10所示的架构的计算机。
在这样的***中,服务提供商资源管理器通常为每个客户端维护与客户端相关联的服务器计算机的列表及其当前状态,以及可用的未分配的服务器计算机的列表。***可以为每个租户维护***负载信息,指示何时应该将附加服务器计算机分配给租户或从租户取消分配。对于每个租户,***还可以维护用户列表和将用户与桌面模型相关联的信息。服务提供商可以使用有关桌面模型的信息来选择桌面管理器,并反过来选择分配给租户的服务器计算机之一,以供应和管理该用户可以使用的虚拟桌面。
利用这种配置,可以随时间为租户分配不同数量的服务器计算机。为了进行这样的分配,服务提供商资源管理器通常根据需求将服务器计算机150添加到租户网络以及将其从租户网络移除并将数据存储映射到服务器计算机150。这样的分配可以自动完成,例如基于时间表,基于历史容量需求,基于测量的需求,基于阈值触发,基于服务器计算机维护或现有服务器计算机的故障,或者可以响应于来自***管理员的手动指令来完成。资源管理器还指示添加到租户网络的服务器计算机以为该租户供应一组虚拟桌面。
虽然服务提供商可以基于预期的可能使用将服务器计算机分配给租户,但是将通用服务器计算机动态添加或重新指派给为特定租户配置的服务器计算机池意味着能够快速配置服务器计算机并为该新配置的服务器计算机上的该租户供应虚拟桌面。为此,涉及安装操作***,包括文件***,并在租户计算机网络(例如,110、112)上配置该服务器计算机,并将服务器计算机映射到租户的数据存储(例如,104a、104b),将该服务器计算机注册到分配给租户的服务器计算机集群,然后在该服务器计算机上供应多个虚拟桌面。许多操作***和应用程序安装程序以及网络注册和数据存储映射可能需要几个小时,由于例如在服务器计算机可用于提供可指派给该租户的特定用户的虚拟桌面之前,重新启动服务器计算机几次。下面更详细地描述在支持虚拟桌面的情况下快速实现这些结果的技术。
另外,在这样的***中,可以提供服务器计算机资源的高度可用性。例如,可以通过为租户分配超出该租户的预计用途的附加服务器计算机来部分地提供高度可用性。例如,如果租户预计使用15台服务器计算机,则可以为该租户分配附加服务器计算机,从而导致分配16台服务器计算机。如果租户的其中一台服务器计算机出现故障,则可以将该故障服务器计算机的负载重新分配给被分配给该租户的其他服务器计算机。对于使用很少服务器计算机的租户来说,通过附加服务器计算机为每个租户提供高度可用性是低效的。在最坏的情况下,仅使用一台服务器计算机的租户将被分配两台服务器计算机,导致分配给该租户的资源利用率顶多50%。许多租户的利用率低,出于高度可用性以这种方式分配服务器计算机资源导致显著的低效率。下面更详细地描述用于在提供高度可用性的同时提高利用率的技术。
鉴于对这种计算机***的一般操作和功能的描述,现在将描述更具体的示例性实现,其中可以解决服务器计算机的快速配置的问题,以及如何解决有效地提供高度可用性。
在该示例中,各种数据存储在***内的存储设备或存储器中的数据文件中的数据结构中,以维护用于将服务器计算机指派给租户的信息。
现在参考图2,资源管理器维护关于租户的每个桌面管理器200的数据。因此,可以存在用于每个租户的数据结构200的多个实例,并且每个租户具有至少一个数据结构200。租户的每个桌面管理器200的数据包括描述桌面模型202或由桌面管理器支持的桌面模型的数据,以及与该桌面管理器关联的服务器计算机的列表204。租户的一个或更多个服务器计算机列表204中的服务器计算机的数量表示当前分配给租户的服务器计算机的数量,并且如果租户的全部虚拟桌面配额是活动的,则可能不足以支持租户的使用。所支持的桌面型号可以专门定义,或可以从服务器计算机的规格中推断出来。关于每个服务器的容量206的信息和每个服务器计算机的当前用量208也可以由资源管理器确定和存储。描述服务器计算机的当前使用的数据可以包括为服务器上的每个租户供应的虚拟桌面的指示。
现在参考图3,资源管理器还在服务器计算机列表300中维护关于可用的未分配的服务器计算机的数据。该服务器计算机列表包括针对每个服务器计算机300的至少服务器计算机标识符302,例如,它可以是数字标识符,通用唯一标识符(uuid)(诸如BIOS id),或者网络地址(诸如服务提供商计算机网络上的MAC地址或其IP地址)。还可以存储指示桌面模型304的数据。如果使用多个桌面管理器和桌面模型,则此数据允许资源管理器识别与此服务器计算机关联的租户的桌面管理器。还可以存储用于每个服务器计算机的各种其他数据306,例如服务器计算机所在的数据中心或地理位置。
参考图4,资源管理器还维护每个租户的各种租户数据400或可以从租户管理服务检索每个租户的各种租户数据400。租户数据可以包括例如用户列表402和配额数据406。通常,租户从服务提供商购买对多个预定义桌面模型的每一个中的多个虚拟桌面的访问,称为配额。此配额也可以按每个桌面管理器的每个桌面模型存储,在这种情况下,可以查询桌面管理器以确定其配额和该配额内的当前使用率。实际供应的用于租户用户访问的虚拟桌面的当前数量还可以被跟踪,如408所示。当租户为要供应的用户池请求一组虚拟桌面时,该配额和当前使用量可以被检查以确定是否可以满足请求。请注意,当前分配给租户的服务器的数量可能不足以支持租户允许的完整配额。可以存储各种其他租户数据410,诸如标识信息、联系人信息和计费信息,以及用于供应虚拟桌面的黄金图案(即,提供虚拟桌面的可执行计算机程序的基本副本)的指示。
可以通过资源管理器由服务提供商及其计算机***创建、读取、更新、写入、删除和存储这些各种数据结构。特定于租户的数据可以由服务提供商通过资源管理器更新或由租户通过与资源管理器通信的租户桌面管理器来更新。两个***都包括由计算机程序配置的计算机(如下面图10中所述),以提供对存储数据的访问。例如,可以通过在访问存储数据的计算机上运行的浏览器应用程序来访问数据,所述计算机反过来提供允许用户查看和输入数据的浏览器应用程序的界面。
给定如上结合图1-4所述配置的***,现在将结合图5-9描述这种***的操作的示例性实现,以支持来自多个租户的用户。
参考图5,示出了示例性计算机***的框图,其中称为“新主机”500的新服务器计算机被分配给租户。该租户已经为其分配了至少一个服务器计算机,称为“现有主机”502。租户已经具有通过存储网络(如505所示)与现有主机502相关联并连接到现有主机502的数据存储504。现有主机502正在运行母虚拟机(“VM”520),从其已创建一个或更多个子虚拟机(子VM 522)。“黄金映像”虚拟机(“VM”524)在现有服务器计算机502上注册。对于由该租户使用的每种类型的虚拟机,可以在分配给租户的单个服务器计算机上注册单个黄金映像VM。相应的黄金映像虚拟盘526也存储在该租户的每个数据存储504上。现有主机502上的母VM 520及其数据存储504上的虚拟盘530分别是基于用于该租户的黄金映像VM 524和黄金映像虚拟盘526的克隆,例如链接克隆或完整克隆。在图5所示的实现中,母虚拟盘530是黄金映像虚拟盘526的副本528的链接克隆。租户的黄金映像VM 524和黄金映像虚拟盘526提供了租户的虚拟机和相应的虚拟盘一致的初始状态。子VM 522每个都具有关联的虚拟盘532,其在图5所示的实现中已被创建为母虚拟盘530的链接克隆。在一些实现中,子虚拟盘532可以是复制虚拟盘528或黄金映像虚拟盘526的链接克隆。
新主机500用其主操作***(通常为超级管理程序)初始化,其允许多个虚拟机在主机计算机上执行。新主机500也被添加到租户计算机网络506,与租户的服务器计算机集群相关联。数据存储504还通过存储网络505映射到新主机500。在一些实现中,可以将附加数据存储504分配给租户并映射到新主机500。图5中的“505”的多个实例旨在指示存储网络上的不同连接。
当添加新主机500时,基于用于该租户的黄金映像虚拟机524,在新主机500上实例化克隆(诸如完整克隆或链接克隆)。该克隆可以是新主机500上的母VM 510。数据存储504上相应的虚拟盘534可以是例如黄金映像虚拟盘的副本528的链接克隆。
随后,可以通过称为“分叉”的***操作操作在新主机500上创建租户的附加虚拟机(例如,为正整数N的数字),称为“子VM 1”到“子VM N”512。一般而言,分叉操作会创建一个独立的进程,作为现有进程的即时副本。当应用于定义整个母虚拟机的进程时,结果是子虚拟机,其为母虚拟机的现场副本(live copy)。该操作的示例性实现可以在美国专利公开2016/0055016中找到,其通过引用并入本文。因此,每个子VM 512是独立的进程,其是用于母VM 510的运行的进程的即时副本。
对于每个子VM 512,***在子VM使用的数据存储504上创建其母VM的虚拟盘534的链接克隆536。如果使用多个数据存储504,则每个数据存储504具有黄金映像虚拟机的虚拟盘526的副本528,并且子VM的虚拟盘(532、536)被创建为其母虚拟盘(530、534)或驻留在子VM映射到的数据存储上的副本(528)的链接克隆。通过将子VM的虚拟盘创建为副本虚拟盘的链接克隆,可以立即使虚拟盘可用并避免复制大量数据。随后,当子VM正在运行时,链接克隆使用写时复制(copy-on-write)技术来存储任何更改。类似地,子VM的任何存储页面是对母VM的存储页面的引用,其然后使用写时复制操作成为子VM的独立存储页面。因此,子VM然后访问其自身的链接克隆536,并且对子VM的任何改变仅反映在与该子VM相关联的“德尔塔”盘中,其存储子VM的链接克隆与副本虚拟盘之间的差异,同时另外最小化对从原始黄金映像虚拟盘没有变化的数据的存储使用。
每个子VM 512还在租户计算机网络上配置有其自己的网络地址,例如互联网协议(IP)地址。可以启动“离线域加入”进程,其中租户计算机网络的访问控制***被通知在客户端VM中运行的客户机操作***的身份,并且通过该进程客户端VM配置有网络地址。该进程的示例性实现在美国专利9,323,565中被描述,该专利在此通过引用并入本文。
有时,分配给该租户的服务器计算机的租户的使用使得服务器计算机从租户解除分配。在这种情况下,选择一个服务器计算机用于移除,并且当仍然从主机500运行到另一个主机(例如,主机502)时,以用户不知不觉地连接到该子VM的方式移动任何当前使用的子VM 512。将虚拟机从一个主机移动到另一个主机可以如美国专利7,484,208中所描述的那样实现,该专利在此通过引用并入本文。在新主机502上创建对应于原始子VM的新进程,然后在旧主机500和新主机502之间同步地复制和维护所有存储页面以及可选的原始子VM的存储。当原始进程的输入和输出静默(quiesce)时,关于原始进程的任何***都将转换为涉及新主机上的新进程,并终止旧主机上的原始进程。在将所有子VM从主机500移动到另一主机502并移除任何一个或多个母VM 510之后,然后可以通过从租户的计算机网络和数据存储中断开它(逻辑上)并从与该租户关联的计算机集群中移除它(逻辑上)来从租户解除分配主机500。然后,解除分配的服务器计算机可用于向其他租户提供计算服务。
现在参考图6,描述了管理服务器计算机到租户的分配的进程的示例性实现。此示例用于其中计算机***监视利用率并定期自动调整分配的实现。应当理解,图6仅是如何确定是否改变租户的服务器计算机分配的实现的一个示例。
因此,周期性地,服务提供商资源管理器获得600描述分配给租户的服务器计算机的当前利用率的数据。例如,可以从存储在图2-4中所示的数据结构中的数据获得关于当前利用率的数据。例如通过与阈值比较来评估602当前利用率,以确定是否应当对当前分配进行任何改变。例如,与一个或更多个最小阈值的比较可以指示一个或更多个服务器计算机未充分利用并且应该从租户解除分配服务器计算机,如604所示。与一个或更多个最大阈值的比较可以指示一个或者更多服务器计算机被过度使用并且应该将另一个服务器计算机分配给租户,如606所示。下面结合图7描述用于添加服务器计算机的进程的示例性实现。否则,服务提供商资源管理器确定不对服务器计算机的分配进行改变,如608所示。
现在参考图7,将服务器计算机分配给租户的进程的示例性实现开始于服务提供商资源管理器接收对700租户以及该租户对服务器计算机的需求的指示。租户的需求可以通过多种方式指定。例如,可以预定义租户的需要,例如通过时间表,其指定在某一天和某时间,资源管理器将服务器计算机添加到租户的服务器计算机组。作为另一示例,租户的需求可以基于当前使用,例如,当前正在使用的虚拟桌面的数量超过阈值,诸如上面图6中所描述的,或者当前正在使用的虚拟桌面的数量在当前指派的服务器计算机的指定容量阈值以内。可以基于过去使用模式和当前使用模式的比较来预测租户的需求。租户的需求可以以来自租户的特定请求的形式到来。租户的需求也可能出现在故障或其他维护操作的情况下,响应于此当前分配的服务器计算机上的虚拟桌面被移动到新分配的服务器计算机。
服务提供商资源管理器从可用的服务器计算机中选择702服务器计算机,例如,如在图3中所示的数据结构中找到的。该选择可以以若干方式进行。例如,如果为租户指定了桌面模型和/或地理位置或数据中心,则可以过滤可用的服务器计算机组以仅识别匹配指定标准的那些服务器计算机。可以使用随机或伪随机选择,或简单地选择列表中的第一个,或者与指定标准匹配的服务器计算机的任何其他形式的选择来选择服务器计算机。
然后,服务提供商资源管理器为新添加的主机计算机启动704设置进程。如果之前没有完成,则用操作***和文件***初始化706服务器计算机。租户计算机网络和可选的一个或更多个数据存储也连接708到主机计算机。将新服务器计算机添加710到与租户关联的服务器计算机集群。
在将新服务器计算机添加到租户的服务器计算机集群之后,将租户的虚拟机的进程的副本添加到服务器计算机并启动。通过在服务器计算机上启动执行租户的虚拟机的进程的副本,使得租户的虚拟机在租户的新分配的服务器计算机上快速可用。
在一个实现中,在服务器计算机上启动的虚拟机进程的副本是用于该租户的一个或更多黄金映像虚拟机的克隆,例如链接克隆或完整克隆,其在新服务器计算机上作为母VM被实例化712,以便在新服务器计算机上运行母VM,并在租户使用的每个新数据存储上创建其虚拟盘的副本(如果已添加)。租户的子VM被创建714为母VM进程的分支。
可以使用其他实现来添加和启动租户的虚拟机的进程的副本到已经被添加到租户的服务器计算机集群的服务器计算机。例如,可以在服务器计算机上实例化一个或更多个虚拟机。然后可以暂停这些虚拟机的进程,并且可以从服务器计算机中移除已暂停的进程的副本。可以从该租户的服务器计算机集群中移除该服务器计算机。当将服务器计算机添加回租户的服务器计算机集群时,暂停的进程被注册到服务器计算机并重新开始。
在服务器计算机上创建子VM之后,它们与副本虚拟盘相关联。例如,对于每个子VM,***还为母VM创建716虚拟盘副本的链接克隆。每个子VM还被配置718到具有其自己的网络地址的租户网络之一上。
现在参考图8,描述了***的示例性实现,其提高了服务器计算机的利用率,同时还提供了高度可用性,其中多个租户使用少量服务器计算机。在上述示例中,租户可以被分配N个服务器计算机,其对应于租户的预测使用量加1。换句话说,如果预计租户需要N台服务器计算机来支持M个虚拟机,则***会为租户分配N+1个服务器计算机。N+1个服务器计算机的分配可以在服务器计算机集群中完成。也就是说,租户可以拥有Y个服务器计算机的X个集群,例如,Y可以是每个集群16个或32个服务器计算机,并且可以为每个集群内的租户分配一个或更多个附加服务器计算机以实现高度可用性。假设针对高度可用性的附加服务器计算机的数量是H,则租户可以具有分配给它的N+(H*X)个服务器计算机,其被分成各组Y个服务器计算机。如上所述,可以时常调整N的值。这样的分配支持高度可用性,因为如果N+1个服务器计算机中的任何一个出现故障,则有足够的容量(N台服务器计算机)可用于支持该租户的M个虚拟机。
然而,在这样的配置中,对于小的N值,例如N<8尤其是对于N<4,这种分配可能是低效的。例如,对于四个租户,每个租户需要三个服务器计算机,因此每个租户四个服务器计算机,可以用四组四台服务器计算机定义十六台计算机集群。这样的集群将实现75%的利用率。
为了解决和改善这种利用率,如图8所示,为一组租户定义单个集群800。每个租户Ti具有分配的Ni个服务器计算机,例如802。为该组租户指定一个或两个附加备用服务器计算机804。为了确保最小步骤并因此更快地分配备用服务器,给定集群中的备用服务器可以为集群中的所有租户配置了网络和数据存储。
另外,应用称为反关联性规则的规则来指定如何在集群内的服务器计算机上实例化集群内的不同租户的虚拟机。特别地,可以使用反关联性规则来确定在任何给定的服务器计算机上,只能在该服务器计算机上创建一个租户的虚拟机。换句话说,第二租户的虚拟机不能被转移到具有第一租户的一个或更多个虚拟机的服务器计算机上,或者在其上实例化,或者在其上运行。因此,一旦在服务器计算机上实例化用于租户的虚拟机并且应用了适当的反关联性规则,则只有该租户的虚拟机可以在该服务器计算机上实例化。当要将一个租户的虚拟机移动到服务器计算机时,调度程序将取消具有其他租户的虚拟机的任何服务器计算机的资格。当高度可用性恢复进程被调用时,遵循已建立的反关联性规则,其会将虚拟机从集群中发生故障的服务器计算机重新启动到该集群中的其他服务器计算机。备用服务器计算机与它们没有关联,直到特定租户的虚拟机被放置在具有已指定了适当的反关联性规则的该备用服务器上为止。
在任何给定时间,例如租户的服务器计算机的维护事件,可以将集群中的一个备用服务器计算机分配给与集群相关联的一个租户。如上结合图5至7所述,服务器计算机的设置可以以类似于向租户添加服务器计算机的方式执行。随后,由于反关联性规则和高度可用性恢复进程,虚拟机可以从一台服务器计算机移动到另一台。
现在转到图9,现在将描述用于支持高度可用性的进程的示例性实现的流程图。
为租户添加的服务器计算机被置于900维护模式。在该模式中,它被映射902到租户的数据存储,并且被配置904到租户的计算机网络。然后,在服务器计算机上注册906租户的占位虚拟机。然后将服务器计算机从维护模式移除908,并且启动910高度可用性恢复进程。由于反关联性规则,在该服务器计算机上注册的租户的占位虚拟机本质上保留该服务器计算机以供该租户使用,因为高度可用性恢复进程无法在此服务器计算机上为其他租户放置虚拟机。可以使用其他技术来确保可以保留新添加的服务器计算机以供特定租户使用。
如上所述的计算机***允许服务提供商通过允许服务器计算机的分配更加响应于需求或利用率的变化来基于租户对那些服务器计算机的实际使用来提高服务器计算机的利用率。特别地,为了解决限制多个租户同时使用服务器计算机的条件,提供了一种计算机***,其中租户可以在任何给定时间点以服务器计算机专用于单个租户的方式共享服务器计算机。此外,可以通过使多个租户的备用服务器计算机从一组共享的备用服务器计算机中被收回来更有效地支持高度可用性。
图10示出了实现上述***的各种组件可以采用的示例性计算机。图10中所示的计算机仅是通用计算机的一个示例,并不旨在对这种计算机的使用范围或功能提出任何限制。
参照图10,示例性计算机包括至少一个处理单元1002和存储器1004。计算机可以具有多个处理单元1002。处理单元1002可以包括彼此独立操作的一个或更多个处理核心(未示出)。附加协处理单元(诸如图形处理单元1020)也可以存在于计算机中。存储器1004可以是易失性存储器(例如动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)等),或非易失性存储器(诸如可编程只读存储器(PROM)、闪存等的形式)或两者的某种组合。存储器可以包括与处理单元1002和1020分开的***存储设备以及位于处理单元1002和1020内的寄存器和其他存储器。该配置在图10中由虚线1006示出。计算机1000可以包括附加存储(可移除和/或不可移除的),包括但不限于磁盘或光盘或磁带。这种附加存储在图10中由可移除存储1008和不可移除存储1010示出。
计算机存储介质是数据可以存储于其中并且可由计算机从可寻址物理存储位置中检索的任何介质。计算机存储介质包括易失性和非易失性、可移除和不可移除的介质。存储器1004、可移除存储1008和不可移除存储1010都是计算机存储介质的示例。计算机存储介质的一些示例是DRAM、SRAM、PROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光学或磁光记录存储设备、磁带盒、磁带、磁盘存储器或其他磁存储设备。计算机存储介质和通信介质是互斥的介质类别。
计算机1000还可以包括一个或更多通信连接1012,其允许计算机通过通信介质与其他设备通信。通信介质通常通过在物质上传播调制数据信号(诸如载波或其他传输机制)在有线或无线物质上传输计算机程序指令、数据结构、程序模块或其他数据。术语“经调制的数据信号”表示以对信号中的信息进行编码的方式设置或改变其一个或更多个特征的信号。作为示例而非限制,通信介质包括有线介质(诸如有线网络或直接有线连接),以及无线介质(诸如声学、RF、红外和其他无线介质)。通信连接1012是设备(诸如网络接口或无线电发射器),其与通信介质相连接以在通信介质上发送数据并从通信介质接收数据。通信介质和信号与计算机存储介质互斥。
计算机器1000可以具有一个或更多各种输入设备1014,诸如键盘、鼠标、笔、相机、触摸输入设备等。还可以包括一个或更多输出设备1016,诸如显示器、扬声器、打印机等。所有这些设备在本领域中是公知的,这里无需详细讨论。
图10中的各种组件通常通过互连机制互连,例如一个或更多个总线1030。
如本文所述的使用计算机操作的***的每个组件可以由计算机实现,其由计算机中的一个或更多个处理单元处理的一个或更多个计算机程序配置。计算机程序包括计算机可执行指令和/或计算机解释指令,例如程序模块,其指令由计算机中的一个或更多个处理单元处理。通常,这样的指令定义例程、程序、对象、组件、数据结构等,当由处理单元处理时,指示处理单元对数据执行操作或将计算机配置为包括各种设备或数据结构。该计算机***可以在分布式计算环境中实践,其中任务由通过通信网络链接的远程计算机执行。在分布式计算环境中,计算机程序可以位于本地和远程计算机存储介质中。可以使用传统技术使计算机高度可用,其中计算机硬件可以被复制并且包括故障转移操作。
应当理解,所附权利要求书中定义的主题不必限于上述具体实施方式。上述具体实现仅作为示例公开。
Claims (20)
1.一种支持服务器计算机上的虚拟桌面以供远程用户计算机访问的计算机***,包括:
在服务提供商计算机网络上互连的多个服务器计算机;
每个服务器计算机包括计算资源,所述服务器计算机被配置为利用所述计算资源支持多个虚拟桌面,所述计算资源至少包括处理单元和存储器;
服务提供商资源管理器,包括连接到由计算机程序指令配置的所述服务器提供商计算机网络的计算机;
对于多个租户中的每个租户,所述租户的租户计算机网络和所述租户的数据存储;
其中,所述服务提供商资源管理器被配置为:
针对每个租户存储指示从所述多个服务器计算机中分配给所述租户的服务器计算机的数据;
通过以下方式将来自所述多个服务器计算机中的所选服务器计算机动态地分配给租户:
将所述租户计算机网络和所述租户的所述数据存储连接到所述所选服务器计算机;
作为租户虚拟机,基于所述所选服务器计算机上的所述租户的黄金映像虚拟机启动进程的副本;
将定义与所述黄金映像虚拟机相对应的黄金映像虚拟盘的数据存储在所述租户的所述数据存储中;
将所述租户虚拟机与虚拟盘相关联,所述虚拟盘包括基于所述黄金映像虚拟盘的链接克隆;
将所述租户虚拟机添加到所述租户的所述租户计算机网络。
2.如权利要求1所述的计算机***,其中启动进程的副本包括:
实例化母虚拟机的进程,作为所选服务器计算机上所述租户的所述黄金映像虚拟机的克隆;以及
从母虚拟机的所述进程的副本生成所述服务器计算机上的多个独立进程,作为子虚拟机。
3.如权利要求2所述的计算机***,其中具有虚拟盘的所述租户虚拟机包括:
将定义副本虚拟盘的数据存储在所述租户的数据存储中,作为所述租户的所述黄金映像虚拟机的所述黄金映像虚拟盘的副本;
将每个所述子虚拟机与所述租户的所述数据存储中的所述副本虚拟盘的链接克隆相关联。
4.如权利要求1所述的计算机***,其中为了动态地分配所选服务器计算机,所述服务提供商资源管理器还被配置为:
将所选服务器计算机指派给所述租户的服务器计算机集群。
5.如权利要求1所述的计算机***,其中,所述服务提供商资源管理器还被配置为从租户动态地解除分配服务器计算机。
6.如权利要求1所述的计算机***,其中为了动态地分配所选服务器计算机,所述服务提供商资源管理器还被配置为:
自动监控分配给每个租户的服务器计算机的利用率;以及
根据所监控的利用率将服务器计算机自动分配给租户。
7.如权利要求1所述的计算机***,其中为了动态地分配所选服务器计算机,所述服务提供商资源管理器还被配置为:
访问定义针对租户分配服务器计算机的调度数据;以及
根据所述调度数据将服务器计算机自动分配给所述租户。
8.如权利要求1所述的计算机***,其中所述服务提供商资源管理器还被配置为:
将多个租户的服务器计算机指派给单个集群;以及
将所述单个集群中的服务器计算机保留为备用计算机。
9.如权利要求6所述的计算机***,其中所述服务提供商资源管理器还被配置为:响应于事件,配置所述备用计算机以供租户使用。
10.如权利要求1所述的计算机***,还被配置为:
将多个租户的服务器计算机分组成集群;以及
应用反关联性规则以限制每个租户的所述租户虚拟机仅在专用于所述租户的服务器计算机上实例化。
11.在支持服务器计算机上的虚拟桌面以供多个企业的用户的远程计算机访问的计算机***中,所述计算机***包括在服务提供商计算机网络上互连的多个服务器计算机,每个服务器计算机包括计算资源,所述计算资源包括至少处理单元和存储器,所述服务器计算机被配置为利用所述计算资源支持多个虚拟桌面,进程包括:
存储每个租户的数据,所述数据指示从所述多个服务器计算机中分配给所述租户的服务器计算机;
通过以下方式将所选服务器计算机从所述多个服务器计算机中动态地分配给租户:
将所述租户计算机网络和所述租户的所述数据存储连接到所选服务器计算机;
作为租户虚拟机,基于所选服务器计算机上的所述租户的黄金映像虚拟机启动进程的副本;
将定义与所述黄金映像虚拟机相对应的黄金映像虚拟盘的数据存储在所述租户的所述数据存储中;
将所述租户虚拟机与虚拟盘相关联,所述虚拟盘包括基于所述黄金映像虚拟盘的链接克隆;
将所述租户虚拟机添加到所述租户的所述租户计算机网络。
12.如权利要求11所述的进程,其中启动进程的副本包括:
实例化母虚拟机的进程,作为所选服务器计算机上所述租户的所述黄金映像虚拟机的克隆;以及
从母虚拟机的所述进程的副本生成服务器计算机上的多个独立进程,作为子虚拟机。
13.如权利要求12所述的进程,其中具有虚拟盘的所述租户虚拟机包括:
将定义副本虚拟盘的数据存储在所述租户的所述数据存储中,作为所述租户的所述黄金映像虚拟机的所述黄金映像虚拟盘的副本;
将每个所述子虚拟机与所述租户的所述数据存储中的所述副本虚拟盘的链接克隆相关联。
14.如权利要求11所述的进程,其中动态地分配包括将所选服务器计算机分派给所述租户的服务器计算机集群。
15.如权利要求11所述的进程,还包括从租户动态地解除分配服务器计算机。
16.如权利要求11所述的进程,其中动态地分配所选服务器计算机包括:
自动监控分配给每个租户的服务器计算机的利用率;以及
根据所监控的利用率将服务器计算机自动分配给租户。
17.如权利要求11所述的进程,其中动态地分配所选服务器计算机包括:
访问定义针对租户分配服务器计算机的调度数据;以及
根据所述调度数据将服务器计算机自动分配给所述租户。
18.如权利要求11所述的进程,还包括:
将多个租户的服务器计算机指派给单个集群;以及
将所述单个集群中的服务器计算机保留为备用计算机。
19.如权利要求11所述的进程,还包括:响应于事件,配置所述备用计算机以供租户使用。
20.如权利要求11所述的进程,还包括:
将多个租户的服务器计算机分组成集群;以及
应用反关联性规则以限制每个租户的所述租户虚拟机仅在专用于所述租户的服务器计算机上实例化。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/190,271 | 2016-06-23 | ||
US15/190,271 US10778750B2 (en) | 2016-06-23 | 2016-06-23 | Server computer management system for supporting highly available virtual desktops of multiple different tenants |
PCT/US2017/038775 WO2017223327A1 (en) | 2016-06-23 | 2017-06-22 | Server computer management system for supporting highly available virtual desktops of multiple different tenants |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109313564A true CN109313564A (zh) | 2019-02-05 |
CN109313564B CN109313564B (zh) | 2022-06-24 |
Family
ID=59955619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780039101.1A Active CN109313564B (zh) | 2016-06-23 | 2017-06-22 | 用于支持多个不同租户的高度可用虚拟桌面的服务器计算机管理*** |
Country Status (4)
Country | Link |
---|---|
US (2) | US10778750B2 (zh) |
EP (1) | EP3469478B1 (zh) |
CN (1) | CN109313564B (zh) |
WO (1) | WO2017223327A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112286626A (zh) * | 2020-09-14 | 2021-01-29 | 福建升腾资讯有限公司 | 跨存储的磁盘快速安全克隆的方法、***、设备和介质 |
CN114257505A (zh) * | 2021-12-20 | 2022-03-29 | 建信金融科技有限责任公司 | 服务器节点配置方法、装置、设备及存储介质 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018014933A1 (en) * | 2016-07-18 | 2018-01-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Allocating vnfc instances with anti affinity rule to hosts |
US10817157B2 (en) | 2018-12-20 | 2020-10-27 | Nutanix, Inc. | User interface for database management services |
US11010336B2 (en) | 2018-12-27 | 2021-05-18 | Nutanix, Inc. | System and method for provisioning databases in a hyperconverged infrastructure system |
US11816066B2 (en) | 2018-12-27 | 2023-11-14 | Nutanix, Inc. | System and method for protecting databases in a hyperconverged infrastructure system |
US11385972B2 (en) * | 2019-06-26 | 2022-07-12 | Vmware, Inc. | Virtual-machine-specific failover protection |
US11693682B2 (en) * | 2019-07-24 | 2023-07-04 | Workspot, Inc. | Method and system for disaster recovery of a regional cloud based desktop fabric |
US11669349B2 (en) * | 2019-07-24 | 2023-06-06 | Workspot, Inc. | Method and system for cloud desktop fabric |
US11354150B1 (en) * | 2020-02-04 | 2022-06-07 | Amazon Technologies, Inc. | Utilizing maintenance event windows to determine placement of instances |
US11604705B2 (en) | 2020-08-14 | 2023-03-14 | Nutanix, Inc. | System and method for cloning as SQL server AG databases in a hyperconverged system |
US11907167B2 (en) | 2020-08-28 | 2024-02-20 | Nutanix, Inc. | Multi-cluster database management services |
US11640340B2 (en) | 2020-10-20 | 2023-05-02 | Nutanix, Inc. | System and method for backing up highly available source databases in a hyperconverged system |
US11604806B2 (en) | 2020-12-28 | 2023-03-14 | Nutanix, Inc. | System and method for highly available database service |
US11892918B2 (en) | 2021-03-22 | 2024-02-06 | Nutanix, Inc. | System and method for availability group database patching |
US20230410006A1 (en) * | 2022-06-17 | 2023-12-21 | Vmware, Inc. | Virtual desktop infrastructure optimization |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102760081A (zh) * | 2011-04-29 | 2012-10-31 | 国际商业机器公司 | 虚拟机资源分配的方法和装置 |
US20130139158A1 (en) * | 2008-05-02 | 2013-05-30 | Skytap | Multitenant hosted virtual machine infrastructure |
US20140304322A1 (en) * | 2013-04-08 | 2014-10-09 | Vmware, Inc. | Desktop shadowing in a virtual desktop infrastructure environment |
WO2015039181A1 (en) * | 2013-09-23 | 2015-03-26 | Gopc Pty Ltd | Virtual computing systems and methods |
US20150135003A1 (en) * | 2013-11-12 | 2015-05-14 | Vmware, Inc. | Replication of a write-back cache using a placeholder virtual machine for resource management |
US20150256474A1 (en) * | 2014-03-10 | 2015-09-10 | Vmware, Inc. | Resource management for multiple desktop configurations for supporting virtual desktops of different user classes |
US20150269187A1 (en) * | 2014-03-20 | 2015-09-24 | Electronics And Telecommunications Research Institute | Apparatus and method for providing virtual machine image file |
CN105577727A (zh) * | 2014-10-16 | 2016-05-11 | 南京瀚和软件技术有限公司 | 一种云计算虚拟机管理平台*** |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7484208B1 (en) | 2002-12-12 | 2009-01-27 | Michael Nelson | Virtual machine migration |
US8065676B1 (en) * | 2007-04-24 | 2011-11-22 | Hewlett-Packard Development Company, L.P. | Automated provisioning of virtual machines for a virtual machine buffer pool and production pool |
US8239646B2 (en) | 2007-07-31 | 2012-08-07 | Vmware, Inc. | Online virtual machine disk migration |
US20130086579A1 (en) * | 2011-09-30 | 2013-04-04 | Virtual Bridges, Inc. | System, method, and computer readable medium for improving virtual desktop infrastructure performance |
US20140330936A1 (en) * | 2013-05-02 | 2014-11-06 | International Business Machines Corporation | Secure isolation of tenant resources in a multi-tenant storage systemwith inter-server communication |
US9813485B2 (en) * | 2013-06-14 | 2017-11-07 | 1E Limited | Communication of virtual machine data |
US10439988B2 (en) * | 2013-08-21 | 2019-10-08 | Vmware, Inc. | On premises, remotely managed, host computers for virtual desktops |
US9304705B2 (en) * | 2013-09-06 | 2016-04-05 | Vmware, Inc. | Virtual machine cloning |
US9323565B2 (en) | 2013-12-20 | 2016-04-26 | Vmware, Inc. | Provisioning customized virtual machines without rebooting |
US20150178108A1 (en) | 2013-12-20 | 2015-06-25 | Vmware, Inc. | Fast Instantiation of Virtual Machines |
US9477507B2 (en) | 2013-12-20 | 2016-10-25 | Vmware, Inc. | State customization of forked virtual machines |
US9329889B2 (en) | 2014-03-31 | 2016-05-03 | Vmware, Inc. | Rapid creation and reconfiguration of virtual machines on hosts |
US9189342B1 (en) | 2014-05-29 | 2015-11-17 | Emc Corporation | Generic process for determining child to parent inheritance for fast provisioned or linked clone virtual machines |
US9588796B2 (en) | 2014-06-28 | 2017-03-07 | Vmware, Inc. | Live migration with pre-opened shared disks |
US9513949B2 (en) * | 2014-08-23 | 2016-12-06 | Vmware, Inc. | Machine identity persistence for users of non-persistent virtual desktops |
US9507623B2 (en) | 2014-12-15 | 2016-11-29 | Vmware, Inc. | Handling disk state inheritance for forked virtual machines |
US9569276B2 (en) * | 2015-03-16 | 2017-02-14 | Dell Products L.P. | System and method for dynamic user assignment in a virtual desktop environment |
US10037221B2 (en) * | 2015-12-28 | 2018-07-31 | Amazon Technologies, Inc. | Management of virtual desktop instance pools |
US10313261B1 (en) * | 2016-06-15 | 2019-06-04 | Workday, Inc. | Tenant assignment system |
-
2016
- 2016-06-23 US US15/190,271 patent/US10778750B2/en active Active
-
2017
- 2017-06-22 WO PCT/US2017/038775 patent/WO2017223327A1/en unknown
- 2017-06-22 EP EP17772139.6A patent/EP3469478B1/en active Active
- 2017-06-22 CN CN201780039101.1A patent/CN109313564B/zh active Active
-
2020
- 2020-08-20 US US16/998,967 patent/US11553034B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130139158A1 (en) * | 2008-05-02 | 2013-05-30 | Skytap | Multitenant hosted virtual machine infrastructure |
CN102760081A (zh) * | 2011-04-29 | 2012-10-31 | 国际商业机器公司 | 虚拟机资源分配的方法和装置 |
US20140304322A1 (en) * | 2013-04-08 | 2014-10-09 | Vmware, Inc. | Desktop shadowing in a virtual desktop infrastructure environment |
WO2015039181A1 (en) * | 2013-09-23 | 2015-03-26 | Gopc Pty Ltd | Virtual computing systems and methods |
US20150135003A1 (en) * | 2013-11-12 | 2015-05-14 | Vmware, Inc. | Replication of a write-back cache using a placeholder virtual machine for resource management |
US20150256474A1 (en) * | 2014-03-10 | 2015-09-10 | Vmware, Inc. | Resource management for multiple desktop configurations for supporting virtual desktops of different user classes |
US20150269187A1 (en) * | 2014-03-20 | 2015-09-24 | Electronics And Telecommunications Research Institute | Apparatus and method for providing virtual machine image file |
CN105577727A (zh) * | 2014-10-16 | 2016-05-11 | 南京瀚和软件技术有限公司 | 一种云计算虚拟机管理平台*** |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112286626A (zh) * | 2020-09-14 | 2021-01-29 | 福建升腾资讯有限公司 | 跨存储的磁盘快速安全克隆的方法、***、设备和介质 |
CN112286626B (zh) * | 2020-09-14 | 2023-11-10 | 福建升腾资讯有限公司 | 跨存储的磁盘快速安全克隆的方法、***、设备和介质 |
CN114257505A (zh) * | 2021-12-20 | 2022-03-29 | 建信金融科技有限责任公司 | 服务器节点配置方法、装置、设备及存储介质 |
CN114257505B (zh) * | 2021-12-20 | 2023-06-30 | 建信金融科技有限责任公司 | 服务器节点配置方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20170374136A1 (en) | 2017-12-28 |
US10778750B2 (en) | 2020-09-15 |
EP3469478A1 (en) | 2019-04-17 |
US20200382579A1 (en) | 2020-12-03 |
US11553034B2 (en) | 2023-01-10 |
WO2017223327A1 (en) | 2017-12-28 |
CN109313564B (zh) | 2022-06-24 |
EP3469478B1 (en) | 2021-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109313564A (zh) | 用于支持多个不同租户的高度可用虚拟桌面的服务器计算机管理*** | |
US11310286B2 (en) | Mechanism for providing external access to a secured networked virtualization environment | |
US11500670B2 (en) | Computing service with configurable virtualization control levels and accelerated launches | |
US10700991B2 (en) | Multi-cluster resource management | |
US8468548B2 (en) | Multi-tenant, high-density container service for hosting stateful and stateless middleware components | |
CN102103518B (zh) | 一种在虚拟化环境中管理资源的***及其实现方法 | |
US10298666B2 (en) | Resource management for multiple desktop configurations for supporting virtual desktops of different user classes | |
JP6618614B2 (ja) | 分散型ストリームベースのデータベーストリガ | |
CN101512488B (zh) | 在虚拟机环境中提供硬件虚拟化的***和方法 | |
US20200356415A1 (en) | Apparatus and method for depoying a machine learning inference as a service at edge systems | |
EP3811206A1 (en) | Network-accessible computing service for micro virtual machines | |
CN105027108B (zh) | 实例主机配置 | |
JP5118243B2 (ja) | 実行プログラムによる非ローカルブロックデータストレージへの信頼性の高いアクセスの実現 | |
US20100036850A1 (en) | Providing executing programs with reliable access to non-local block data storage | |
CN105308553B (zh) | 动态提供存储 | |
CN107924289A (zh) | 计算机***和访问控制方法 | |
US11263037B2 (en) | Virtual machine deployment | |
CN113064744A (zh) | 任务处理方法、装置、计算机可读介质及电子设备 | |
US9148430B2 (en) | Method of managing usage rights in a share group of servers | |
CN115129423A (zh) | 资源管理方法、装置、设备及存储介质 | |
CN107528871A (zh) | 存储***中的数据分析 | |
US11561824B2 (en) | Embedded persistent queue | |
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 | |
US20210067599A1 (en) | Cloud resource marketplace | |
CN108153484A (zh) | 一种虚拟化环境下的共享式存储***及其管理方法 |
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 | ||
CP03 | Change of name, title or address |
Address after: California, USA Patentee after: Weirui LLC Country or region after: U.S.A. Address before: California, USA Patentee before: VMWARE, Inc. Country or region before: U.S.A. |
|
CP03 | Change of name, title or address |